# Streambaby - new streaming application



## kearygriffin

I wanted to let everyone know about a new streaming video application, StreamBaby:

you can find it at:
http://code.google.com/p/streambaby/

It is originally based off of tivostream, and has the following main features:

* Random access streaming of video files. Able to seek to anywhere in the video. Also removes need for qt-faststart.
* Attempts to work around the 1.1G limit for streaming videos on the TiVo. If you reach the 1.1G limit, the video you are watching will be paused and restarted with a fresh buffer at the position you were in before.
* Ability to FF/RWD to points in the video that have not been buffered yet. When outside of the buffer, a "preview" of the movie (low-quality static images) will appear, and when play is pressed the video stream will be repositioned to start streaming at that point (ala Netflix/TiVo)
* Realtime preview generation for most file formats. Others (mpeg in particular) use autogenerated thumbnail files.
* Ability to transcode and stream video that is not inherently TiVo compatible. Supports most wmv, avi, and mkv. Preview mode and random-positioning work with most transcoded files.
* Remembers your position in the video when you stop watching and automatically starts at that position next time you watch. Works even when exiting playing via the "TiVo" button.

Please let me know what you think, or if you have any bugs/suggestions, etc.

Also I just wanted to make sure I thanked moyekj here for his work on tivostream, as well as his efforts in testing/debugging/code suggestions on Streambaby. Thanks! Thanks also to Steve C who also helped with suggestions and testing. Their efforts have hopefully helped make Streambaby a better application.

(Apologies for the repost, it was mentioned this may be a better forum for the thread)

Keary


----------



## moyekj

Here's a direct link: streambaby
(Keary, you may be able to add a link in your signature already though I'm not sure if that will work yet either)

For any of you who are using video streaming application or tried one before and wasn'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 the transcoding of non-compatible videos with ffmpeg similar to how it's done in pyTivo.

Great job Keary!


----------



## westside_guy

Hi,

First, thanks for working on this! It's great that we have so many talented people willing to work on these projects, and sharing their work with us.

Second... I ran into a problem.  On Mac OS X 10.5.6, I get an error when I try to run streambaby.



Code:


$ ./streambaby
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)

Am I overlooking something obvious?


----------



## moyekj

westside_guy what version of Java Runtime Environment are you using? (java -version will tell you).
My guess is streambaby was compiled with java 1.6 and you are on an earlier version such as 1.5...

Keary, if it's possible you may want to re-compile with 1.5 to make it compatible for those using Macs as it seems they are a little behind on the java front.
(Then again there may be some code which is not 1.5 compatible so may not be possible).


----------



## windracer

Got it working standalone on my Ubuntu 8.10 server ... now to get it working through Galleon.

Nice work! I like your icons.  That preview feature during FF/RW is really slick.


----------



## kearygriffin

westside_guy--

Streambaby was indeed compiled using JDK1.6 and is set to require it. I haven't looked at support JDK1.5, but I will take a look in the next version to see if it is easy to do. (It may just be a compile time setting and I'm all set)

Also, you may be (probably are) the first person to give this a try on a Mac, so if you do get JDK1.6 installed and Streambaby running, I'd be very interested to hear how well (or not at all...) it works.

Keary


----------



## westside_guy

OS X has Java as part of its base install - and it's indeed at version 1.5 (1.5.0_16). I'll check to see how much of a pain it is to install 1.6...

Thanks guys.

*Addendum:* This is weird - OS X 10.5 actually _has_ java 1.6; it's just not the default. I had to set it up as the default via a soft link, but now things launch just fine.

I'll report back once I've had a chance to run it through its paces on OS X.


----------



## Yoav

Yay!

I'm installing Apple's (soon to be official?) version of 1.6. I'll tell you how it works out. But if you can get it to just work on 1.5, you'll make a lot of mac users happy. Java ships with the base OS, but the version it ships with is 1.5. Most of the 1.6 ports rely on X11 or other things. 

What I'm saying is since we mac users like the "install and run" option, a lot of people simply won't even try the app if it requires a bunch of external installs first...

The good news: It (seems to) run fine with java 1.6 on a mac. So far it seems to be working perfectly with the videos I've tried.. yay.

If it can be made to work under 1.5, would you mind it I include it as a streamer option for pyTivoX (thereby rendering the program name misleading -- oh well). That way people can configure it with a gui, and install it with one click...?


----------



## windracer

Ok, quick and dirty instructions for running streambaby though Galleon.

_Note:_ on my Linux server (Ubuntu), Galleon is installed under /usr/share/galleon. Substitute your own path where necessary.


extract streambaby under Galleon's hme folder (ex. /usr/share/galleon/hme/streambaby)
add the following line to your streambaby.ini file:
streambaby.dir=/usr/share/galleon/hme/streambaby

add the following line to launcher.txt in the hme directory: 
com.unwiredappeal.tivo.streambaby.StreamBabyStream

add the following line to wrapper.conf in the conf directory (be sure to use the next sequential classpath number (5 in my example below)):
wrapper.java.classpath.5=/usr/share/galleon/hme/streambaby/jbin/*.jar

Now start up Galleon! In log.txt you should see the app being published:



Code:


03:04:30,319  INFO [WrapperListener_start_runner] AppHost - MDNS: http://192.168.1.65:7288/streambaby/

And it should appear on the Music, Photos, & Showcases menu. Log events will be written to log.txt and wrapper.log.

Stream, baby, stream! 

_edit:_ just wanted to point out that in streambaby versions newer than v0.25 (when the MP4 splitting code changed) I ran into problems running it under Galleon. Using high bitrate streams would result in 0xffffff errors. As of November 2010, I no longer run streambaby under Galleon, but standalone, as the author intended. YMMV, however, depending on how your videos are encoded.


----------



## westside_guy

Hey, another potential issue. When I tried streaming some reasonably high quality h.264 mp4 and m4v files - which in tivostream would transfer at roughly 3x faster than needed to play in "real time" - they'd pause occasionally because the buffer couldn't load faster than the stream would be playing. I'm wondering if streambaby is (unnecessarily) transcoding this back to mpeg2 or something similar? Any way to tell?

The reason I'm asking about transcoding is this is exactly the behavior I see when I use pyTivo to transfer one of these files - and pyTivo is of course converting the file to mpeg2 on the fly.


----------



## fred2

I am not an expert at these things. But I don't believe it is working for me. Is this a standalone application or does it need Galleon or pytivo? I extracted the zip to c:\program files\tivostreambaby. Then clicked on the bat file. Something happened quickly (ffmeg install???). Clicked on the bat again but nothing.

It did not leave a window open. Win Vista Home Premium. Since I was at a dos prompt to use 'streambaby --help" I just ran the bat file and got the following message(s):

"c:\PROGRA~1\TIVOST~1>streambaby
Initializing...
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpSer
ver.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:
169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:
102)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:133)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:140)
error: Address already in use: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class
"

Any assistance appreciated.


----------



## Yoav

fred2 said:


> I am not an expert at these things. But I don't believe it is working for me.


It looks like you're already running something that is using that address/port combination. Check to make sure you have no other streamer running?


----------



## Yoav

More on 1.5:
So, I looked into compiling it under 1.5
I am getting a CRAPLOT of errors because there are methods specified with the @Override tag, but which are not actually overriding anything. If I manually remove the @Override, then it compiles, but I don't know what effect that will have on the 1.6 builds (do you HAVE to tell it you are overriding? or can it intelligently realize that and move along?)

example:


Code:


    [javac] /Users/yoav/Desktop/streambaby-0.17/main/src/com/unwiredappeal/tivo/streambaby/tests/SimpleTest.java:5: method does not override a method from its superclass
    [javac] 	@Override
    [javac]          ^
    [javac] /Users/yoav/Desktop/streambaby-0.17/main/src/com/unwiredappeal/tivo/utils/Log.java:108: method does not override a method from its superclass
    [javac] 		@Override
    [javac]                  ^


----------



## kearygriffin

fred2-- The issue you are having looks like you streambaby is trying to use the same HME port as another application.
To change the port streambaby uses, edit the streambaby.ini file and the change the line
port=7288
to use another port. So port=7289 for instance.

JDK1.5: I've made the changes necessary on my end to work with JDK1.5, and will upload a new version probably tomorrow night.
The problem with the @Overrides is 1.6 allows a @Override (and in fact eclipse automatically generates them) for interfaces, where 1.5 only allows them for classes.
I've also made a couple of other changes that may help Mac users who may not have ffmpeg installed. (So at least it will stream mp4/mpeg files without the preview mode)

westside_guy:
The easiest way to see if it transcoding is to turn off transcoding by editing the streambaby.ini file and adding the line
transcode.disable=true
and restart streambaby. This should disable all transcoding (so if it doesn't think it can stream the file, you will get an error instead of it getting trasncoding)

If transcoding doesn't seem to be the reason for the speed issue, I'd be curious to see what happens if you add the following line to streambaby.ini
mp4module.interleave=false
and restart streambaby. This may (probably will?) cause issues with random-positioning inside of MP4 files, but if it fixes the speed issue, it lets me know where to look to fix it.
(So when you use this option, make sure you select "Play from beginning", because seeking to where you left off may not work)

Thanks for the feedback, and hopefully we can get most of the issues sorted out.

Keary


----------



## westside_guy

kearygriffin said:


> westside_guy:
> The easiest way to see if it transcoding is to turn off transcoding by editing the streambaby.ini file and adding the line
> transcode.disable=true
> and restart streambaby. This should disable all transcoding (so if it doesn't think it can stream the file, you will get an error instead of it getting trasncoding)


Yup, streambaby is transcoding the files. When I disable transcoding per your instruction, streambaby reports "incompatible video stream" when I try to play one of my h.264/ac3 files (encoded with handbrake). FWIW I see the same error whether I use an .m4v extension or an .mp4 extension.

I turned off streambaby, and started tivostream to double-check - these files stream to the tivo and play just fine.


----------



## Yoav

Ok, hoping to make your life easier, so attaching two files

The first file is a patch that will fix everything EXCEPT the @Override to be compatible with 1.5 (there were a few uses of String.isEmpty, and ermm.. pop, and some other 1.6 stuff that can easily be replaced with 1.5 stuff...)

The second is a full diff that has all the Overrides removed, as well as the changes in the first diff. I don't know if using it keeps the code 1.6 compatible though.... So try it in a trashable location


----------



## moyekj

westside_guy said:


> Yup, streambaby is transcoding the files. When I disable transcoding per your instruction, streambaby reports "incompatible video stream" when I try to play one of my h.264/ac3 files (encoded with handbrake). FWIW I see the same error whether I use an .m4v extension or an .mp4 extension.
> 
> I turned off streambaby, and started tivostream to double-check - these files stream to the tivo and play just fine.


 That's odd. In my test area I have a few h.264/ac3 files with .mp4 extension that play fine through streambaby with transcode disabled. These were generated with ffmpeg though, not handbrake. I'll have to generate a short clip with handbrake to try out with streambaby. Could be that handbrake encoding is identifying streams a little differently than expected in streambaby though I can't explain why when transcode is disabled that it's still failing in streambaby but working in tivostream... Hopefully it's a simple mime header related issue.

EDIT: Just generated a quick handbrake encoding with H.264 & AC3 and then ran it through qt-faststart and I was able to stream both with tivostream & streambaby (with transcoding disabled). Here's the mediainfo dump of the encoding:
(P.S. ffmpeg encoding of the same is much better/smoother compared to Handbrake and I can preserve full 6 channel AC3 audio)


Code:


General
Complete name                    : C:\home\dvd\lost_qt.mp4
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 8.36 MiB
Duration                         : 29s 996ms
Overall bit rate                 : 2339 Kbps
Encoded date                     : UTC 2009-01-21 06:00:18
Tagged date                      : UTC 2009-01-21 06:03:30
Writing application              : HandBrake 0.9.3 2008112300

Video
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : Yes
Format settings, ReFrames        : 3 frames
Codec ID                         : avc1
Duration                         : 29s 996ms
Bit rate mode                    : Variable
Bit rate                         : 1946 Kbps
Nominal bit rate                 : 2000 Kbps
Width                            : 1276 pixels
Height                           : 716 pixels
Display aspect ratio             : 16/9
Frame rate mode                  : Variable
Frame rate                       : 59.875 fps
Minimum frame rate               : 29.963 fps
Maximum frame rate               : 60.000 fps
Original frame rate              : 59.940 fps
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.036
Stream size                      : 6.96 MiB (83&#37;)
Writing library                  : x264 core 65
Encoding settings                : cabac=1 / ref=2 / deblock=1:-2:-1 / analyse=0x1:0x131 / me=umh / subme=9 / psy_rd=1.0:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=600 / keyint_min=60 / scenecut=40(pre) / rc=abr / bitrate=2000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Encoded date                     : UTC 2009-01-21 06:00:18
Tagged date                      : UTC 2009-01-21 06:03:30

Audio
Format                           : ac-3
Codec ID                         : ac-3
Duration                         : 29s 984ms
Bit rate mode                    : Constant
Bit rate                         : 384 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 1.37 MiB (16%)
Encoded date                     : UTC 2009-01-21 06:00:18
Tagged date                      : UTC 2009-01-21 06:03:24


----------



## fred2

Yoav said:


> It looks like you're already running something that is using that address/port combination. Check to make sure you have no other streamer running?


Ah, like pyTivo???? 

Can I run them both or can I reasonably change the PORT address??

I can stop the pytivo service I guess to give this one a go....

Ah, more answers came. I will give this shot in the A.M.

Thanks


----------



## kearygriffin

westside_guy said:


> Yup, streambaby is transcoding the files. When I disable transcoding per your instruction, streambaby reports "incompatible video stream" when I try to play one of my h.264/ac3 files (encoded with handbrake). FWIW I see the same error whether I use an .m4v extension or an .mp4 extension..


It sounds like maybe streambaby is not parsing the correct video information from ffmpeg, so thinks it needs to transcode it. This is a Mac correct? It's possible the output of the mac version of ffmpeg is slightly different than I expect. If you could do the following it should shed some more light.

Edit simplelog.properties and change the first line to read:
com.unwiredappeal=debug

Then restart streambaby, browse to one of the mp4's that is giving you problems and try to play it. (Assuming you have transcode still turned off, it should give an error. that's OK). If you then quit streambaby and look in the streambaby.log file you should find a section that looks something like this:
01/21/09 24:29:24 FFmpegExeVideoModule: VideoInfo:
uri: file:/home/keary/videos/myfile.mp4, Container: mp4, Duration: 6136.13 seconds
Video: h264 848x352 23.976023976023978 fps
PixAspect: 1.0, Aspect: 2.409091
Audio: aac 48000HZ 2 channels

If you could let me know what the VideoInfo it is spitting out that would be great. If you could also let me know what
ffmpeg -i myfile.mp4
spits out, that would probably help also.

Here is a possible workaround for the time being, assuming streambaby is at least seeing that it is an MP4 (but maybe cant figure out the codecs...). Add the following line to streambaby.ini:
mp4mod.streamformats=mp4,*,*

This tells streambaby to attempt to stream all MP4 files, regardless of the audio/video codecs.

Thanks
Keary


----------



## kearygriffin

Yoav said:


> If it can be made to work under 1.5, would you mind it I include it as a streamer option for pyTivoX (thereby rendering the program name misleading -- oh well). That way people can configure it with a gui, and install it with one click...?


Sure, that sounds great! It may make sense to hold off for a version or two, especially since today is the first time it is ever being run a Mac. I'm sure there are going to issues to take care of.

I'm also guessing that streambaby is not going to load (even if they are available) the native ffmpeg libraries (as opposed to running the ffmpeg executable) on the Mac. This means streambaby will not be able to do real-time previewing. It will need to generate cache thumbnail files for the videos instead. (So when ffwding through a video you will not see thumbnails overlaid on the screen representing the position in the video, you will just see a time, until it finishes generating the cached thumbnail file)

Do you know if the avcodec, avformat, avutil, and swscale libraries for ffmpeg are installed with ffmpeg on the mac? And if so, what are their names?

Thanks also for the patches, much appreciated!


----------



## westside_guy

kearygriffin said:


> Then restart streambaby, browse to one of the mp4's that is giving you problems and try to play it. (Assuming you have transcode still turned off, it should give an error. that's OK). If you then quit streambaby and look in the streambaby.log file you should find a section that looks something like this:
> 01/21/09 24:29:24 FFmpegExeVideoModule: VideoInfo:
> uri: file:/home/keary/videos/myfile.mp4, Container: mp4, Duration: 6136.13 seconds
> Video: h264 848x352 23.976023976023978 fps
> PixAspect: 1.0, Aspect: 2.409091
> Audio: aac 48000HZ 2 channels
> 
> If you could let me know what the VideoInfo it is spitting out that would be great.


Here's what I get from streambaby.log:

01/20/09 22:51:39 FFmpegExeVideoModule: FFmpegCmd: /sw/bin/ffmpeg -i /Volumes/foo/bar/2-4 Stasis Leak.m4v
01/20/09 22:51:39 FFmpegExeVideoModule: VideoInfo:
uri: file:/Volumes/foo/bar/2-4%20Stasis%20Leak.m4v, Container: mp4, Duration: 1794.9 seconds
Video: h264 624x480 0.0 fps
PixAspect: 1.0, Aspect: 1.3
Audio: UNK 48000HZ 2 channels

It is probably worth mentioning that I ran handbrake with h.264/ac3 passthrough and "web optimized" checked - the latter lets me stream via tivostream without having to run qt-quickstart. I started doing that because qt-quickstart showed a predilection for corrupting some of my video files.



kearygriffin said:


> If you could let me know what the VideoInfo it is spitting out that would be great. If you could also let me know what
> ffmpeg -i myfile.mp4
> spits out, that would probably help also.


$ /sw/bin/ffmpeg -i 2-4\ Stasis\ Leak.m4v 
FFmpeg version UNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/sw --mandir=/sw/share/man --enable-shared --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-x11grab --enable-liba52 --enable-libamr-nb --enable-libfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-mmx --disable-iwmmxt --disable-altivec
libavutil version: 49.6.0
libavcodec version: 51.49.0
libavformat version: 52.2.0
built on Nov 16 2008 19:26:44, gcc: 4.0.1 (Apple Inc. build 5465)

Seems stream 0 codec frame rate differs from container frame rate: 48000.00 (48000/1) -> 29.97 (30000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2-4 Stasis Leak.m4v':
Duration: 00:29:54.9, start: 0.000000, bitrate: 2696 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 624x480 [PAR 0:1 DAR 0:1], 29.97 tb(r)
Stream #0.1(eng): Audio: liba52, 48000 Hz, stereo
Stream #0.2(eng): Data: text / 0x74786574
Must supply at least one output file
$


----------



## kearygriffin

westside_guy said:


> $ /sw/bin/ffmpeg -i 2-4\ Stasis\ Leak.m4v
> ...
> ...
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2-4 Stasis Leak.m4v':
> Duration: 00:29:54.9, start: 0.000000, bitrate: 2696 kb/s
> Stream #0.0(eng): Video: h264, yuv420p, 624x480 [PAR 0:1 DAR 0:1], 29.97 tb(r)
> Stream #0.1(eng): Audio: liba52, 48000 Hz, stereo
> Stream #0.2(eng): Data: text / 0x74786574
> Must supply at least one output file
> $


Thanks westside_guy, that does the trick-- I don't currently recognize liba52 as a synonym for ac3. I'll make the change and upload a new version with the rest of the fixes from this thread tomorrow night.

And the workaround mentioned in my previous post (actually we can make it a little more specific):
mp4mod.streamformats=mp4,h264,*

Should work fine in this case-- The only side effect would be if you happen to have an mp4 with h264 video and something other than aac/ac3 audio streambaby will try to stream it to the tivo (instead of transcoding it, which it should)


----------



## westside_guy

Thanks much, Keary, but... GET SOME SLEEP!! 

This is very cool, and I look forward to seeing your updates - just don't burn yourself out.


----------



## Yoav

kearygriffin said:


> Do you know if the avcodec, avformat, avutil, and swscale libraries for ffmpeg are installed with ffmpeg on the mac? And if so, what are their names?


They are not installed on a mac. In fact, ffmpeg doesn't come with a mac (which is why I created the pyTivoX package.. so people wouldn't have to deal with that kind of stuff) -- there's a static ffmpeg in there.

I can compile the shared libs seperately and put them in the distribution if that will make things 'act nicer'... I'm actually toying with a local build of pyTivoX that now uses both methods (pytivo and streambaby). So far so good.. and there's a gui for adding directories.. I'll probably put it up as a beta once it flows a bit better.. and will update the streambaby in there when you have updates...


----------



## westside_guy

kearygriffin said:


> Do you know if the avcodec, avformat, avutil, and swscale libraries for ffmpeg are installed with ffmpeg on the mac? And if so, what are their names?


I know this was a question for Yoav; but I can tell you their location is going to depend on the method used for installation. People who installed ffmpeg via fink (like I did) will have those libraries in /sw/lib - in fink's case they're currently called:

/sw/lib/libavcodec.51.49.0.dylib
/sw/lib/libavformat.52.2.0.dylib
/sw/lib/libavutil.49.6.0.dylib
/sw/lib/libswscale.0.5.0.dylib

Other folks may have installed via MacPorts, which I believe puts things somewhere under /opt.

And of course if one builds it oneself (blech) it's probably under /usr/local.

Yoav's pyTivoX pre-packages ffmpeg, so he controls where everything ends up in that case...

*addendum:* I see Yoav answered while I was typing!


----------



## wmcbrine

Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page. (As I look at it now, tivostream doesn't have these either. Both apps should, though.)

I also can't get it to actually play anything -- .mpg and .vob files just sit on a grey screen, everything else (including .mp4) says "Incompatible video stream". No error messages on the console or in the log, except "StreamBabyStream[#1,uri=null] warning: resource 2057 not found.", which appears (twice) on opening the app. This is in Ubuntu 8.10 AMD64, working ffmpeg in /usr/bin/, working tivostream. I tried the OpenJDK first, then Sun Java 6, with no change.


----------



## fred2

First the thanks - changing the port number allowed it to run.

But, I see NOTHING on my Tivo showing it running.

The log is simple:

"01/20/09 21:57:35 Listener: added factory
01/20/09 21:57:35 Main: streambaby ready & listening."

And another question. Probably based on linux origins but should directory/folders be specified with the slash or backslash?

i.e.

#dir.1=D:\Videos
#dir.1.name=Streambaby videos
#dir.2=D:/Videos
#dir.2.name=Stream External Drive

Oh. looking at my INI file I see I have left the comment in for ip address:

# Ip address to bind to 
#ip=192.168.1.37

I gather I need to change that to something meaningful (g)

Oh, wait, I guess my DIR statements are also still COMMENTS with the # sign!!!! (yikes, I should know, at least, a little better than that!)

Thanks for any additional assistance.


----------



## moyekj

fred2 said:


> And another question. Probably based on linux origins but should directory/folders be specified with the slash or backslash?


 On Windows you can use either way, and as you realized you have to take the leading # comment character away from any setting you want to apply.

Question: After you start streambaby then on your Tivo you are looking under Music, Photos & Showcases for the application right?

To get more debugging info edit simplelog.properties and comment out com.unwiredappeal=Warn and add this one below it:
com.unwiredappeal=Verbose
(Once you are done debugging set it back to Warn)
That generates a lot more messages that are also saved in streambaby.log for each session.

Then when you restart streambaby you should see information about which IP was used and also which port.


----------



## fred2

Actually, NO, I was wrongly looking in the "Now playing list" as I do for pytivo folders. I guess the hme stuff is different. 

So I did find Stream, Baby, Stream in Music, Photos. But when I selected an item I got a Please Wait over a gray screen. I will check my firewall and see what's what.

But thanks for the help. Maybe my questions will help others less experienced in this stuff.


----------



## windracer

fred2 said:


> But when I selected an item I got a Please Wait over a gray screen.


In my experience last night, you get the gray screen/please wait while streambaby is filling up the initial buffer. Then it switches to black for a bit, and then the video starts playing.

It would be cool if we could get an HME app like streambaby to appear in the Now Playing List. It makes more sense, logically, to have it there. I think that's a limitation of HME vs HMO though.


----------



## westside_guy

windracer said:


> In my experience last night, you get the gray screen/please wait while streambaby is filling up the initial buffer. Then it switches to black for a bit, and then the video starts playing.


Also note that it may take longer to do this initial fill, since streambaby may be transcoding the video. So at the moment you can't compare the time it takes for streambaby to start with, say, what it takes for tivostream to start.


----------



## fred2

Gray screen pause was due to firewall, running upstairs to check, I approved the Java.... and I can now hear Harry Potter on the downstairs' TV-tivo.

One more fascinating application.

Thanks for sharing it, author

And thanks for helping me out - others..........


----------



## windracer

wmcbrine said:


> Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page.


There are arrows on the left-hand side, though.


----------



## moyekj

wmcbrine said:


> Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page. (As I look at it now, tivostream doesn't have these either. Both apps should, though.)


 As windracer indicated in streambaby the left side has vertical arrows indicating if there are list items above/below/both. tivostream I will no longer be updating as this app trumps it by far.


----------



## wmcbrine

The arrows on the left side (nice match for the native menus there, BTW) only indicate if the selection bar can be moved. They don't substitute for the right-side arrows (also found in the native menus, but not in these apps), which tell you if page up/down will be fruitful.

You might miss these in the native menus, because they're a bit understated in the new theme. They used to be more prominent. But they're still there, and still important.

And I can't agree that it trumps tivostreamer, since tivostreamer works for me and this, so far, doesn't. Of course I always thought HME/VLC trumped tivostreamer... can't compare it to this yet.


----------



## kearygriffin

wmcbrine said:


> Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page. (As I look at it now, tivostream doesn't have these either. Both apps should, though.)


Yup, your right. I'll add this in the next version. As others have pointed out it does have arrows on the left indicating there are more above/below but I will also add the right side arrows indicating there are more on pages above/below.

Which of course will do you absolutely no good, seeing as...


wmcbrine said:


> I also can't get it to actually play anything -- .mpg and .vob files just sit on a grey screen, everything else (including .mp4) says "Incompatible video stream". No error messages on the console or in the log, except "StreamBabyStream[#1,uri=null] warning: resource 2057 not found.", which appears (twice) on opening the app. This is in Ubuntu 8.10 AMD64, working ffmpeg in /usr/bin/, working tivostream. I tried the OpenJDK first, then Sun Java 6, with no change.


My devel is system is ubnutu 8.04 AMD64, but I'm upgrading as we speak to 8.10 to see if it makes a difference. (It's something I have been thinking about doing for a while, and this seems like as good an excuse as any).
Are you running the default ffmpeg that installs with ubuntu or another version you compiled or installed from 3rd party repository? Shouldn't make a difference either way as I have run with a bunch of different ffmpegs.

Probably best thing to do is edit the simplelog.properties and change the first line to read:
com.unwiredappeal=verbose

It may also make sense to disable preview mode temporarily to see if that helps anything. Edit the streambaby.ini file and add
preview.disable=1

And to turn on some extra debugging (specifically ffmpeg's stderr), run streambaby with:
java -Dstreambaby.debug=1 -jar jbin/streambaby.jar
Try to play an mp4 (which I believe you say gives you an incompatible error) and then an mpg/vob. If you could then send me the streambaby.log file that would be great. Not sure what the correct way of getting me a log file is, but e-mail address is my username and I use gmail.com.

Sorry to ask you to jump through all these hoops to help with the debugging, I'm just not sure what is happening yet.


----------



## kearygriffin

westside_guy said:


> ... will have those libraries in /sw/lib - in fink's case they're currently called:
> 
> /sw/lib/libavcodec.51.49.0.dylib
> /sw/lib/libavformat.52.2.0.dylib
> /sw/lib/libavutil.49.6.0.dylib
> /sw/lib/libswscale.0.5.0.dylib


Hmm.. I actually don't think streambaby is going to like those libraries, as it expects libavcodec and libavformat to be the same version (either both 51, or both 52). Not sure what happens otherwise...



Yoav said:


> ...I can compile the shared libs seperately and put them in the distribution if that will make things 'act nicer'... .


If we could try out compiling the mac native libraries, and seeing if they work, that would be great. If they do I can add them to the main dist. To try it out, compile ffmpeg and the shared libraries and stick them in the native directory of streambaby.

Edit streambaby.ini and set:
ffmpeg.path=native/ffmpeg
preview.autogenerate=false
transcode.disable=true

And also edit simplelog.properties, and change the first line:
com.unwiredappeal=verbose

and then make sure you delete everything in the cache directory.

Then re-run streambaby and try to stream an MP4 file (not an MPG). Because autogenerate is turned off any "thumbnails" you see will be real-time thumbnails and not from a generated cache file. While watching the MP4 try to FF (or sometimes rewind is easier, jump to 30 minutes then start rewinding) to a point outside the buffer. When the preview window pops up it should have thumbnail images of the movie. If it does, then the native libraries are working. If it just has the time the native libraries are not working.

You can also look in streambaby.log, and if the libraries are at least getting loaded you will see something like:
01/21/09 13:54:54 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/21/09 13:54:54 FFmpegJavaVideoModule: avUtilPath: /usr/lib64/libavutil.so.1d.49.3.0
01/21/09 13:54:54 FFmpegJavaVideoModule: avFormatPath: /usr/lib64/libavformat.so.1d.51.10.0
01/21/09 13:54:54 FFmpegJavaVideoModule: avCodecPath: /usr/lib64/libavcodec.so.1d.51.38.0
01/21/09 13:54:54 FFmpegJavaVideoModule: swScalePath: /usr/lib64/libswscale.so.1d.0.5.0

If they arent able to be loaded you will see "FFmpeg-java Module: NOT loaded" (or something to that affect)

Keary


----------



## moyekj

Keary, one suggestion is to list what versions of ffmpeg you have tested with since especially on non-windows platforms where it picks it up from user path there can be a very wide range of versions in use. I suppose you could try and lock it down further by rejecting versions that are too old but that may be another can of worms. The other issue is for self-compiled versions certain components that you may be relying on may not be present as when compiling your own there are many things that can be enabled or disabled. Perhaps a link to the ffmpeg source with instructions on what config options should be used to compile your own could be a useful Wiki to add.


----------



## Iluvatar

Keary,

Is there a particular reason why you chose to use FFMPEG as a shared library instead of a static library? I would think that if you could just link to the static library you wouldnt have to worry about avcodec/util/format..etc versions.

As I am not able to check right now, is it possible to just drop my own precompiled statically linked FFMPEG into the native directory and have it work?


----------



## Yoav

Iluvatar said:


> Keary,
> 
> Is there a particular reason why you chose to use FFMPEG as a shared library instead of a static library? I would think that if you could just link to the static library you wouldnt have to worry about avcodec/util/format..etc versions.
> 
> As I am not able to check right now, is it possible to just drop my own precompiled statically linked FFMPEG into the native directory and have it work?


I believe that's because it's a java app. He can't 'build it static' with those libraries. The best he can do is to use java native to access libraries, which is what ffmpeg-java does (he's using ffmpeg-java to do the stuff).


----------



## kearygriffin

kearygriffin said:


> My devel is system is ubnutu 8.04 AMD64, but I'm upgrading as we speak to 8.10 to see if it makes a difference.


And just like that I can reproduce the problem ;-) I think I said in an earlier post that streambaby would probably have problems with libavformat-52 and libavcodec-51 (either both 51, or both 52 is what I count on). Of course this is not the case with ubuntu 8.10. There is also another small issue in that the aac gets reports as "mpeg4aac" which streambaby doesn't recognize. (it recognizes aac and mp4a as synonyms for aac)

Not sure how long it will take to fix, but seeing as I currently can't run streambaby on my own computer, you can imagine I'll be working on it...

As far as the suggestion about recommending various versions of ffmpeg, I'm not sure how easy that would on Linux. As far as I understand FFmpeg doesn't really have releases (just subversion dates/tags) so specifying particular revisions is difficult, as almost every distribution is going to have a different rev.

But right now I need to figure out why firefox-3 hangs after my upgrade to 8.10 whenever I go to almost any web pages now. (I had to switch to firefox-2 to post this)

Keary


----------



## kearygriffin

Yoav said:


> I believe that's because it's a java app. He can't 'build it static' with those libraries. The best he can do is to use java native to access libraries, which is what ffmpeg-java does (he's using ffmpeg-java to do the stuff).


This is correct-- The other alternative would be to write my own C wrapper, exposing the functions I need, that statically links with FFmpeg, and then use JNA/JNI to call my own C language wrapper.

I'd rather stay away from this as I would need to compile win32, linux32, linux64, and mac versions of the wrapper for distribution.

I think after the initial flurry of problems are taken care of streambaby should work with most ffmpeg versions. My one concern at this point from what people have reported is that ffmpeg is not consistent in how it reports codec names. (mp4a, aac, mpeg4aac for instance all seem to be synonyms for aac, and liba52 and ac3 are synonyms for ac3). I'll have to see if there is a better way for me to handle this. (There may be better ways for me to check the codec...)


----------



## milkrun

pyTivoX is great, thank you for this tool.

Please make a StreamBabyX for us Mac idiots that need extra hand holding.

Thanks again.


----------



## Yoav

milkrun said:


> pyTivoX is great, thank you for this tool.
> 
> Please make a StreamBabyX for us Mac idiots that need extra hand holding.
> 
> Thanks again.


Hmm.. *IF* you're ok with trying out beta-level software, go to the pytivox download page at http://code.google.com/p/pytivox/downloads/list and download the latest beta (1.1b2). This has the 0.17 streambaby in there, and you can choose to use pytivo, streambaby, or both. Keep in mind you can only stream to a tivo 3 / HD.

Tell me if things seem broken (I'll try and figure out if it's a bug in pytivox or streambaby, and if so, forward it up the chain).


----------



## Yoav

Ah I should have mentioned: After hacking it to compile under 10.5 (patches above), putting ffmpeg and the shared libs, and hacking pyTivoX to auto-generate the correct streambaby.ini file, it looks like everything is working really smoothly so far.

So great job! And thank you to EVERYONE who figured out how to stream too...!!


----------



## windracer

kearygriffin said:


> I think I said in an earlier post that streambaby would probably have problems with libavformat-52 and libavcodec-51 (either both 51, or both 52 is what I count on). Of course this is not the case with ubuntu 8.10.


I'm not having a problem with streambaby on Ubtuntu 8.10, but I'm running 32-bit with my own compiled ffmpeg that I use with pyTivo.



Code:


FFmpeg version SVN-r15665, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --prefix=/usr --enable-gpl --enable-postproc --enable-libvorbis --enable-libtheora --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-pthreads --enable-libx264 --disable-ffplay --disable-ffserver --enable-libxvid
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 0. 0 / 52. 0. 0
  libavformat   52.22. 1 / 52.22. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct 22 2008 12:21:33, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)

Ah, and I see I have 52 for both, which is why it's working ...


----------



## jtkohl

westside_guy said:


> *Addendum:* This is weird - OS X 10.5 actually _has_ java 1.6; it's just not the default. I had to set it up as the default via a soft link, but now things launch just fine.
> 
> I'll report back once I've had a chance to run it through its paces on OS X.


Everything I've read says that Java 6 for OSX only runs on 64-bit intel hardware. It is not supported or available for OSX on 32-bit Intel hardware or PPC hardware.

Too bad, that cuts out a bunch of people from being able to use Java-6 dependent applications


----------



## kearygriffin

I just put a new version 0.18 up:
http://code.google.com/p/streambaby/

This version should fix most of the issues talked about so far in this thread (I believe, hopefully I didn't miss anything).
It should work well now on Ubuntu 8.10 and other installations with libavformat=52 and libavcodec=51.

Good luck!

Here is the changelist:

===V0.18===
* Patched to compile under JDK1.5, and marked as JDK1.5 compatible
* Added ability to gather video information (length/type/etc) without ffmpeg, enabling running without ffmpeg installed (but minus some features)
* Ignore files/directories that begin with a dot (.)
* Added liba52 as synonym for AC3, mpeg4aac as synonym for AAC in ffmpegexe module
* Added hints for the list, so you can visually see if there are more entries than fit on the screen
* Advance key moves back and from bottom to top of list in selection view
* Fixed issue with ffmpeg native integration where libavcodec was V51, and libavformat was V52 (used to assume major versions would be equal)
* NOTE: FFmpeg revisions `r10939-r11109` (Nov 7 2007 - Nov 28 2007) will not work, and will also not report any errors. 
* Implement new codec detection code for ffmpegjava video module, should have less problems detecting which codecs are in use.


----------



## windracer

kearygriffin said:


> * Ignore files/directories that begin with a dot (.)


Works great, thanks for that! :up:


----------



## Yoav

Ok, just uploaded a new beta pyTivoX with the new streambaby0.18

(fwiw, I'm generally using the svn/git versions of most of the tools.. should I be worried about incompatibilities -- or is this just for old things?)


----------



## Yoav

westside_guy said:


> *Addendum:* This is weird - OS X 10.5 actually _has_ java 1.6; it's just not the default. I had to set it up as the default via a soft link, but now things launch just fine.


I just noticed this posting.. oops I should have caught it earlier. No, 1.6 does not ship by default. You have to install it via the Apple Developer Connection. However, even/when you do, the way to select it is not via soft links. 
You should open up Applications/Utilities/Java/Java Preferences

and create a sorted ordering of what you want for browsers and for commandline invocations... Keep in mind that selecting a 64-bit applet java and then running a 32-bit browser will give you NO-END of problems.


----------



## Yoav

jtkohl said:


> Everything I've read says that Java 6 for OSX only runs on 64-bit intel hardware. It is not supported or available for OSX on 32-bit Intel hardware or PPC hardware.


Yeah it seems to be their plan so far to bail on old computers... weird..
btw.. on a completely unrelated note.. are you the same jtkohl from mit.edu?


----------



## kearygriffin

Yoav said:


> (fwiw, I'm generally using the svn/git versions of most of the tools.. should I be worried about incompatibilities -- or is this just for old things?)


I'm sure at some point a new version of ffmpeg will break streambaby ;-)
Definitely when they change the major version of one of the libraries. (avcodec/avformat/avutil/swscale)

There may be other things that pop up with newer versions of ffmpeg, but hopefully they will be infrequent. I'm sure I won't be able to keep ahead of them, but I can probably keep just behind.


----------



## Yoav

kearygriffin said:


> I'm sure at some point a new version of ffmpeg will break streambaby ;-)
> Definitely when they change the major version of one of the libraries. (avcodec/avformat/avutil/swscale)
> 
> There may be other things that pop up with newer versions of ffmpeg, but hopefully they will be infrequent. I'm sure I won't be able to keep ahead of them, but I can probably keep just behind.


Ok.. I'll give people a few days to find bugs and then I'll push out the next release of pyTivoX. (yay auto-update)


----------



## Sicklybutsexy

Hats off. Great program. I'm having trouble transcoding mkv files that are all avc format and DTS audio. Anyone know how to do this?


----------



## Yoav

Possible bug? I have a very short clip that's h.264 at 15 fps 320x480
ffmpeg -i reports:



Code:


YoavLaptopWired:~ yoav$ /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Users/yoav/Desktop/tivo/Toby.mp4
FFmpeg version SVN-r16536, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --arch=i386 --disable-vhook --disable-shared --enable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52.10. 0 / 52.10. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Jan 21 2009 14:36:57, gcc: 4.0.1 (Apple Inc. build 5484)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/yoav/Desktop/tivo/Toby.mp4':
  Duration: 00:00:18.91, start: 0.000000, bitrate: 654 kb/s
    Stream #0.0(eng): Audio: aac, 32000 Hz, stereo, s16
    Stream #0.1(eng): Video: h264, yuv420p, 320x240, 14.98 tb(r)

When I try to view it, I get an Error:0xffff, and see the following in the log:


Code:


 01/21/09 19:17:14 FFmpegExeVideoModule: FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Users/yoav/Desktop/tivo/Toby.mp4
01/21/09 19:17:14 FFmpegExeVideoModule: VideoInfo:
uri: file:/Users/yoav/Desktop/tivo/Toby.mp4, Container: mp4, Duration: 18.91 seconds
Video: h264 320x240 0.0 fps
  PixAspect: 1.0, Aspect: 1.3333334
Audio: aac 32000HZ 0 channels
01/21/09 19:17:14 HostContext: key=mpos:file:/Users/yoav/Desktop/tivo/Toby.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
........

 (note it is reporting it as 0 fps? is that the problem?)
and then


Code:


01/21/09 19:17:16 NamedStream: Registering named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 ZipGeneratingPreview$GenThread: Finished generating preview: /tmp/pyTivoCache/Toby.mp4-1546253.pvw
01/21/09 19:17:17 Listener: http=HttpRequest /streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 Listener: path=/streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream uri=/streambaby/
01/21/09 19:17:17 Listener: 
01/21/09 19:17:17 Listener: 192.168.0.34 69dda6ca-dda1-4a88-9c54-f594414f98df.stream HTTP GET - to factory /streambaby/
01/21/09 19:17:17 StreamBabyStream$StreamBabyStreamFactory: uri=69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 NamedStream: Getting mapped stream for named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:18 NamedStream: DeRegistering named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:18 Listener: 
01/21/09 19:17:18 Listener: 192.168.0.34 I/O Exception handling  HTTP GET 69dda6ca-dda1-4a88-9c54-f594414f98df.stream: Broken pipe
01/21/09 19:17:18 Listener: ctx=HttpRequest /streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream t=java.net.SocketException: Connection reset
01/21/09 19:17:20 ViewScreen: error=ERROR: 0xffff
Toby.mp4

(only cut the parts I thought might be useful.. I'll attach the full log here


----------



## kearygriffin

Yoav said:


> (note it is reporting it as 0 fps? is that the problem?)


Even though I should probably fix the parsing, that' probably not the issue. Streambaby only uses the container, codecs, width/height and aspect information. The rest (fps/audio channels/bitrates) for completeness but it doesn't currently get looked at. So fps=0, channels=0 won't make a difference.

Having said that, I'm not sure what the issue is. I have noticed occasionally the TiVo will get into a state when it doesn't feel like streaming anything at all and just returns 0xffff. (It's usually pretty easy to see when it get's into this state, because none of the streams will play). Giving the tivo a 30 minute "rest" usually makes it happy again.

If that's not the case and it is just this particular video (which is quite possible), and you are willing to upload it to me, I'll try to set somewhere up to collect videos that are problematic.

One other issue however that I noticed looking through the log file-- It looks like the native ffmpeg-java integration is not succesfully loaded. You should see a line like:
01/21/09 19:16:33 FFmpegJavaVideoModule: FFmpeg-JavaModule: Loaded
followed by the path's of the libavxxx files that were loaded, somewhere in the beginning of the log. (Somewhere before the line FFmpegExeVideoModule: FFMpegExeModule Loaded)

Everything will work like this, but you won't have real-time preview. Streambaby will be required to generate cached files before it is able to display the thumbnails during FF/rewind. (So if you are watching a video for the first time, it may take 5-10 minutes before thumbnails for the entire movie is generated. The next time, since it is cached, it will be immediate.)

It's quite conceivable that I need to do some special work to handle the OSX shared libraries. Looking at my code and the JNA code I think it is going to be looking for libraries with names like: libavcodec.dylib
If this is not the case (for instance there is some kind of version information in there somewhere like libavcodec-52.dylb), that could be the problem. Could you let me know what the libavxxxx and libswscale filenames look like? (And I am assuming they are in the native directory)

Thanks
Keary


----------



## Yoav

Ok, well the problem seems to only happen with that movie so far.. I'll try it again in a while and see if it improves.

It was giving me 'correct previews' as I fast forwarded beyond the downloaded things (it would print a timestamp on top of a VERY low-quality jpeg). This is almost immediately after running, so I don't think it would have had time to pre-generate all the images. but there are no ffmpegjava lines in the log

To answer the specific question, shared libs on mac are generally named something like
libyourmama.32.dylib
with a symlink from libyourmama.dylib

I configured streambaby.ini with


Code:


ffmpeg.path=/Applications/pyTivoX.app/Contents/Resources/ffmpeg
ffmpegjava.avutil=/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
ffmpegjava.avcodec=/Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
ffmpegjava.avformat=/Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
ffmpegjava.swscale=/Applications/pyTivoX.app/Contents/Resources/libswscale.dylib

 (each of those are correct values for existing files).

*however* depending on how the loader works, a mac might be 'more confusing' than normal, since libraries and applications are actually multi-platformed (each of those shared libs actually has files that will run on i386 macs and ppc macs). I believe 'dlopen' and friends 'do the right thing', but I don't know how ffmpeg-java tries to load those libraries...

* note:* I looked at the FFmpegJavaVideoModule.java class file, and it looks like it's either supposed to print that it loaded or that it didn't load. I don't see either printout, so I'm thinking maybe I don't have logging turned on right?


----------



## kearygriffin

Yoav said:


> * note:* I looked at the FFmpegJavaVideoModule.java class file, and it looks like it's either supposed to print that it loaded or that it didn't load. I don't see either printout, so I'm thinking maybe I don't have logging turned on right?


I was thinking the same thing when I initially looked at your log file, but then I took a better look at FFmpegJavaVideoModule and realized that if it can't load the library in the function getVideoModule() then initialize() will never end up being called and there will be no debug output about the failure. I actually changed this in my code for the next version.

I can also see in the log you sent the following line:


Code:


01/21/09 19:17:17 ZipGeneratingPreview$GenThread: Finished generating preview: /tmp/pyTivoCache/Toby.mp4-1546253.pvw

which you will only see if it is using cached thumbnails.

While testing the ffmpeg-java stuff, the easiest thing to do is to delete everything out of the cache directory (looks like /tmp/pyTivoCache in your case) and add the following line to streambaby.ini to tell it not to generate cached files:
preview.autogenerate=false

My guess is the low-quality jpegs will disappear and you'll just see the time over a black/grey background (can't remember which).

I think one thing you might try is removing the ffmpegjava.avutil=, ffmpegjava.avcodec=, etc lines from the streambaby.ini and adding the line:
lib.native=/Applications/pyTivoX.app/Contents/Resources/

I think in general that is probably the right way to go, with lib.native pointing to a directory and the other parameters referencing files within it. I'm not sure how well full paths work for the ffmpegjava.avxxxx parameters work. If it doesn't work with default values for ffmpegjava.avxxxx we can then try different formats for those. (but still just a relative filename based off of lib.native). But I do think the default for those should work. (For instance the default for libavcodec is "avcodec" which then get's passed to System.mapLibraryName which should return "libavcodec.jnilib", and when I looked at the JNA code, it will then try both libavcodec.jnilib and strip the extension and add .dylib to try libavcodec.dylib)

ffmpeg.path= looks good in your current configuration, as a full path there is a good thing. (and it is obviously finding it OK)

Sorry for the long winded (and technical) posts. I don't have access to any OSX systems, so if it's going to get working as well as possible on a Mac, this is the only way I can think of going about it... Getting out as much info as possible and hoping someone can get it going.

EDIT: I did just look again and if I read the jna code correctly, full paths should work also, so I am not that confident what I mention above will work.


----------



## Yoav

I tried using the lib.native instead, still the same issue.
Looks like macOS is now using dtrace instead of truss, and I'm having trouble tracking what dynamic libs it is trying to open... but so far it doesn't seem to be trying to open any file with a name that has *avutil* in it (unless I'm mis-invoking dtrace).

I'll see what I can find... it's gonna be a while..

*edit:* Ok I'm starting to get burned out here. I tried putting the libraries in /usr/local/lib, tried using the DYLD_* variables to force locations, etc. It really feels like the app is not even trying to load the libraries...
I'll try some more tomorrow. At worst I'll drop the shared libs from the distribution and just let it run with the ffmpegexe module....


----------



## wmcbrine

I don't think the TiVo can handle 15 fps. You might have to force it to be transcoded.


----------



## bzo

wow, this is nice. I liked tivostream, but the transcoding and positioning take it to the next level.

Should it be possible to transcode and play mjpeg avi files? I tried a few clips from my digital camera but I just get an stream failed message on the tivo and no error messages on the streambaby console or log.

Also, I got a couple of crashes when trying to play some wmv files with the JIT complaining about something. I have not be able to reproduce it since, but will capture the exception if I see it again.


----------



## ajayabb

Still can't get this to run on my desktop, yet was able to get it going on my laptop. When I run the application the window opens and closes quickly yet never scans video directory with ffmpeg as it did on my laptop. I checked my firewall and made sure the port was open(TCP Outgoing). In my task manager it shows StreamBaby is running. I have Java 1.6 on both computers. I am running Galleon and Pytivo on my desktop though and not on my laptop. Any ideas.


----------



## wmcbrine

kearygriffin said:


> I just put a new version 0.18 up:
> http://code.google.com/p/streambaby/


Works for me now. :up:

The play bar is noticeably off-center.


----------



## moyekj

ajayabb said:


> Still can't get this to run on my desktop, yet was able to get it going on my laptop. When I run the application the window opens and closes quickly yet never scans video directory with ffmpeg as it did on my laptop. I checked my firewall and made sure the port was open(TCP Outgoing). In my task manager it shows StreamBaby is running. I have Java 1.6 on both computers. I am running Galleon and Pytivo on my desktop though and not on my laptop. Any ideas.


 Edit streambaby.ini and change port from 7288 to something else as on your desktop that port is likely already in use. If still not running then start "cmd" window and start streambaby.bat script from there so you can see the error messages.


----------



## ajayabb

moyekj said:


> Edit streambaby.ini and change port from 7288 to something else as on your desktop that port is likely already in use. If still not running then start "cmd" window and start streambaby.bat script from there so you can see the error messages.


How should the script be typed in the command window?

TIA


----------



## windracer

At a DOS prompt from the directory you've installed streambaby to, just type streambaby.bat and press Enter.


----------



## kearygriffin

Yoav said:


> Ok I'm starting to get burned out here. I tried putting the libraries in /usr/local/lib, tried using the DYLD_* variables to force locations, etc. It really feels like the app is not even trying to load the libraries...
> I'll try some more tomorrow. At worst I'll drop the shared libs from the distribution and just let it run with the ffmpegexe module....


Thanks for all your efforts- If it makes sense and you are still willing it may make sense to hold off and get on IM at some point while your testing and I can make changes on the fly as necessary for debugging/trying new things etc. I'll also put together an initial version that dumps out lots more information about trying to load the libraries. Right now a lot of the exceptions are trapped, as not being able to load the native libraries is considered a normal (although not optimal) thing. It may help for me to dump the stack traces.

The other option you mention of just shipping with ffmpeg and forgetting about the native-libraries is also a very acceptable option.


----------



## kearygriffin

wmcbrine said:


> I don't think the TiVo can handle 15 fps. You might have to force it to be transcoded.


I'll have to add checking (after I fix the fact that streambaby often doesn't parse the fps correctly) to force streambaby to transcode videos with incompatible FPS. I haven't tested it, but I am guessing the tivo can basically handle all of the standard mpeg-2 frame rates(?)

One other currently incompatible video type that people might notice (the symptom is getting audio-only, no video) is MP4's marked as H264 Level 5.1. The tivo only supports upto level 4.1. I'm debating what to do about this, but my gut reaction tells me to just patch the moov header to lie to the TiVo and tell it is a Level 4.1 stream. My guess is that 99% of all H264 MP4 files that are marked as Level 5.1 really don't need to be.


----------



## Yoav

Question to any mac user who has tried streambaby:
Are you successfully loading the dynamic libs?

(I'm trying to figure out if/what I'm doing wrong)


----------



## westside_guy

Yoav said:


> Question to any mac user who has tried streambaby:
> Are you successfully loading the dynamic libs?


This may be a dumb question - what would be the symptoms if my streambaby was NOT loading the dynamic libs? Would it not run at all, or would there be some specific error/warning reported? I'm asking because, as far as I know, streambaby is working for me - but I'm mostly streaming mp4s that don't need transcoding.


----------



## Yoav

westside_guy said:


> This may be a dumb question - what would be the symptoms if my streambaby was NOT loading the dynamic libs? Would it not run at all, or would there be some specific error/warning reported? I'm asking because, as far as I know, streambaby is working for me - but I'm mostly streaming mp4s that don't need transcoding.


It would work fine (it would use ffmpeg the binary to generate the FF images), but if you enable the full logging you would see that it is not using the libraries.

To change the logging, edit the file 'simplelog.properties' in the streambaby directory, and change


Code:


com.unwiredappeal=Warn

to


Code:


com.unwiredappeal=debug

Then look at streambaby.log. In there it somewhere in the first twenty lines you should see "FFmpeg-Java module loaded"...


----------



## westside_guy

Yoav said:


> It would work fine (it would use ffmpeg the binary to generate the FF images), but if you enable the full logging you would see that it is not using the libraries.
> 
> ...
> 
> Then look at streambaby.log. In there it somewhere in the first twenty lines you should see "FFmpeg-Java module loaded"...


Okay, I've done this - and the libraries are not being loaded in my case either.

I assumed I needed to add the following lines to my config, so it knew where to find my fink libraries:



Code:


ffmpegjava.avutil=/sw/lib/libavutil.49.dylib
ffmpegjava.avcodec=/sw/lib/libavcodec.51.dylib
ffmpegjava.avformat=/sw/lib/libavformat.52.dylib
ffmpegjava.swscale=/sw/lib/libswscale.0.dylib


----------



## Yoav

yeah I think that's the intent. Ok so I guess it's time to go in and debug the code as opposed to my configuration/build of ffmpeg... Thanks


----------



## westside_guy

Once thing I've noticed with both tivostream and streambaby - for the first 10 seconds or so of a video I'll see either colored blocks or else pieces/entire scenes from a previous stream I'd been watching.

If I use pyTivo to view any of the videos, there are no problems at the beginning or anywhere else.


----------



## windracer

westside_guy said:


> Once thing I've noticed with both tivostream and streambaby - for the first 10 seconds or so of a video I'll see either colored blocks or else pieces/entire scenes from a previous stream I'd been watching.


I see the same thing ... almost like the stream isn't "all there" but eventually it all "fills in."


----------



## moyekj

westside_guy said:


> Once thing I've noticed with both tivostream and streambaby - for the first 10 seconds or so of a video I'll see either colored blocks or else pieces/entire scenes from a previous stream I'd been watching.
> 
> If I use pyTivo to view any of the videos, there are no problems at the beginning or anywhere else.


 That's only the case for .mp4 files from what I've seen. I think the Tivo mp4 decoder hardware has it's own buffer that is not cleared out and still contains data from previous stream and that needs to empty out before it starts showing the new content properly. I could be wrong but this effects seems to be worse in 11.x versus 9.x software.


----------



## westside_guy

moyekj said:


> That's only the case for .mp4 files from what I've seen. I think the Tivo mp4 decoder hardware has it's own buffer that is not cleared out and still contains data from previous stream and that needs to empty out before it starts showing the new content properly. I could be wrong but this effects seems to be worse in 11.x versus 9.x software.


That would fit what I've seen - I hadn't noticed it with other streamed media (does that get transcoded to mpeg2 rather than mp4?), but most of my stuff is already mp4 so I see it a lot.

Windracer - glad to hear it's not just me!

So maybe we need the option to pad the beginning of every stream with ~ 10 seconds of black screen?


----------



## moyekj

pyTivo transcodes any non-mpeg2 to mpeg2 which is why you wouldn't see this issue with it.


----------



## westside_guy

moyekj said:


> pyTivo transcodes any non-mpeg2 to mpeg2 which is why you wouldn't see this issue with it.


Sorry I wasn't clear - what I meant was: Does streambaby (and tivostream) transcode non-mp4 materials to mpeg2 rather than mpeg4? I'm just wondering why, if the problem is at the Tivo end, we only see it if we're streaming mp4s.


----------



## moyekj

westside_guy said:


> Sorry I wasn't clear - what I meant was: Does streambaby (and tivostream) transcode non-mp4 materials to mpeg2 rather than mpeg4? I'm just wondering why, if the problem is at the Tivo end, we only see it if we're streaming mp4s.


 streambaby is set to transcode to mpeg2 anything that cannot be natively streamed to Tivo which is why you don't see the issue for those.


----------



## Yoav

Ok making progress.. I've been sticking a bunch of prints all over the place, and here's what I caught when it tried to load the libavutil:


Code:


getLibraryInstance1 : /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
catch getLibraryInstance2 : java.lang.UnsatisfiedLinkError: Unable to load library '/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib': dlopen(/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib, 1): Symbol not found: ___stderrp
  Referenced from: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
  Expected in: /Applications/pyTivoX.app/Contents/Resources/libavutil.dylib

So it looks like something needs to be dynamically loaded first... Will update more in a bit...
* edit: * Looks like that symbol is defined in libSystem.dylib..


----------



## milkrun

I will try the latest pyTivoX with streambaby and report on how idiot proof it is.
Thanks


----------



## ajayabb

windracer said:


> At a DOS prompt from the directory you've installed streambaby to, just type streambaby.bat and press Enter.


Microsoft Windows XP [Version 5.1.2600]
I get the following error when I try to run the logs

(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\AJAY>cd C:\Program Files\streambaby-0.18

C:\Program Files\streambaby-0.18>streambaby.bat
'java' is not recognized as an internal or external command,
operable program or batch file.

C:\Program Files\streambaby-0.18>


----------



## herbman

ajayabb said:


> Microsoft Windows XP [Version 5.1.2600]
> I get the following error when I try to run the logs
> 
> (C) Copyright 1985-2001 Microsoft Corp.
> 
> C:\Documents and Settings\AJAY>cd C:\Program Files\streambaby-0.18
> 
> C:\Program Files\streambaby-0.18>streambaby.bat
> 'java' is not recognized as an internal or external command,
> operable program or batch file.
> 
> C:\Program Files\streambaby-0.18>


You'll need to install the JRE. It can be downloaded at http://java.com


----------



## herbman

Hi, I'm trying your application out (albeit, under pyTivoX), and when I start the program it hangs on "Initializing..." for a few minutes and then prints this trace:
nitializing...
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:44)
at java.lang.StringBuffer.<init>(StringBuffer.java:92)
at java.net.URI.decode(URI.java:2743)
at java.net.URI.getPath(URI.java:1303)
at java.io.File.<init>(File.java:345)
at com.unwiredappeal.tivo.dir.DirEntry.<init>(DirEntry.java:39)
at com.unwiredappeal.tivo.dir.DirEntry.fillEntryList(DirEntry.java:142)
at com.unwiredappeal.tivo.dir.DirEntry.loadEntries(DirEntry.java:98)
at com.unwiredappeal.tivo.dir.DirEntry.getEntryList(DirEntry.java:83)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:52)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)
at com.unwiredappeal.tivo.streambaby.PreviewCacheUtils.recursiveFill(PreviewCacheUtils.java:93)

*Edit* I tried bumping up to -Xmx1024m but the same problem exists.. My movies folder has 2367 files (not necessarily all supported by streambaby), and there's also a symlink in there. Are either of these problems?


----------



## windracer

ajayabb said:


> 'java' is not recognized as an internal or external command,operable program or batch file.


Looks like you don't have java installed ... which is weird because aren't you also running Galleon?


----------



## ajayabb

windracer said:


> Looks like you don't have java installed ... which is weird because aren't you also running Galleon?


Yep


----------



## kearygriffin

herbman said:


> I tried bumping up to -Xmx1024m but the same problem exists.. My movies folder has 2367 files (not necessarily all supported by streambaby), and there's also a symlink in there. Are either of these problems?


The symlnik is probably the problem, as it looks like it is going into endless recursion trying to clean out the cache directory (which I actually thought was disabled by default, but I could be wrong)

Could you check your streambaby.ini file and see if you see a line:
autogenerate.delete=true

And if so, setting it false should work-around problem.


----------



## kearygriffin

windracer said:


> Looks like you don't have java installed ... which is weird because aren't you also running Galleon?


Galleon is probably smarter. Streambaby just assumes the java command is on the path. This was fine for my testing for Vista, but maybe it's not true for some (most?) versions of windows?


----------



## Yoav

kearygriffin said:


> The symlnik is probably the problem, as it looks like it is going into endless recursion trying to clean out the cache directory (which I actually thought was disabled by default, but I could be wrong)
> 
> Could you check your streambaby.ini file and see if you see a line:
> autogenerate.delete=true
> 
> And if so, setting it false should work-around problem.


Oh that's probably my bad.. I set it to true by default assuming that it cleans up garbage... should it be set to false?


----------



## moyekj

windracer said:


> Looks like you don't have java installed ... which is weird because aren't you also running Galleon?


 It could be that java is installed but it's just not in his path. For that case you need to find where java.exe is installed and edit the streambaby.bat file to add the full path to java.exe OR fix your windows path to include java.


----------



## ajayabb

looks like my java.exe is in the following folder c:\I386. How do I edit this into the .bat file.


----------



## moyekj

ajayabb said:


> looks like my java.exe is in the following folder c:\I386. How do I edit this into the .bat file.


 Just edit streambaby.bat file with notepad or some other editor and change java to c:\I386\java.exe
You also may want to check that it's the right version of java.
* Open a "cmd" window and type the following:
cd I386 <enter>
java -version <enter>

If it reports 1.5.x or later then it's fine.


----------



## windracer

ajayabb said:


> looks like my java.exe is in the following folder c:\I386.


That's a strange place for it. Usually C:\i386 is where PC manufacturers dump the Windows installation files (i.e., a copy of the CD).

I would recommend downloading a JRE from Sun and installing fresh, unless you're worried about it breaking Galleon. Have you looked at the Galleon startup script to see where it's getting java from?


----------



## kearygriffin

Yoav said:


> Oh that's probably my bad.. I set it to true by default assuming that it cleans up garbage... should it be set to false?


It does cleanup garbage, but because of they way I implemented the cache, it is difficult to look at the cached file and figure out if the original movie the cached file is for still exists. (The cached file is the movie name + file length + pvw extension, so it's impossible to tell which dir it came from). So instead of looking through the cache and then seeing if the movie exists, I do the opposite, going through all the videos.

I disabled it by default because for people with large collections of videos, it could take a long time (and it looks like recursive symlinks will cause issues also). People can then clean the cache manually by running:
streambaby --cleancache
(which will also break for recursive symlinks at the moment..)

So bottom line is, it's probably best for the moment to leave it disabled, until I come up with a more sane way to handle lots of videos and symlinks.


----------



## Yoav

kearygriffin said:


> So bottom line is, it's probably best for the moment to leave it disabled, until I come up with a more sane way to handle lots of videos and symlinks.


Sounds good (my only worry is that this is gonna be in pyTivoX, so your average user won't know to ever clean their cache...). On the plus side, I put the cache in tmp, so it will get cleaned for them after reboots at least...

Also, on the mac front. I seem to have made some progress.. Looks like the libraries were not built right in terms of dependencies.. I manually made some libs to check and things look good now, so rebuilding everything and will see how that works <crossing fingers>


----------



## Sicklybutsexy

I can't get any mkv to transfer. Doesn't matter what codec, container, etc...AVI's, mpeg, mp4 no problem.


----------



## herbman

kearygriffin said:


> The symlnik is probably the problem, as it looks like it is going into endless recursion trying to clean out the cache directory (which I actually thought was disabled by default, but I could be wrong)
> 
> Could you check your streambaby.ini file and see if you see a line:
> autogenerate.delete=true
> 
> And if so, setting it false should work-around problem.


It's working now, thanks. I was able to stream one video, but another gave me trouble. This log shows the troubled one first, and then a successful one.



Code:


01/22/09 21:47:07 Listener: added factory
01/22/09 21:47:07 Main: streambaby ready & listening.
01/22/09 21:47:19 Listener: 192.168.0.11 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=47
01/22/09 21:47:25 Factory: HME receiver connected
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
java.lang.ArrayIndexOutOfBoundsException: 41099
	at com.unwiredappeal.mediastreams.mp4.StreamableMP4.trak_write_index(StreamableMP4.java:1250)
	at com.unwiredappeal.mediastreams.mp4.StreamableMP4.moov_seek(StreamableMP4.java:2115)
	at com.unwiredappeal.mediastreams.mp4.StreamableMP4.processMP4Headers(StreamableMP4.java:415)
	at com.unwiredappeal.mediastreams.mp4.StreamableMP4.<init>(StreamableMP4.java:94)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.openStreamableVideo(MP4StreamingModule.java:164)
	at com.unwiredappeal.tivo.videomodule.VideoModuleHelper.openStreamableVideo(VideoModuleHelper.java:112)
	at com.unwiredappeal.tivo.videomodule.VideoModuleHelper.openVideo(VideoModuleHelper.java:203)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.finishGoto(ViewScreen.java:338)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.tick(ViewScreen.java:985)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
01/22/09 21:47:53 Listener: 192.168.0.11 642d7195-0bc4-4e32-9cde-13b07d7cdd49.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 2551 not found.
StreamBabyStream[#1,uri=null] warning: resource 2551 not found.
01/22/09 21:48:12 Listener: 192.168.0.11 I/O Exception handling  HTTP GET 642d7195-0bc4-4e32-9cde-13b07d7cdd49.stream: Broken pipe
01/22/09 21:48:21 Listener: connection to receiver closed
01/22/09 21:48:21 Factory: HME receiver disconnected
01/22/09 21:48:26 Listener: 192.168.0.11 icon.png HTTP GET - to factory /streambaby/

The one that didn't work was mp4, and the one that did was .avi. What can I run to post more info for you?


----------



## Sicklybutsexy

This is what I seem to get for any mkv file:

01/22/09 20:51:40 Listener: Unexpected error: java.lang.NumberFormatException: For input string: ""


----------



## kearygriffin

herbman said:


> It's working now, thanks. I was able to stream one video, but another gave me trouble. This log shows the troubled one first, and then a successful one.
> ..
> StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
> java.lang.ArrayIndexOutOfBoundsException: 41099
> ..
> The one that didn't work was mp4, and the one that did was .avi. What can I run to post more info for you?


This is a problem I have seen before with a couple of MP4 files. I actually have one that causes this issue, and plan on trying to decipher what causes it, but it may take some time-- I spent a while on it already and didn't really get anywhere yet. Sorry.



Sicklybutsexy said:


> This is what I seem to get for any mkv file:
> 01/22/09 20:51:40 Listener: Unexpected error: java.lang.NumberFormatException: For input string: ""


I think I know what this probably is. If I'm right, the next version should take care of it.


----------



## Yoav

Hmm.. Interesting. When I build the code myself, it loads the dynamic libraries fine.

When I use the precompiled distribution you have, it doesn't.

I guess for now I'll just manually build releases as they come.. I'm really not that java-clueful. The good news is it's working now. So uploading a new beta of pyTivoX.


----------



## cahoon

herbman said:


> It's working now, thanks. I was able to stream one video, but another gave me trouble. This log shows the troubled one first, and then a successful one.
> 
> 
> 
> Code:
> 
> 
> 01/22/09 21:47:07 Listener: added factory
> 01/22/09 21:47:07 Main: streambaby ready & listening.
> 01/22/09 21:47:19 Listener: 192.168.0.11 icon.png HTTP GET - to factory /streambaby/
> log after close : initContext version=47
> 01/22/09 21:47:25 Factory: HME receiver connected
> StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
> StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
> java.lang.ArrayIndexOutOfBoundsException: 41099
> at com.unwiredappeal.mediastreams.mp4.StreamableMP4.trak_write_index(StreamableMP4.java:1250)
> at com.unwiredappeal.mediastreams.mp4.StreamableMP4.moov_seek(StreamableMP4.java:2115)
> 
> The one that didn't work was mp4, and the one that did was .avi. What can I run to post more info for you?


I've run into this problem on a couple of mp4 files. Looks like there's an off-by-one error in trak_write_index method. I changed the code at line 1248 to use *end - 1* and at line 1252 to *end - 2*.



Code:


			for (s = start; s != end - 1; ++s) {
				long sample_count = 1;
				long sample_duration = trak.samples_[(int) (s + 1)].pts_
						- trak.samples_[(int) s].pts_;
				while (s != end - 2) {

There is a similar issue in the loop at line 1303 and 1306.


Code:


				for (s = start; s != end - 1; ++s) {
					long sample_count = 1;
					long sample_offset = trak.samples_[(int) s].cto_;
					while (s != end - 2) {

After those changes, it worked for me. I need to think about this a little to be 100% sure that it's the correct fix. I think the problem occurs when the sample count of the last stts or ctts entry is 1.

BTW, this is a fantastic app - great job!


----------



## westside_guy

Hey,

I was watching a .m4v file (h.264 mp4 w/ ac3 passthrough - 2500kbps framerate) that I'd ripped from DVD, and noticed that the sound was out of synch with the characters lip movements to varying degrees. I didn't think this had happened with tivostream, so I stopped streambaby, ran qt-faststart on the m4v file and then watched it via tivostream - no synch issues. Then, since this technically wasn't the same file as I'd first watched (cuz of qt-faststart), I went back to streambaby and watched it - again, there were synch issues for a good bit of the show.

I watched a second video with streambaby, and again noticed synch issues - sometimes things were in synch, but most of the time they were off by at least a small amount (and in places it was quite bad).

Any ideas?


----------



## kearygriffin

cahoon said:


> I've run into this problem on a couple of mp4 files. Looks like there's an off-by-one error in trak_write_index method. I changed the code at line 1248 to use *end - 1* and at line 1252 to *end - 2*.


Thanks Cahoon! I made the changes and tried some of my problematic MP4's and they seem to work great. I'll do some more testing, but I expect that I won't find any issues and will include this in the next release.

It's really nice to go to sleep worrying about trying to debug an issue, and wake up to find it solved!


----------



## kearygriffin

Yoav said:


> Hmm.. Interesting. When I build the code myself, it loads the dynamic libraries fine.


That really is strange (I think...) I really can't imagine why building a java app one the mac (or your machine in particular) as opposed to a linux build of a java app would make any difference for something like this. Are you still using the standard ant build.xml to build streambaby, or are you compiling it through some other environment and putting it together yourself?

One question-- In some of your earlier posts you were printing stack traces & debug information that it looks like you put into the code yourself, and you were still having an issue. I am assuming those builds were builds you made on your machine. Is there any difference between those test builds that didn't work and the new builds that seem to work?


----------



## cahoon

westside_guy said:


> Hey,
> 
> I was watching a .m4v file (h.264 mp4 w/ ac3 passthrough - 2500kbps framerate) that I'd ripped from DVD, and noticed that the sound was out of synch with the characters lip movements to varying degrees. I didn't think this had happened with tivostream, so I stopped streambaby, ran qt-faststart on the m4v file and then watched it via tivostream - no synch issues. Then, since this technically wasn't the same file as I'd first watched (cuz of qt-faststart), I went back to streambaby and watched it - again, there were synch issues for a good bit of the show.
> 
> I watched a second video with streambaby, and again noticed synch issues - sometimes things were in synch, but most of the time they were off by at least a small amount (and in places it was quite bad).
> 
> Any ideas?


Hmm, I'm wondering if adding mp4module.interleave=false to the config file will help.

I think that streambaby performs some processing on the mp4 file even when playing from the start. As part of the processing, streambaby re-interleaves the movie data. So, the file sent to Tivo from streambaby could be different than the file sent from tivostream. I'm guessing that after disabling the interleaving, the file sent by streambaby is the same as the original (and the same as the one sent by tivostream) when starting the movie from the beginning.


----------



## kearygriffin

westside_guy said:


> I watched a second video with streambaby, and again noticed synch issues - sometimes things were in synch, but most of the time they were off by at least a small amount (and in places it was quite bad).
> 
> Any ideas?


Were the sync issues there both when watching from the beginning of the video and when you jump/start from a position somewhere inside the video?

I don't have any ideas off the top of my head, but it could be the pseudo-streaming MP4 code (the movies get run through it even when starting from the beginning)

One thing that may be useful to try is to process the MP4 through the pseudo-streaming code and then try it in tivostream. This should tell us whether or not the pseudo-streaming code is responsible for the synch issues. You can run a movie through the pseudo-streaming code with the following command:
streambaby --test mp4copy src.mp4 dst.mp4 startposition

Where src.mp4 is the original mp4, dst.mp4 will be the video after it has been processed through the pseudo-streaming code, and startposition is a time in milliseconds to start the copy from. (so seconds*1000. 3000000 would be 50 minutes into the video for example)

If you then try to stream dst.mp4 through tivostream I'd be interested in the results.

EDIT: Just saw cahoon's message about the reinterleaving and thats definitely a possibility. Also note the mp4copy command from above always uses reinterleaving (so acts like mp4module.interleave=true, regardless of what it is set to) and doesn't adhere to the streambaby.ini interleave setting.

And just to give an explanation for why the reinterleaving is there, for some reason a lot of my MP4's were interleaved OK in the beginning of the file, but would drift as you got further into the movie. So after positioning to say 50 minutes into the movie, the first video sample might be right at the beginning of the file, but the first audio sample might be 45 megabytes after that. Tivo really didn't like this. (It was OK if you started from the beginning, I am assuming because it would have enough buffered to handle the 45 megabyte difference)


----------



## Yoav

kearygriffin said:


> That really is strange (I think...) I really can't imagine why building a java app one the mac (or your machine in particular) as opposed to a linux build of a java app would make any difference for something like this. Are you still using the standard ant build.xml to build streambaby, or are you compiling it through some other environment and putting it together yourself?
> 
> One question-- In some of your earlier posts you were printing stack traces & debug information that it looks like you put into the code yourself, and you were still having an issue. I am assuming those builds were builds you made on your machine. Is there any difference between those test builds that didn't work and the new builds that seem to work?


I build using ant, I did have to make one 'tiny' change to the custom-build.xml file that you had in ffmpeg-java (add


Code:


                               <pathelement location="build/classes"/>
                                <pathelement location="lib/jna.jar"/>
                                <pathelement location="../lib/bcel-5.2.jar"/>

to the classpath javac target (otherwise it wouldn't find a bunch of the classes it needed to build). No other changes from your source code.

Yes earlier I did make changes to the source code to print a bunch of debugging info (that was to the .17 code), which helped me track down a problem with the actual shared libraries I was using. But then I downloaded the clean source tree, rebuilt it, and watched it work. Yes I also found it strange.. but just in case I did something wrong, here's what I did:

1) download the .zip file you have. Open it up, edit streambaby.ini and simplelog.properties. Run streambaby -- wouldn't load the shared libs.
2) build it from the source (using ant in the toplevel). Copy the zip file that is generated in dist/, open it up, do the same edits to streambaby.ini and simplelog.properties. Run streambaby -- loaded the shared libs...

So yeah, seems odd to me too. for what it's worth, when I use dtrace to track what files it is trying to open, your version isn't even trying ANY file with libavutil in the name. it's almost like it's ignoring the preferences in streambaby.ini .. I dunno.. but I have a workaround, so for now don't worry about this behavior/bug...

Thanks for the program btw!


----------



## kearygriffin

Yoav said:


> So yeah, seems odd to me too. for what it's worth, when I use dtrace to track what files it is trying to open, your version isn't even trying ANY file with libavutil in the name. it's almost like it's ignoring the preferences in streambaby.ini .. I dunno.. but I have a workaround, so for now don't worry about this behavior/bug...
> 
> Thanks for the program btw!


No problem, and thanks for the all of the Mac work. It's really nice to have someone making builds available for Mac users-- I've actually tried to get the last open source darwin dist that Apple released going over the last couple of days so I could try to help out, but wasn't able to get it running under Virtualbox or qemu so eventually gave up.

As far as the builds go, it's possible I had some kind of problem in my build process. When you mentioned you had an issue with ffmpeg-java it occured to me that at some point in the last couple of days I had the same issue about the javac classpath, and it seemed a little strange to me since it started occuring all of a sudden for me without changing custom-build.xml. It's possible I had some kind of issue in my build process at some point, so if you don't mind trying one more time with my build next go-around (next version), that would be great. (Then I'll try to stop worrying about it... I can be a bit obsessive when it comes to unexplainable behavior, always afraid that even if it seems inconsequential it's masking some larger earth shattering problem ;-)


----------



## Yoav

kearygriffin said:


> As far as the builds go, it's possible I had some kind of problem in my build process. When you mentioned you had an issue with ffmpeg-java it occured to me that at some point in the last couple of days I had the same issue about the javac classpath, and it seemed a little strange to me since it started occuring all of a sudden for me without changing custom-build.xml. It's possible I had some kind of issue in my build process at some point, so if you don't mind trying one more time with my build next go-around (next version), that would be great. (Then I'll try to stop worrying about it... I can be a bit obsessive when it comes to unexplainable behavior, always afraid that even if it seems inconsequential it's masking some larger earth shattering problem ;-)


Sure.. glad to help... Just post when it's ready (or put up your code in svn or something ...)


----------



## westside_guy

kearygriffin said:


> Were the sync issues there both when watching from the beginning of the video and when you jump/start from a position somewhere inside the video?


I haven't done any jumping around, just watched from the start to the end - these were ~ 30 minute TV shows I'd ripped from one of my DVDs. I'll try out what you've said + cahoon's idea as soon as I get a chance.


----------



## cahoon

kearygriffin said:


> Thanks Cahoon! I made the changes and tried some of my problematic MP4's and they seem to work great. I'll do some more testing, but I expect that I won't find any issues and will include this in the next release.
> 
> It's really nice to go to sleep worrying about trying to debug an issue, and wake up to find it solved!


Well, unfortunately, the change isn't correct . It is going to take a little more effort to fix properly. I'll take another crack at it tonight.

There are two issues, I think. (1) dealing with the end condition, and (2) incrementing the sample count, which is incremented too often as is.

The problem is with the stts atom only. The old code for the ctts atom is correct.


----------



## cahoon

kearygriffin said:


> And just to give an explanation for why the reinterleaving is there, for some reason a lot of my MP4's were interleaved OK in the beginning of the file, but would drift as you got further into the movie. So after positioning to say 50 minutes into the movie, the first video sample might be right at the beginning of the file, but the first audio sample might be 45 megabytes after that. Tivo really didn't like this. (It was OK if you started from the beginning, I am assuming because it would have enough buffered to handle the 45 megabyte difference)


Interesting - I was wondering why the reinterleaving was performed. Thanks for the explanation.


----------



## westside_guy

kearygriffin said:


> One thing that may be useful to try is to process the MP4 through the pseudo-streaming code and then try it in tivostream. This should tell us whether or not the pseudo-streaming code is responsible for the synch issues. You can run a movie through the pseudo-streaming code with the following command:
> streambaby --test mp4copy src.mp4 dst.mp4 startposition
> 
> Where src.mp4 is the original mp4, dst.mp4 will be the video after it has been processed through the pseudo-streaming code, and startposition is a time in milliseconds to start the copy from. (so seconds*1000. 3000000 would be 50 minutes into the video for example)
> 
> If you then try to stream dst.mp4 through tivostream I'd be interested in the results.


Okay, when I did this and played the resulting file through tivostream, I got both green blocks during the first 10 seconds of video AND saw audio/video synch problems as the show progressed. Neither one is usually an issue with tivostream.



cahoon said:


> Hmm, I'm wondering if adding mp4module.interleave=false to the config file will help.


Funny thing - this didn't solve the audio/video sync problem; but it did solve the "green blocky video during the first 10 seconds of the show" issue I've been having with streambaby.


----------



## kearygriffin

cahoon said:


> Well, unfortunately, the change isn't correct . It is going to take a little more effort to fix properly. I'll take another crack at it tonight.
> 
> There are two issues, I think. (1) dealing with the end condition, and (2) incrementing the sample count, which is incremented too often as is.
> 
> The problem is with the stts atom only. The old code for the ctts atom is correct.


Thanks cahoon-- I think I found a relatively straight forward way to solve this (instead of calculating the sample_duration in the stts loop, I store the sample_duration in the samples_ array itself and use the stored value in the loop. I added code in trak_build_index to store the duration in the same loop that was calculating the pts_). However it looks to me like the sample count was getting calculated correctly, it was just the end case that was problematic.

Before I release a new version, I was wondering what your thought process was on why the sample count might be getting calculated incorrectly.

EDIT: I uploaded my latest src code bundle with the changes above to the streambaby web site, streambaby-0.19-src.zip. It should be available on the download tab, I did not move it to the front page yet (and also didn't upload a non-src build of it). I need to get SVN going at some point...


----------



## cahoon

kearygriffin said:


> Thanks cahoon-- I think I found a relatively straight forward way to solve this (instead of calculating the sample_duration in the stts loop, I store the sample_duration in the samples_ array itself and use the stored value in the loop. I added code in trak_build_index to store the duration in the same loop that was calculating the pts_). However it looks to me like the sample count was getting calculated correctly, it was just the end case that was problematic.


Great! I think that's the best way the fix this problem. Without adding that duration, it's a pain to fix the end case.



kearygriffin said:


> Before I release a new version, I was wondering what your thought process was on why the sample count might be getting calculated incorrectly.


It is really the 's' variable that gets incremented too often, so the new stts atom may contain fewer entries than it should. Sorry for the confusion.

The way the code was structured, every time an stts entry is written the 's' variable is incremented due to the outer loop. But, it's also incremented in the inner while loop (which is where the variable should be incremented). For example, when s=1 and control enters the inner while loop, the 'if' condition is always true the first time the while loop executes. That causes 's' to be incremented (s=2). On the next iteration of the while loop, let's say the break is executed. Then, the entry is written, and 's' is incremented again (s=3) for the outer for-loop. So, a sample is skipped potentially.

If there is only 1 entry in the stts, then it's not a problem.

EDIT: kearygriffin - your new code doesn't have the same problem because you use 's + 1' in the inner while loop as your if condition. In this case, the while loop may break immediately, so 's' won't be incremented.


----------



## kearygriffin

cahoon said:


> It is really the 's' variable that gets incremented too often, so the new stts atom may contain fewer entries than it should. Sorry for the confusion.
> ...
> So, a sample is skipped potentially.
> ...


I'm actually pretty sure that is OK. The inner loop is actually trying to reduce the number of entries in the table. All consecutive stts entries that have the same duration are "condensed" into a single entry in the table.

Really only one way to find out (well, not really, but..). I'm going push out V0.19 and see what happens.


----------



## kearygriffin

Just uploaded new streambaby V0.19

===V0.19===
* Added MKV to default list of extensions to scan
* Catch NumberFormatExceptions and return default values while trying to parse ffmpeg output
* cahoon/KG: Fix off-by-one issue (causing ArrayIndexOutOfbounds) in MP4 psuedo-streaming 
* Changed preview cache cleanup code to work faster/use less memory & deal with recursive symlinks
* Added additional debugging for loading of native ffmpeg libraries 
* Fixed bug where saved bookmark position ended up negative (caused Play/Replay screen to not have correct text positioning)
* TiVo doesn't seem to report correct duration for MP4's (always seems to report ~8secs less).
- Added code to work-around by using my own calculated duration if I receive RSRC_EVENT_COMPLETE from tivo and its duration is shorter than expected
- Still some weirdness around end of MP4s-- Shuttle bar will stop moving around 8 seconds before end...
* Fixed centering of shuttlebar -- Also made it wider while I was at it.

I think that should solve most of the problems reported so far-- The only exceptions being:
-- Audio sync issues w/MP4 videos
-- Possibly issues with green/random blocks at the beginning of MP4 videos

My guess is I am going to have to get my hands on one of the MP4's that exhibit these issues. I haven't seen any of these problems with the MP4's that I have.


----------



## cahoon

kearygriffin said:


> I'm actually pretty sure that is OK. The inner loop is actually trying to reduce the number of entries in the table. All consecutive stts entries that have the same duration are "condensed" into a single entry in the table.


I added an EDIT to my previous post while you posted this message. I just wanted to clarify.

I think your new code is correct, and increments the 's' variable correctly. In fact, it worked on a couple examples for me.

The inner loop is trying to condense the stts entries. The problem with the old code is that inner loop would always be executed at least once - the 'if' would be true on the first iteration, and then 's' and 'sample_count' would be incremented. In your new code, the 'if' in the inner loop correctly checks the next entry and can 'break', so that 's' and 'sample_count' would not be incremented. This is in the case where the sample_count for the entry is 1.


----------



## Sevenfeet

Just starting to play with this...

I think you forgot to compile for Java 1.5 with the .19 release. I'm getting errors trying to run under Java 1.5 on Solaris 10.


----------



## kearygriffin

Sevenfeet said:


> Just starting to play with this...
> 
> I think you forgot to compile for Java 1.5 with the .19 release. I'm getting errors trying to run under Java 1.5 on Solaris 10.


Thanks, your right... Let me see what I screwed up.


----------



## Sevenfeet

And for the record, Streambaby does work on Solaris 10 Sparc. I consider this to be a Java reference system.  

The default for my system is Java 1.5 although I could set the environment variables for 1.6 I suppose. But my main server system is a Mac Leopard Server (an ancient Powermac dual-450 Mhz). The Solaris machine is an Ultra 60 dual 450 Mhz (also old as Methusela). For some reason, I can't get Streambaby to work on the Mac under Galleon (tivostream did). I need to fiddle with it some more. I haven't tried Streambaby on the Mac in a standalone manner.

BTW, the reason some of us need Java 1.5 compatibility is that Apple only made Java 1.6 available for 64-bit Intel Macs. So anyone with 32-bit Intel or any PowerPC machines are stuck with 1.5.


----------



## kearygriffin

I think I fixed the Java 1.5 issue, and put up the new version 0.19a.

Yoav-- I'm not sure, but this very well may have been the issue with why your builds work with the native libraries and mine did not. I was looking at the custom-build.xml for ffmpeg-java, and I don't think ffmpeg-java ever got built for 1.5. It's possible that previous versions of streambaby where "catching" this exception and just not loading the native libraries. (Not 100% sure about this, but it's a better theory than I had before). If this is the case, I truly apologize for all of the debugging you've done over the last couple of days.


----------



## Yoav

kearygriffin said:


> I think I fixed the Java 1.5 issue, and put up the new version 0.19a.
> 
> Yoav-- I'm not sure, but this very well may have been the issue with why your builds work with the native libraries and mine did not. I was looking at the custom-build.xml for ffmpeg-java, and I don't think ffmpeg-java ever got built for 1.5. It's possible that previous versions of streambaby where "catching" this exception and just not loading the native libraries. (Not 100% sure about this, but it's a better theory than I had before). If this is the case, I truly apologize for all of the debugging you've done over the last couple of days.


Hey don't apologize. I know we're pushing you for releases really fast, and things slip.. that's why we're here to help test .

Anyways, I just built pyTivoX using your pre-built streambaby distribution, and it loads the dynamic libs. I'll upload the the beta in a bit... just gonna make sure it streams fine first 

* edit : * Ok the new pyTivoX is up. Hopefully everything is working smoothly.


----------



## Sevenfeet

Here's another 1.9a error...not sure if this is Unix specific or not.

$ ./streambaby
Initializing...
01/24/09 24:21:03 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
01/24/09 24:21:04 Listener: added factory
01/24/09 24:21:04 Main: streambaby ready & listening.


----------



## Yoav

Some quick questions:
I notice the transcode command specifies 2-channel for ffmpeg. Wouldn't 6-channel make more sense? (what happens to a movie that is 2-channel if it's transcoded into 6?). 

The default jpeg compression for the images is 10&#37;. At least on my tivo the ff images look barely discernible -- very blocky. What is the argument against raising it to say 30%? 50%? (is it cpu on host computer, or bandwidth to tivo that's the problem?).


----------



## Yoav

Sevenfeet said:


> Here's another 1.9a error...not sure if this is Unix specific or not.
> 
> $ ./streambaby
> Initializing...
> 01/24/09 24:21:03 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
> 01/24/09 24:21:04 Listener: added factory
> 01/24/09 24:21:04 Main: streambaby ready & listening.


I think that's a problem on your end (I just looked at mine again and it's definitely loading). Keep in mind that even if it fails to load the native libraries things will run fine.

Do you have libavutil.XX.so in /usr/lib? or /usr/local/lib or somewhere in your LD_LIBRARY_PATH? You say 'unix' but not which exact OS, so it's hard to be more specific... but it's looking for the four shared libs:
libavutil, libavformat, libavcodec, and libswscale
That error is printed if it can't find them or can't load them, do you know where they are on your system?


----------



## kearygriffin

Sevenfeet said:


> Here's another 1.9a error...not sure if this is Unix specific or not.
> 
> $ ./streambaby
> Initializing...
> 01/24/09 24:21:03 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
> 01/24/09 24:21:04 Listener: added factory
> 01/24/09 24:21:04 Main: streambaby ready & listening.


That's probably specific to Solaris-- It means it could not loaded the ffmpeg native libraries, and will spawn ffmpeg as a process instead. (You lose certain functionality in this case)

The error message never used to be shown (it was supposed to, but wasn't).

Do you know if you have libavcodec, libavformat, and libavutil (the shared library portion of ffmpeg) installed on your machine? If so it is supposed to load them, but I really don't know enough about Solaris to guide you much more... (or to even know if getting to them to load is going to be possible)


----------



## Sevenfeet

kearygriffin said:


> That's probably specific to Solaris-- It means it could not loaded the ffmpeg native libraries, and will spawn ffmpeg as a process instead. (You lose certain functionality in this case)
> 
> The error message never used to be shown (it was supposed to, but wasn't).
> 
> Do you know if you have libavcodec, libavformat, and libavutil (the shared library portion of ffmpeg) installed on your machine? If so it is supposed to load them, but I really don't know enough about Solaris to guide you much more... (or to even know if getting to them to load is going to be possible)


I don't have those libraries installed elsewhere. I remember it being mentioned on Linux so that should have been a red flag. Curiously, this error didn't appear on .18 which is what made me take notice.

I would think that streambaby would load them in Solaris if it could find the files in an available path. Question..if I run this on a Mac, where is it expecting to find these libraries?


----------



## Yoav

Sevenfeet said:


> I would think that streambaby would load them in Solaris if it could find the files in an available path. Question..if I run this on a Mac, where is it expecting to find these libraries?


It would only find it if the path was in the global shared library search path, or if you specifically told it where to find them.

As for the mac: it isn't expecting to find them anywhere. Macs don't ship with ffmpeg. You have to get ffmpeg using one of several ways: If you used darwinports/macports I believe it puts shared libs in /opt/local/lib. If you used fink it puts them in /sw/lib. IF you built it yourself it puts it in /usr/local/lib. If you're using pyTivoX, it's in /Applications/pyTivoX.app/Contents/Resources/ .


----------



## bzo

ok, I figured out why AVI files recorded from a digital camera were not working.

1) 8 bit pcm audio seems to be a common audio format for digital camera videos. Unfortunately 8 bit resampling is broken in ffmpeg right now, so conversion to ac3 fails. Changing the ffmpeg option to turn off audio with -an allows those videos to play.

2) Some were recorded at 15fps mjpeg, which ffmpeg says is invalid for conversion mpeg2. Changing the ffmpeg options to force 25fps or other valid rate makes them playable.


----------



## kearygriffin

Yoav said:


> Some quick questions:
> I notice the transcode command specifies 2-channel for ffmpeg. Wouldn't 6-channel make more sense? (what happens to a movie that is 2-channel if it's transcoded into 6?).
> 
> The default jpeg compression for the images is 10%. At least on my tivo the ff images look barely discernible -- very blocky. What is the argument against raising it to say 30%? 50%? (is it cpu on host computer, or bandwidth to tivo that's the problem?).


The answer to both of those questions is I don't know  I've definitely played with higher quality jpegs (20-30%) and didn't have any issues. It will make the cache files larger. I really was just trying to play it safe, and was mostly concerned about stressing the tivo. I'll probably leave the current default as it is for a while, but I'll change my personal INI to start using higher quality, and if others do the same and have no problems, I'll try to up it in the future.

As for the transcode, again, I was just playing it safe (and my rear speakers haven't been hooked up in a couple of years, so it made no difference to me) Again, I'll change my personal INI and play around and see what happens with various files.



bzo said:


> ok, I figured out why AVI files recorded from a digital camera were not working.
> 
> 1) 8 bit pcm audio seems to be a common audio format for digital camera videos. Unfortunately 8 bit resampling is broken in ffmpeg right now, so conversion to ac3 fails. Changing the ffmpeg option to turn off audio with -an allows those videos to play.
> 
> 2) Some were recorded at 15fps mjpeg, which ffmpeg says is invalid for conversion mpeg2. Changing the ffmpeg options to force 25fps or other valid rate makes them playable.


I forgot about the frame rate issue. I'll try to take care of that in the next version. Unless it becomes a huge isssue, probably won't do anything about the 8-bit pcm issue. I assume it will get fixed in ffmpeg at some point and it will start working again.


----------



## ajayabb

ajayabb said:


> Still can't get this to run on my desktop, yet was able to get it going on my laptop. When I run the application the window opens and closes quickly yet never scans video directory with ffmpeg as it did on my laptop. I checked my firewall and made sure the port was open(TCP Outgoing). In my task manager it shows StreamBaby is running. I have Java 1.6 on both computers. I am running Galleon and Pytivo on my desktop though and not on my laptop. Any ideas.


BTW The new update seems to have fixed my original problems. Awesome. Now to get it running through Galleon.


----------



## ajayabb

I noticed that my Game 5 World Series video doesnt show up. It is a .tivo file in HD and is 12GB


----------



## Yoav

ajayabb said:


> I noticed that my Game 5 World Series video doesnt show up. It is a .tivo file in HD and is 12GB


I didn't think streambaby can stream tivo files... (and unless tivo will accept a .tivo file streamed out, it shouldn't).

But if you want to try it anyways, you will need to add .tivo to the list of valid file extensions in streambaby.ini  (From the wiki): 


Code:


extensions= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf)


----------



## moyekj

ajayabb said:


> I noticed that my Game 5 World Series video doesnt show up. It is a .tivo file in HD and is 12GB


 It is possible to stream .tivo files natively as discovered by davidblackledge:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=416647
So Keary could add support for it (currently it's not there but I was able to add it easily to tivostream and could be easily added to streambaby).
However, the preview and random access to anywhere in the file are probably not possible to implement so you are better off decrypting to .mpg to get full functionality anyway.


----------



## dermanj

Please forgive me if this has already been addressed or if it's a stupid question. I have searched the forum and don't see anyone else mention this...

I just now downloaded and fired up streambaby, simply adding a directory location to the ini file -- no other changes. It seems to work great, except I'm not getting AC3 audio. Same content with pyTivo delivers AC3, but with streambaby, the audio is non-AC3.

Anyone know what I'm doing wrong?


----------



## ajayabb

Has anyone gotten this to run with Galleon and Windows. I tried windracer's suggestions but got an error on the tivo side


----------



## Yoav

dermanj said:


> Please forgive me if this has already been addressed or if it's a stupid question. I have searched the forum and don't see anyone else mention this...
> 
> I just now downloaded and fired up streambaby, simply adding a directory location to the ini file -- no other changes. It seems to work great, except I'm not getting AC3 audio. Same content with pyTivo delivers AC3, but with streambaby, the audio is non-AC3.
> 
> Anyone know what I'm doing wrong?


streambaby will stream your original data only if it decides that it's a fully valid stream that tivo will play (not sure what the details are). Otherwise, it launches ffmpeg and converts it to an mpeg-2 stream. Right now the default conversion uses a 2-channel encoding. The author is looking into changing it to a 6-channel encoding default as we speak .

Edit: I just looked at the default, and it's apparently using "-acodec ac3 -ac 2 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0", which sounds like it's ac-3 2-channel. What is your audio turning into?


----------



## moyekj

As documented you can alter the ffmpeg transcoding settings by adding ffmpegexe.transcode setting to streambaby.ini. Default setting is (as pointed out already):
ffmpegexe.transcode= -acodec ac3 -ac 2 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0
You can experiment to determine what settings you prefer. For example you can change it to -ac 6 to get 6 channel audio. I sometimes have to use the setting to add -aspect 16:9 for some of my wmv videos to get proper aspect ratio.


----------



## Yoav

hmm.. So I decided to try with the only mp4 file with an ac3 5.1 track I had, and indeed, my tivo is also playing it in stereo. Even if I try changing the ffmpeg to use 6-channel at 480kbps.

Guess a little more looking into it is called for.. time for logfiles again 

Edit: Oops. I was using an mp4 file with 5.1 aac audio, not 5.1 ac-3. But the same problem exists...

Update: This is related to the MP4Streaming module. If I transcode with ffmpeg, I'm getting 6-channel correctly, but for some reason the mp4 module is streaming 2-channel audio instead of 6 channel (and yes, the file has an ac-3 6 channel audio stream).

Here is something interesting from the log:


Code:


01/24/09 12:51:17 FFmpegExeVideoModule: FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Volumes/External Disk/movies
/Musicals/Mamma Mia!.mp4
01/24/09 12:51:17 FFmpegExeVideoModule: VideoInfo:
uri: file:/Volumes/External&#37;20Disk/movies/Musicals/Mamma%20Mia!.mp4, Container: mp4, Duration: 6518.1 seconds
Video: h264 1280x720 0.0 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: aac 48000HZ 0 channels

(note the 0 channels)


----------



## shoek

I can't seem to get the password feature to work on a directory... when I specify dir.1.password=roger,tomcat, the folder does not show in streambaby.
Any ideas?

Also, I don't always get sound from my DVD rip VOB files. I added the -ac 6 switch to the ffmpeg.transcode line and it appeared to work. Perhaps this should be the default?


----------



## bzo

kearygriffin said:


> I forgot about the frame rate issue. I'll try to take care of that in the next version. Unless it becomes a huge isssue, probably won't do anything about the 8-bit pcm issue. I assume it will get fixed in ffmpeg at some point and it will start working again.


great, I'm sure adjusting the frame rate will address a lot of stream compatibility issues. Would it be much trouble to detect the presence of 8 bit audio and simply turn it off in that case? Video with no audio sure beats a can't stream error msg 

I don't know what triggers it, but I have noticed several times that streambaby pegs all cpus at 100% and doesn't ramp down even after a couple of hours.

Lastly, I had the crash again. Happened after scrolling quickly through many pages through the screen, and selecting a wmv file to play:



Code:


01/23/09 23:23:57 Listener: added factory
01/23/09 23:23:57 Main: streambaby ready & listening.
01/24/09 10:02:31 Listener: 192.168.1.2 icon.png HTTP GET - to factory /stre
ambaby/
log after close : initContext version=47
01/24/09 10:02:39 Factory: HME receiver connected
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8dd0c5, pid=256, tid=3604
#
# Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86)

# Problematic frame:
# V  [jvm.dll+0xdd0c5]
#
# An error report file with more information is saved as:
# C:\Documents and Settings\mediaxp_user\Desktop\streambaby-0.19a\native\hs_err_
pid256.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#
Exited.
Press any key to continue . . .


----------



## Yoav

Looks like simply defaulting the command to use -ac 6 is a no go. If the input channels are more than 2 but not exactly 6 (like an older fim that uses 4-channel dolby), then ffmpeg will freak out and exit with an error: "Resampling with input channels greater than 2 unsupported."

* fix: * duh kind of obvious. Don't specify number of channels at all. Then it will use whatever the original source has. (i.e. drop the -ac 2, don't add -ac 6). So far working right....


----------



## lrhorer

kearygriffin said:


> * Attempts to work around the 1.1G limit for streaming videos on the TiVo. If you reach the 1.1G limit, the video you are watching will be paused and restarted with a fresh buffer at the position you were in before.


Hmm. No offense, and I am sure your application is otherwise quite a fine one, but I really don't want to have a program pause upwards of 18 times while watching it. The smallest programs I have are over 5 Gigs, and many are over 30 Gigs.


----------



## dermanj

Thanks to moyekj for the example/suggestion, I put this in my ini file:

ffmpegexe.transcode= -acodec ac3 -ac 6 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0

...(note the -ac 6 setting) and now I think I'm getting the kind of audio I want.


----------



## Yoav

lrhorer said:


> Hmm. No offense, and I am sure your application is otherwise quite a fine one, but I really don't want to have a program pause upwards of 18 times while watching it. The smallest programs I have are over 5 Gigs, and many are over 30 Gigs.


Wow, if that wasn't meant to be offensive, I don't know what is.

Dude, you don't like it. Don't use it. The pause-rebuffer thing is a workaround for the fact that the current tivo software will not allow a streaming buffer bigger than 1.1G. This is a workaround for larger files.
If you absolutely can't stand it, you can do one of three things:

1) Convince the tivo coders to increase the buffer in an upcoming release.
2) Use a non-streaming application like pytivo.
3) Make sure your movies are smaller when you encode.


----------



## moyekj

lrhorer said:


> Hmm. No offense, and I am sure your application is otherwise quite a fine one, but I really don't want to have a program pause upwards of 18 times while watching it. The smallest programs I have are over 5 Gigs, and many are over 30 Gigs.


 Then streaming is not for you (at least while this 1.1GB limitation exists). This is a step up compared to other HME streamers that simply can't play beyond the 1st buffer full point.
Short of help from Tivo at this point it's going to be hard to discover how to overcome this 1.1GB buffer limitation. Fairly sure there is a way since Netflix/Tivo is able to overcome it (perhaps by turning off buffering on Tivo completely).


----------



## Yoav

dermanj said:


> Thanks to moyekj for the example/suggestion, I put this in my ini file:
> 
> ffmpegexe.transcode= -acodec ac3 -ac 6 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0
> 
> ...(note the -ac 6 setting) and now I think I'm getting the kind of audio I want.


Drop the -ac 6 from that, or you will find some movies won't work (any movie that has more than 2 but not exactly 6 channels will break.. since I assume your system can easily play 4 channel, or 7.1 channel inputs, there's no reason to try and force everything to 6-channel). Without -ac 6, ffmpeg will just default to keeping whatever were the number of channels in your original movie


----------



## dermanj

Yoav said:


> Drop the -ac 6 from that, or you will find some movies won't work (any movie that has more than 2 but not exactly 6 channels will break.. since I assume your system can easily play 4 channel, or 7.1 channel inputs, there's no reason to try and force everything to 6-channel). Without -ac 6, ffmpeg will just default to keeping whatever were the number of channels in your original movie


Dropped the -ac param altogether, as suggested. Seems to be working great. Thanks Yoav.


----------



## abnersnell

First, I am a long time user of pyTivo, tivostream, kmttg, and now Streambaby. My wife, family, and I would like to thank krkeegan, moyekj, wmcbrine, wgw, and kearygriffin for all of their hard work on these programs. 

This is by no means a feature request, but I just want to know if it is technically possible for Streambaby to support metadata and the ability to read commercial cut marks while streaming without requiring the actual "cut" step.

Thanks again!

Abner

PS - Where can I donate?


----------



## moyekj

abnersnell said:


> This is by no means a feature request, but I just want to know if it is technically possible for Streambaby to support metadata and the ability to read commercial cut marks while streaming without requiring the actual "cut" step.


 metadata support is pretty easy, assuming you are simply talking about having the helper .txt file with same name as video file being streamed. tivostream already supported that (info included all that information) albeit the text display of information was very lousy - I never had much incentive to clean that up.
Similarly reading a helper ascii file with identified commercial cut points (such as comcut can produce for example) would be technically pretty easy to do as well. However I have yet to find a very precise automatic commercial detection program and prefer to cut out commercials myself with a video editor.


----------



## windracer

ajayabb said:


> Has anyone gotten this to run with Galleon and Windows. I tried windracer's suggestions but got an error on the tivo side


What error? Anything in the log.txt file when you try? The latest version (0.19a) is still working for me.


----------



## lrhorer

Yoav said:


> Wow, if that wasn't meant to be offensive, I don't know what is.


I did not flame anyone, use abusive language, or denigrate any aspect of the product except as it relates to its suitability for my needs. Even then I did not disparage the software for the fact, merely reported it in a calm, even tone.



Yoav said:


> Dude, you don't like it. Don't use it. The pause-rebuffer thing is a workaround for the fact that the current tivo software will not allow a streaming buffer bigger than 1.1G.


I am aware of that. I was aware of it with tivostream.



Yoav said:


> This is a workaround for larger files.


I am aware of that, as well. I never said it wasn't a valiant effort, or that the software coding left anything to be desired. We're working under an extremely severe limitation, here, and I applaud the effort to circumvent it.



Yoav said:


> If you absolutely can't stand it, you can do one of three things:
> 
> 1) Convince the tivo coders to increase the buffer in an upcoming release.


That's going to have to happen (or something with the same end result), one way or another, before streaming will be truly practical on the TiVo. That, or H.264 downloading needs to be enabled.



Yoav said:


> 2) Use a non-streaming application like pytivo.


I do just that. Currently, such applications cannot download H.264 content to the Tivo except by transcoding, which defeats half the reason for coding as H.264.



Yoav said:


> 3) Make sure your movies are smaller when you encode.


First of all, I don't encode them, so there's no way for me to make sure of anything. Secondly, there is no way a 3 hour, 20 Gig, high bandwidth 1080i HD movie can be re-encoded to below 1.1G with acceptable PQ, MPEG 4 or not. By re-coding to H.264, I might reasonably be able to manage 10 or 12G, but nowhere near 1.1G.


----------



## lrhorer

moyekj said:


> Then streaming is not for you (at least while this 1.1GB limitation exists).


Which I believe is precisely what I said in my post.



moyekj said:


> This is a step up compared to other HME streamers that simply can't play beyond the 1st buffer full point.


True. It's just not quite a large enough step for my needs.



moyekj said:


> Short of help from Tivo at this point it's going to be hard to discover how to overcome this 1.1GB buffer limitation. Fairly sure there is a way since Netflix/Tivo is able to overcome it (perhaps by turning off buffering on Tivo completely).


Also true. I have temporarily alleviated the storage crunch on my video server by installing more drives in the RAID array. At some point, however, I would like for storage efficiency to increase via the abilities of H.264 encoding. What's more, storage space is only half the battle. With MPEG 2 streams sometimes exceeding the capabilities of the TiVo to transfer from the server in real time, one is faced with either starting the transfer beforehand, or encountering pauses throughout the program.


----------



## bluehz

Thanks keary for this great implementation!

Windracer (howdy neighbor, I'm in Sarasota) - I was able to get streambaby running in Galleon using your instructions, and it shows up fine, but when I attempt to access the menu I get this error:

INFO [Acceptor] AppHost - Unexpected error: java.lang.IllegalAccessError: tried to access method com.tivo.hme.sdk.Application.setContext(Lcom/tivo/hme/interfaces/IContext;I)V from class com.tivo.hme.sdk.FactoryPlus​
Any ideas? Streambaby works fine when run outside Galleon.

BTW - this is under Ubuntu 8.0.4



windracer said:


> Ok, quick and dirty instructions for running streambaby though Galleon (this was on Ubuntu, so for Windows users YMMV):
> 
> - copy all the jar files from streambaby's jbin and lib directories to galleon's hme directory
> - copy the streambaby.ini file to galleon's bin directory and edit as you wish
> - add the following line to launcher.txt in the hme directory (it took me a while to figure this part out):
> 
> 
> Code:
> 
> 
> com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 
> Start up Galleon! In log.txt you should see the app be published:
> 
> 
> 
> Code:
> 
> 
> 03:04:30,319  INFO [WrapperListener_start_runner] AppHost - MDNS: http://192.168.1.65:7288/streambaby/
> 
> And it should appear on the Music, Photos, & Showcases menu.
> 
> Other log events should be written to log.txt as well.
> 
> keary ... very nice work! I like having the ability to change the app name in the menu (works) and specify passwords (haven't tried yet).
> 
> One small request: hide directories that start with a dot (or make this a configurable setting like the extension hide). My video library has .meta directories containing the meta information files for pyTiVo. I don't really need those to show up in streambaby's menus.
> 
> Man I wish streaming worked on the S2s.  This is really cool stuff ...


----------



## bluehz

Works great! MacBook 10.5.x was streaming MP4 output from iMovie with no problems. Although the framerate appeared to be a bit off.. could just be my eyes at this time of night.



Yoav said:


> Hmm.. *IF* you're ok with trying out beta-level software, go to the pytivox download page at http://code.google.com/p/pytivox/downloads/list and download the latest beta (1.1b2). This has the 0.17 streambaby in there, and you can choose to use pytivo, streambaby, or both. Keep in mind you can only stream to a tivo 3 / HD.
> 
> Tell me if things seem broken (I'll try and figure out if it's a bug in pytivox or streambaby, and if so, forward it up the chain).


----------



## windracer

Ah, to bluehz and ajayabb ... make sure you've added the following line to wrapper.conf (under Galleon's conf directory):



Code:


wrapper.java.classpath.4=/usr/share/galleon/hme/*.jar

(replacing /usr/share/galleon with the location of Galleon on your own machine). So the section near the top should look like this:



Code:


#JmDNS needs to be first, it replaces the older version in hme-host-sample-1.4.jar
wrapper.java.classpath.2=/usr/share/galleon/lib/jmdns-1.0.jar
wrapper.java.classpath.3=/usr/share/galleon/lib/*.jar
wrapper.java.classpath.4=/usr/share/galleon/hme/*.jar

I always forget I've added that. After doing that, restart Galleon. If that works for you two I'll update my instructions accordingly.


----------



## bluehz

That was it - thx! Works great now!



windracer said:


> Ah, to bluehz and ajayabb ... make sure you've added the following line to wrapper.conf (under Galleon's conf directory):
> 
> 
> 
> Code:
> 
> 
> wrapper.java.classpath.4=/usr/share/galleon/hme/*.jar
> 
> (replacing /usr/share/galleon with the location of Galleon on your own machine). So the section near the top should look like this:
> 
> 
> 
> Code:
> 
> 
> #JmDNS needs to be first, it replaces the older version in hme-host-sample-1.4.jar
> wrapper.java.classpath.2=/usr/share/galleon/lib/jmdns-1.0.jar
> wrapper.java.classpath.3=/usr/share/galleon/lib/*.jar
> wrapper.java.classpath.4=/usr/share/galleon/hme/*.jar
> 
> I always forget I've added that. After doing that, restart Galleon. If that works for you two I'll update my instructions accordingly.


----------



## windracer

Great! I've updated my original post with the new instruction.


----------



## abnersnell

moyekj said:


> Similarly reading a helper ascii file with identified commercial cut points (such as comcut can produce for example) would be technically pretty easy to do as well. However I have yet to find a very precise automatic commercial detection program and prefer to cut out commercials myself with a video editor.


Thanks for the info!

Would it be safe to assume that once the stream hit one of these commercial cut points that the "skip" would be instant as long as the next starting point was in the current buffer? I would expect to see the "please wait" if it was after the buffer point.

This probably wouldn't be so much of an issue because the "skip" wouldn't be so far ahead that the buffer wouldn't be there.

I used to have this functionality using a program called "GB-PVR". It is my understanding that it operated like you described, reading a file with cut points generated from comskip/comcut programs.

Thoughts?


----------



## Yoav

abnersnell said:


> Thanks for the info!
> 
> Would it be safe to assume that once the stream hit one of these commercial cut points that the "skip" would be instant as long as the next starting point was in the current buffer? I would expect to see the "please wait" if it was after the buffer point.
> 
> This probably wouldn't be so much of an issue because the "skip" wouldn't be so far ahead that the buffer wouldn't be there.
> 
> I used to have this functionality using a program called "GB-PVR". It is my understanding that it operated like you described, reading a file with cut points generated from comskip/comcut programs.
> 
> Thoughts?


 I *believe* you're gonna have to make the 'skip' happen on the streambaby side (so on the tivo, it would believe that this is just a normal movie -- its just what it gets is already cut up).. As it is reading the file, it is going to have to serve up the cut-up stream. I don't believe ffmpeg (the program that is currently used to re-encode movies) supports edit lists (mencoder does, but I think ffmpeg doesn't). I also think that the streaming program is supposed to indicate how long the movie is when queried, which gets a little messier if there are cut lists. Finally, simple cuts generally cause audio/video sync issues. So a bunch of re-encoding would probably have to be done...

Anyways, these are just guesses of mine. Not claiming any of this is impossible, but that it's not a trivial 'add this flag' change.

Is there a reason you prefer to save the original movie plus an edit list instead of just saving the editted movie and serving that up?


----------



## moyekj

I think the commercial skipping would be pretty simple implemented something like:
* Before starting playback parse the cut file to find all the time ranges to skip
* Send normal uncut video stream to Tivo
* When commercial cut point is reached simply skip ahead length of commercial. If buffer is long enough then no new stream is needed, else start a new stream if needed.

i.e. It's basically like watching a normal full stream but with periodic automatic jump ahead points.
BTW, this is precisely how ReplayTV automatically skips commercials upon playback (with aid of it's own generated cut file).

Having said all that like I said I would prefer to just cut commercials out myself so wouldn't see much value in this.


----------



## Yoav

moyekj said:


> I think the commercial skipping would be pretty simple implemented something like:


Interesting. Didn't know that the streamer can tell the tivo where to go in the buffer. Clever


----------



## ajayabb

windracer said:


> What error? Anything in the log.txt file when you try? The latest version (0.19a) is still working for me.


Made the changes you recommended, but still getting an error.

Heres the Log

08:20:24,875 INFO [WrapperListener_start_runner] Server - Could not find TiVo Beacon service
08:20:24,875 INFO [WrapperListener_start_runner] BroadcastThread - High frequency enabled
08:20:24,875 INFO [WrapperListener_start_runner] Server - Broadcast port=2190
08:20:33,265 INFO [ListenThread] BroadcastThread - High frequency enabled
08:20:54,906 INFO [MediaRefreshThread] MediaRefreshThread - Refreshing media for: C:\Documents and Settings\AJAY\My Documents\My Music\All Songs
08:21:22,734 INFO [ListenThread] BroadcastThread - High frequency enabled
08:23:10,937 INFO [MediaRefreshThread] MediaRefreshThread - Refreshing media took 136 seconds
08:23:38,281 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Music/
08:23:39,078 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /MusicOrganizer/
08:23:44,406 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Photos/
08:23:44,578 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Podcasting/
08:23:44,609 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Weather/
08:23:44,656 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /TrafficCameras/
08:23:44,687 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /ToGo/
08:23:44,718 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /streambaby/
08:23:50,203 INFO [Acceptor] AppHost - Unexpected error: java.lang.IllegalAccessError: tried to access method com.tivo.hme.sdk.Application.setContext(Lcom/tivo/hme/interfaces/IContext;I)V from class com.tivo.hme.sdk.FactoryPlus
08:24:05,609 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Music/
08:24:05,703 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /MusicOrganizer/
08:24:05,750 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Photos/
08:24:05,937 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Podcasting/
08:24:05,968 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /Weather/
08:24:06,000 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /TrafficCameras/
08:24:06,078 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /ToGo/
08:24:06,109 INFO [Acceptor] AppHost - 192.168.1.7 icon.png HTTP GET - to factory /streambaby/

Here's my Wrapper Txt

#********************************************************************
# Wrapper Properties
#********************************************************************
# Java Application
wrapper.java.command=java

# Java Main class
wrapper.java.mainclass=org.lnicholls.galleon.server.ServiceWrapper

# Java Classpath (include wrapper.jar) Add class path elements as
# needed starting from 1
wrapper.java.classpath.1=../conf
wrapper.java.classpath.2=../lib/*.jar
wrapper.java.classpath.4=../hme/*.jar
# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=../lib

# Java Additional Parameters
#wrapper.java.additional.1=-Droot=C:\Documents and Settings\jtk\My Documents\Eclipse-local\galleon
#wrapper.java.additional.2=-Dconf=../conf
#wrapper.java.additional.3=-Dcache=../data
#wrapper.java.additional.4=-Dlogfile=../logs/log.txt
#wrapper.java.additional.5=-Dlogs=../logs
#wrapper.java.additional.6=-Ddata=../data
#wrapper.java.additional.7=-Dapps=../apps
#wrapper.java.additional.8=-Dhme=../hme
#wrapper.java.additional.9=-Dskins=../skins
#wrapper.java.additional.10=-Dskins=../bin
#wrapper.java.additional.11=-Djava.awt.headless=false

# Initial Java Heap Size (in MB)
#wrapper.java.initmemory=64

# Maximum Java Heap Size (in MB)
wrapper.java.maxmemory=128

# Application parameters. Add parameters as needed starting from 1
#wrapper.app.parameter.1=

wrapper.startup.timeout=120

#********************************************************************
# Wrapper Logging Properties
#********************************************************************
# Format of output for the console. (See docs for formats)
wrapper.console.format=LPM

# Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=ERROR

# Log file to use for wrapper output logging.
wrapper.logfile=../logs/wrapper.log

# Format of output for the log file. (See docs for formats)
wrapper.logfile.format=LPTM

# Log Level for log file output. (See docs for log levels)
wrapper.logfile.loglevel=INFO

# Maximum size that the log file will be allowed to grow to before
# the log is rolled. Size is specified in bytes. The default value
# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
# 'm' (mb) suffix. For example: 10m = 10 megabytes.
wrapper.logfile.maxsize=5m

# Maximum number of rolled log files which will be allowed before old
# files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=5

# Log Level for sys/event log output. (See docs for log levels)
wrapper.syslog.loglevel=ERROR

wrapper.request_thread_dump_on_failed_jvm_exit=TRUE
#wrapper.filter.trigger.1=java.lang.OutOfMemoryError
#wrapper.filter.action.1=RESTART


----------



## windracer

ajayabb said:


> Made the changes you recommended, but still getting an error.
> 
> 08:23:50,203 INFO [Acceptor] AppHost - Unexpected error: java.lang.IllegalAccessError: tried to access method com.tivo.hme.sdk.Application.setContext(Lcom/tivo/hme/interfaces/IContext;I)V from class com.tivo.hme.sdk.FactoryPlus


Hmm ... same error as bluehz originally.

Ah, I wonder if the classpaths have to be sequential. I see in your wrapper.conf that you don't have a classpath.3 like I do. So try making your hme line classpath.3 instead of .4 and see if that helps.


----------



## windracer

Is there a way to "skip" the initial folder in streambaby?

Example: my videos are under /mnt/media/Video. The folders under there are like Movies, TV Shows, Misc, etc. In my streambaby.ini file I have:

dir.1=/mnt/media/Video
dir.1.name=Main Library

So when I pick streambaby from the menu, I get a "Top Level" screen that just has "Main Library" and then I click on that to see my actual folder structure.

I know I could just define multiple directories directly in streambaby.ini, but was wondering if there was a less manual method. Maybe I'm just being lazy.


----------



## ajayabb

windracer said:


> Hmm ... same error as bluehz originally.
> 
> Ah, I wonder if the classpaths have to be sequential. I see in your wrapper.conf that you don't have a classpath.3 like I do. So try making your hme line classpath.3 instead of .4 and see if that helps.


Well that fixed the problem. Now for some reason most of my videos files come up as an incompatible files stream yet they streamed fine before without Galleon. I tried to add the extensions in the wiki but it didnt seem to work. Should the extensions be typed as .avi vs avi .?


----------



## ajayabb

It appears that the only format that will play is an mp4.


----------



## windracer

I think most, if not all, of what I've tested so far through Galleon is mp4. It's possible I'm still missing something in the setup that is preventing the transcoding from working.

I'll play around a bit this afternoon ...


----------



## fyodor

Hi

Thanks for putting this together. This is a fantastic program. I was wondering if there was any plan to support embedded metadata for mp4 files.

Thanks
F


----------



## kearygriffin

shoek said:


> I can't seem to get the password feature to work on a directory... when I specify dir.1.password=roger,tomcat, the folder does not show in streambaby.
> Any ideas?
> 
> Also, I don't always get sound from my DVD rip VOB files. I added the -ac 6 switch to the ffmpeg.transcode line and it appeared to work. Perhaps this should be the default?


It sounds like at some point you already entered a password into streambaby, and it "remembers' it, so doesn't ask you again. (And its not tomcat or roger, so the folder does not show up.)
Try pressing the clear button on the selection screen. It should re-ask for your password.

Note: I also made a mental note that a couple of people don't want streambaby to remember the password. (The way I use it is different tivo's have access to different folders, so I like it remembering). I'll made a config option in a future version.

I'm also going to remove the -ac parameter completely from the default ffmpeg transcode line, as it seems that has the best results for people.


----------



## kearygriffin

fyodor said:


> Hi
> 
> Thanks for putting this together. This is a fantastic program. I was wondering if there was any plan to support embedded metadata for mp4 files.
> 
> Thanks
> F


What kind of support are you looking for? Are you talking about (like moyejk was talking about in tivostream) putting more information in the "info" box when info is pressed? (And for that matter, on what I call the "play" screen, the screen that asks if you want to play from beginning or restart from where you left off).

I do have some plans on doing something with pyTivo metadata (and probably some other formats) but it's not on the front burner just at the moment. I could also do MP4 metadata if you point me in the right direction as to what tags/info I could expect to get out of MP4's.


----------



## westside_guy

kearygriffin said:


> I think that should solve most of the problems reported so far-- The only exceptions being:
> -- Audio sync issues w/MP4 videos
> -- Possibly issues with green/random blocks at the beginning of MP4 videos
> 
> My guess is I am going to have to get my hands on one of the MP4's that exhibit these issues. I haven't seen any of these problems with the MP4's that I have.


Well, obviously I have one of these available.  I have no problem with getting one to you, but they're kinda big (400 megs or so). While making a shorter rip could likely still demonstrate the green/random block problem at the beginning, it probably wouldn't be the best example of the audio sync problem (since the offset seems to vary throughout the video).


----------



## kearygriffin

westside_guy said:


> Well, obviously I have one of these available.  I have no problem with getting one to you, but they're kinda big (400 megs or so). While making a shorter rip could likely still demonstrate the green/random block problem at the beginning, it probably wouldn't be the best example of the audio sync problem (since the offset seems to vary throughout the video).


Thanks. If it would be possible to PM me a link or an ftp site (or whatever) that I could grab one of the problematic videos from, that would be great.


----------



## kearygriffin

Yoav said:


> Update: This is related to the MP4Streaming module. If I transcode with ffmpeg, I'm getting 6-channel correctly, but for some reason the mp4 module is streaming 2-channel audio instead of 6 channel (and yes, the file has an ac-3 6 channel audio stream).
> 
> Here is something interesting from the log:
> 
> 
> Code:
> 
> 
> 01/24/09 12:51:17 FFmpegExeVideoModule: FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Volumes/External Disk/movies
> /Musicals/Mamma Mia!.mp4
> 01/24/09 12:51:17 FFmpegExeVideoModule: VideoInfo:
> uri: file:/Volumes/External%20Disk/movies/Musicals/Mamma%20Mia!.mp4, Container: mp4, Duration: 6518.1 seconds
> Video: h264 1280x720 0.0 fps
> PixAspect: 1.0, Aspect: 1.7777778
> Audio: aac 48000HZ 0 channels
> 
> (note the 0 channels)


The 0 channels shouldn't matter, it just means that I am parsing the ffmpeg output incorrectly. Streambaby doesn't actually use that information. If you don't mind posting the output of ffmpeg -i for that video file however, I might as well fix it.

But I have no idea why you would be only getting 2 channels from MP4. The MP4 module shouldn't(?) be messing with that stuff.

A couple of questions:
1) Does the MP4 have more than one audio stream? I've never tested this, and am not sure what will currently happen.
2) Does tivostream get the full surround sound with these files?


----------



## westside_guy

kearygriffin said:


> Thanks. If it would be possible to PM me a link or an ftp site (or whatever) that I could grab one of the problematic videos from, that would be great.


Heh. I just found out my website is down right now. As soon as they resolve the problem, I'll upload it and PM you the info.

I should note that I just installed 0.19a and may not be seeing a significant audio sync issue now. The green blocks are still there, though. 0.19a crashed on java 1.5 for me as soon as I tried to view an mp4 video; but it seems to be running fine with java 1.6.


----------



## Yoav

kearygriffin said:


> The 0 channels shouldn't matter, it just means that I am parsing the ffmpeg output incorrectly. Streambaby doesn't actually use that information. If you don't mind posting the output of ffmpeg -i for that video file however, I might as well fix it.
> 
> But I have no idea why you would be only getting 2 channels from MP4. The MP4 module shouldn't(?) be messing with that stuff.
> 
> A couple of questions:
> 1) Does the MP4 have more than one audio stream? I've never tested this, and am not sure what will currently happen.
> 2) Does tivostream get the full surround sound with these files?


1) I believe it only has one audio stream (sorry, I just tracked down an mp4 to view, my rips are generally mkv's).
2) I have never tried tivostream, so don't know. What I can say for sure is that I can get 6 channel audio from transcoded streams in streambaby.

Here is the output of ffmpeg on the file:


Code:


Yoavs-iMac:Musicals yoav$ /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i Mamma\ Mia\!.mp4 
FFmpeg version SVN-r16724, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --arch=i386 --disable-vhook --disable-shared --enable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
  libavutil     49.14. 0 / 49.14. 0
  libavcodec    52.11. 0 / 52.11. 0
  libavformat   52.25. 0 / 52.25. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Jan 22 2009 20:28:40, gcc: 4.0.1 (Apple Inc. build 5484)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Mamma Mia!.mp4':
  Duration: 01:48:38.10, start: 0.000000, bitrate: 3213 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1280x720, 23.98 tb(r)
    Stream #0.1(und): Audio: aac, 48000 Hz, 5.1, s16
At least one output file must be specified

I truncated the file to 40M and uploaded it here:
http://yoav.org/files/test.mp4
It's definitely a 5.1 channel ac-3 audio stream in the source, and yet
when I stream to the tivo, I end up with a 2-channel stream (according to
the amplifier). Other streams that are sent (mkv files that are converted
by streambaby) work as 5.1 fine.

* note: * can you tell me once you've downloaded the file so I can delete it? Thanks...


----------



## fyodor

I was thinking of something really basic like (a) having the description show up when you select "info" and possibly having the "title" field show up in some form when you browse.

Here's a list of the metadata supported by the MP4 file format.

http://www.hydrogenaudio.org/forums/lofiversion/index.php/t68441.html

Thanks



kearygriffin said:


> What kind of support are you looking for? Are you talking about (like moyejk was talking about in tivostream) putting more information in the "info" box when info is pressed? (And for that matter, on what I call the "play" screen, the screen that asks if you want to play from beginning or restart from where you left off).
> 
> I do have some plans on doing something with pyTivo metadata (and probably some other formats) but it's not on the front burner just at the moment. I could also do MP4 metadata if you point me in the right direction as to what tags/info I could expect to get out of MP4's.


----------



## vitocorleone

Thanks for this app! I'm following these (first tivostream now this) closely as they are very interesting, albeit very "techie" still. I can handle the techie, though I'd rather not as I'm a lazy user... in fact, I have a couple of usability requests (I'm a designer-type, albeit for mobile software)

* Default preview pics - start at 25+ for default (thought the bullet below may mitigate)

* Preview pics location and size - I like the size, but I'd trade off some of the size (a bit smaller of a window, esp. since this'd also increase the effectiveness of a small/middle preview quality setting) for better placement. In other words, there's a reason Netflix preview images are next to the timeline and are small - so you don't have to look in 2 places at once

* Would be great if, while a movie was playing, the last thumbnail preview image was displayed instead of the Please Wait image over the top of the video when play is resumed. I could see how this adds complexity, but it also helps increase the comfort-level of users because they can see approx where they're going to land... perhaps even the selected frame could be rendered for where the user was in the timeline even if it wasn't auto-generated, specifically to show where the user will land in the video

* [Future] Compatibility. As a "late-comer" (albeit a rising start for sure), this app, after stability is at a place you are comfortable with, ought to focus on compatibility with the old-school apps, namely: Tivo Desktop (work alongside, if not already... I can't test), Galleon (should be an app in best case scenario), and pyTivo.

* [Future] Front-end GUI - while the .ini commands are well-documented and well-suited to the tech-heavy crowd typically frequenting these forums, it's clearly not the most usable solution vs. even a simple j2me UI, nor does it encourage broader adoption

* [Future] Windows installer, Mac installer - again, me = lazy user and I'd rather double-click and go read a blog than extract files, customize an .ini file and double-click on a .bat (unless I want to run as a service, then I have to click on folders first) ;-)

Again, thanks for the hard work. Once someone can provide instructions on how to use this alongside/inside Galleon in Windows I plan to use it regularly, probably instead of pyTivo.


----------



## windracer

vitocorleone said:


> Once someone can provide instructions on how to use this alongside/inside Galleon in Windows I plan to use it regularly, probably instead of pyTivo.


See my post on the first page of this thread.


----------



## moyekj

Yoav said:


> 1) I believe it only has one audio stream (sorry, I just tracked down an mp4 to view, my rips are generally mkv's).
> 2) I have never tried tivostream, so don't know. What I can say for sure is that I can get 6 channel audio from transcoded streams in streambaby.
> 
> Here is the output of ffmpeg on the file:
> 
> 
> Code:
> 
> 
> Yoavs-iMac:Musicals yoav$ /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i Mamma\ Mia\!.mp4
> FFmpeg version SVN-r16724, Copyright (c) 2000-2009 Fabrice Bellard, et al.
> configuration: --arch=i386 --disable-vhook --disable-shared --enable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
> libavutil     49.14. 0 / 49.14. 0
> libavcodec    52.11. 0 / 52.11. 0
> libavformat   52.25. 0 / 52.25. 0
> libavdevice   52. 1. 0 / 52. 1. 0
> libswscale     0. 6. 1 /  0. 6. 1
> built on Jan 22 2009 20:28:40, gcc: 4.0.1 (Apple Inc. build 5484)
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Mamma Mia!.mp4':
> Duration: 01:48:38.10, start: 0.000000, bitrate: 3213 kb/s
> Stream #0.0(und): Video: h264, yuv420p, 1280x720, 23.98 tb(r)
> Stream #0.1(und): Audio: aac, 48000 Hz, 5.1, s16
> At least one output file must be specified
> 
> I truncated the file to 40M and uploaded it here:
> http://yoav.org/files/test.mp4
> It's definitely a 5.1 channel ac-3 audio stream in the source, and yet
> when I stream to the tivo, I end up with a 2-channel stream (according to
> the amplifier). Other streams that are sent (mkv files that are converted
> by streambaby) work as 5.1 fine.
> 
> * note: * can you tell me once you've downloaded the file so I can delete it? Thanks...


NOTE: What you have in your mp4 file is 6 channel *aac* audio (Apple Audio) which is not ac3 (Dolby). I don't have surround sound system enabled myself so I don't know if Tivo can even pass through 6 channel aac audio. If it does, your receiver also would have to know how to deal with it.

The transcoded streams obviously are set to transcode to ac3 audio, hence the difference.


----------



## kearygriffin

Yoav said:


> * note: * can you tell me once you've downloaded the file so I can delete it? Thanks...


I got it, thanks-- But as moyejk says, the issue is probably the AAC vs AC3 and either your audio system or the TiVo's ability to pass through the stream.

I'm pretty much an audio neophyte (and without rear speakers) so I wouldn't have a clue as to whether or not I'm getting 5.1 through my audio setup with AAC.

I did use this MP4 to test/fix my channel parsing code. It should work in the next rev.


----------



## kearygriffin

Thanks for input Vito, I'll take a look at your suggestions (and probably implement some of them, though I'm not sure it will be the next release. I will probably make the default preview quality higher in the release)

There have been a bunch of other suggestions/issues in the last couple of days that I didn't bring up specifically, but in the next few days I'll go through this thread again and try to prioritize them.

But I did want to talk about a couple of the things vito mentioned:


vitocorleone said:


> * [Future] Compatibility. As a "late-comer" (albeit a rising start for sure), this app, after stability is at a place you are comfortable with, ought to focus on compatibility with the old-school apps, namely: Tivo Desktop (work alongside, if not already... I can't test), Galleon (should be an app in best case scenario), and pyTivo.


I'll have to look at Galleon more closely at some point and try to make it easier to integrate. I had problems in the past getting 3rd party apps (I think I tried tivostream) running in Galleon, but I'm pretty sure I was just not doing it right, and now that there have been some easy instructions posted in this thread I'll try again at some point.

But as far as coexisting, I have been thinking about changing the default HME port from 7288 to 7290 so it doesn't conflict as much. Does anyone think changing it from 7288 to 7290 will cause problems for anyone?



> * [Future] Front-end GUI - while the .ini commands are well-documented and well-suited to the tech-heavy crowd typically frequenting these forums, it's clearly not the most usable solution vs. even a simple j2me UI, nor does it encourage broader adoption
> * [Future] Windows installer, Mac installer - again, me = lazy user and I'd rather double-click and go read a blog than extract files, customize an .ini file and double-click on a .bat (unless I want to run as a service, then I have to click on folders first) ;-)


I definitely see your point, but I think I will leave these things up to other people, who may want to repackage streambaby. Not trying to bag-out (well, maybe I am ;-) but I'm mostly a backend guy, and creating user interfaces is not "my thing". I've never written a Swing app, and for that matter haven't really had to deal with a GUI since I was working with Windows 3.1

Yoav for instance integrated streambaby into his pyTivo mac distribution, pyTivoX which (I believe, since I am not able to try it) has a full install program, allows people to add/remove directories to the ini, all from a nice GUI.

As for clicking on multiple folders to install as a service, that I may make easier at some point. I actually wanted to make it a little difficult to start with, as if it is installed as a service it is much harder to figure out what's going on if it won't start/has problems/etc. I was also afraid people would start "clicking like crazy" on the install/remove service bat files, and I'm pretty sure that if you install and then remove, you can't reinstall without a system reboot.


----------



## Yoav

moyekj said:


> NOTE: What you have in your mp4 file is 6 channel *aac* audio (Apple Audio) which is not ac3 (Dolby). I don't have surround sound system enabled myself so I don't know if Tivo can even pass through 6 channel aac audio. If it does, your receiver also would have to know how to deal with it.
> 
> The transcoded streams obviously are set to transcode to ac3 audio, hence the difference.


Woops, my bad. I mentioned in a previous post that it was AAC and not AC-3, and then completely forgot about it.

The point remains though. When I stream this mp4, I get 2-channel audio instead of 6-channel. The fix might be to have streambaby check that the audio in an mp4 file is ac-3 to stream as-is, otherwise it should transcode?

* good news*: I took that file, and used ffmpeg to convert it to ac-3 (using copy for the video). ffmpeg now reports:


Code:


Yoavs-iMac:Musicals yoav$ /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i test2.mp4FFmpeg version SVN-r16724, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --arch=i386 --disable-vhook --disable-shared --enable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
  libavutil     49.14. 0 / 49.14. 0
  libavcodec    52.11. 0 / 52.11. 0
  libavformat   52.25. 0 / 52.25. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Jan 22 2009 20:28:40, gcc: 4.0.1 (Apple Inc. build 5484)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1002600]edit list not starting at 0, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test2.mp4':
  Duration: 00:02:08.99, start: 0.000000, bitrate: 2294 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1280x720, 23.98 tb(r)
    Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, s16
At least one output file must be specified

And it streams the mp4 as-is, and it shows up as 6 channel (ok, not perfect, it looks as though center channel got mapped to the left speaker.. but that I'm happy to worry about later).

So it definitely sounds like there's gonna be some more parsing required before streaming an mp4 to ensure that it is valid (so aac is not valid, ac-3 -- even though the mp4 spec requires aac support, and not AC-3.. go figure .


----------



## moyekj

Yoav said:


> So it definitely sounds like there's gonna be some more parsing required before streaming an mp4 to ensure that it is valid (so aac is not valid, ac-3 -- even though the mp4 spec requires aac support, and not AC-3.. go figure .


 I have to disagree. AAC certainly is valid as the Tivo will accept it natively. Transcoding is always good to avoid if not necessary. I think the mp4 spec just recently was amended to allow AC3 and you will see more encoders adding AC3 support in mp4 container as a result and it's nice that Tivo supports it.
It would still be good to understand exactly what Tivo does with 6 channel AAC - is it passing it through or is it converting to PCM?
Perhaps best compromise is to have a setting that defines what to do in case of > 2 channel AAC - leave it alone (default) or transcode to AC3 (config option).


----------



## kearygriffin

Yoav said:


> The point remains though. When I stream this mp4, I get 2-channel audio instead of 6-channel. The fix might be to have streambaby check that the audio in an mp4 file is ac-3 to stream as-is, otherwise it should transcode?


And sorry to be obsessive, but you're positive its not playing in 6 channel? It may not be enough to see what the audio system is displaying (again, I know very little about these things), as it may only be able to detect what the format is for AC3 pass-through (and thus display it), but not display it for AAC. (but play it correctly).

I'd try to test this myself, but I'm really not sure how to go about doing it.

As far as transcoding, I'd be very hesitant to make this the default option, but I guess I could try to make this some kind of option. (But it may be a rev or 2 before I get to it). Transcoding for a lot of people is resource intensive, and things that would stream well without transcoding would not stream well with on-the-fly-transcoding. (Both because of CPU intensive operations and also because MP4 files usually take up less bandwidth for the same quality as MPEG2, which is what it would transcode to)

EDIT: I guess moyekj beat me to it. Sorry about the mostly duplicate post.


----------



## Yoav

kearygriffin said:


> And sorry to be obsessive, but you're positive its not playing in 6 channel? It may not be enough to see what the audio system is displaying (again, I know very little about these things), as it may only be able to detect what the format is for AC3 pass-through (and thus display it), but not display it for AAC. (but play it correctly).


I can't be 100% positive, since my audio system tries to map any input to 9 speakers, so I hear something out of all of them, but it definitely sounds 'flatter' than it sounds when it's transcoded to 5.1 and played as such.

The receiver is telling me that it is getting input. The input is not DD or DTS (specific lights are not on). It believes it is getting a 2-channel PCM digital stream. It is mapping to all-stereo. If there's a way I can get you more accurate info from the tivo I'd be glad to check.

Would the tivo be able to map the 6-channel aac to a 2-channel stereo? Otherwise, it *is* certainly possible that the tivo is just passing the audio through and the amp (which can play aac music files) is doing some sort of conversion. I really don't know, but if anyone else wants to try.. I've left the test file up (so people can mention if they hear nothing, hear something in stereo, or hear 6-channel).

http://yoav.org/files/test.mp4


----------



## Yoav

moyekj said:


> I have to disagree. AAC certainly is valid as the Tivo will accept it natively. Transcoding is always good to avoid if not necessary.


I'm not going to pretend I know what should be done here.

I definitely have a clear symptom: a 6-channel mp4 encoded with AAC audio is being streamed as-is by streambaby. when the Tivo S3 plays it through my amp, I'm only getting 2-channel audio. When a similar mp4 but with ac-3 audio is sent, it plays it back in 6 channels.

I could be my amp downgrading it. It could be the tivo downgrading it. Or it could well be something else . I would like to know what others are seeing...

If you want to try it, download these two files and stream them.
h.264 video, aac audio 5.1 : http://yoav.org/files/test.mp4
h.264 video, ac-3 audio 5.1 : http://yoav.org/files/test2.mp4

Are you seeing the same thing?


----------



## kearygriffin

I was thinking about adding a new feature to streambaby (because I ran into the need for it earlier today...) so that users could select a "quality" on the play screen. So if they select "default" everything gets passed through as normal and I use the sameq option for transcoding. If they select something other than default (high/low/medium/etc) it would force transcoding, and I would tell ffmpeg what quality to generate it.

Now because I'd also like to (at some later date more than likely) be able to "test" the bandwidth and set the quality based on how much bandwidth is available, I'd like to tell ffmpeg to base it's quality on a "target" bit rate (preferably VBR).

My question is what are the correct params to pass ffmpeg to do something like this. I really haven't done too much of this in the past, I usually just use the -qscale parameter. My problem is not that I can't find documentation with google, more that I find way too much ;-)


----------



## windracer

kearygriffin said:


> I'll have to look at Galleon more closely at some point and try to make it easier to integrate. I had problems in the past getting 3rd party apps (I think I tried tivostream) running in Galleon, but I'm pretty sure I was just not doing it right, and now that there have been some easy instructions posted in this thread I'll try again at some point.


Hmm ... that might be a fun little project, writing a little GUI app that plugs into Galleon and takes care of the .ini file settings and steps I've documented and such.

I am by no means a good java programmer, but I've tinkered with Galleon's front-end in the past (changes to the Weather app) so I might be able to pull something like that off.


----------



## bluehz

keary - I have used FFMPEG for years and to be honest, it still gives me lots of grief. It's nothing short of voodoo and magic to make it work right. It requires immense amounts of babysitting and knowledge. All this is fine and dandy for us geeky types (although I personally have a love/hate relationship with FFMPEG), it will never fly with your avg user. I'm not saying to scrap the FFMPEG aspect of your project, but considering the last 6 pages of the forum all concerned issues with FFMPEG, I am wondering if maybe you should re-evaluate its importance in your project. I think its great to have that transcoding ability, but I personally would get frustrated with the whole deal if I had to put up with ffmpeg issues every time I went to play something. Why exactly does transcoding play such an important part in streambaby? tivostream either played the video or not - it was the KISS (keep it simple...) at work. You went into using tivostream KNOWING you might have to do some transcoding on the side beforehand. Thats fine - the enduser transcodes using whatever means they want.

Maybe at the very least and to cause yourself the least amount of tech support (read ffmpeg support), you should make the ffmpeg transcoding turning OFF by default.

Oh yeah - and the other thing about ffmpeg - it comes in so many varieties in the wild it seems it would be hard to build your project to match. For example - on the Ubuntu machine I am running streambaby on, I have a VERY custom built FFMPEG that I am NOT ABOUT TO MESS WITH. Took me forever to get it built tp do the things I want it to do and if it came down to a battle between streambaby and my custombuilt ffmpeg... I can guarnatee my ffmpeg would stay. Heck it even makes me nervous THINKING about futzing with that ffmpeg on that machine.


----------



## kearygriffin

bluehz said:


> Maybe at the very least and to cause yourself the least amount of tech support (read ffmpeg support), you should make the ffmpeg transcoding turning OFF by default.


The biggest issue is that I need ffmpeg to generate the thumbnails for the "outside of buffer" preview. I'm not sure what other people think of the preview mode, but for me it's the "sexy" part of streambaby (and it's why I started the project in the first place)

I actually think that for 90% of the people there won't be too many ffmpeg problems, as on Windows I control which version of ffmpeg ships/installs with streambaby, and I believe the Yoav's Mac distribution pyTivoX does the same. (Although Yoav's ffmpeg is probably updated more frequently than I plan on updating the windows version).

I also tried to "ship" the first testing versions of streambaby with transcode turned off, and it didn't really go over well. It's the feature a lot of people wanted.


----------



## Yoav

(Replying to bluehz):
Even if you get totally frustrated with ffmpeg, please don't drop the transcoding. Given the option of telling users "only the following very specific files are supported" or transcoding everything, I would choose to transcode everything. Feel free to stop worrying about the previous stuff if it is too much work (I thought the code already detected all these things, so I was simply trying to help build a list of 'what actually can be streamed as-is').

That said, the idea of modifying the bitrate of the video stream to respond to network quality seems like a really cool idea if it could be made to work. Unfortunately I too am not so helpful on the ffmpeg front... I'm learning about it as I try to do things....

On a more personal note. Thank you for your patience. Having had to personally respond to a lot of "iTiVo isn't encoding the file the way I want it to", I know how frustrating it can be to try and help when the problem rests with an encoder that is entirely black magic to make work (I use mencoder there.. but same sort of issues arise).


----------



## vitocorleone

windracer said:


> See my post on the first page of this thread.


Took a couple of tries and re-reading because I clearly didn't rtfm the first 2 times, but it's up and running "in" Galleon. Thanks!

EDIT: It's up and running and streaming, but I cannot skip forward at all and there are no preview thumbnails now.


----------



## PaulS

kearygriffin said:


> I was thinking about adding a new feature to streambaby (because I ran into the need for it earlier today...) so that users could select a "quality" on the play screen. So if they select "default" everything gets passed through as normal and I use the sameq option for transcoding. If they select something other than default (high/low/medium/etc) it would force transcoding, and I would tell ffmpeg what quality to generate it.
> 
> Now because I'd also like to (at some later date more than likely) be able to "test" the bandwidth and set the quality based on how much bandwidth is available, I'd like to tell ffmpeg to base it's quality on a "target" bit rate (preferably VBR).
> 
> My question is what are the correct params to pass ffmpeg to do something like this. I really haven't done too much of this in the past, I usually just use the -qscale parameter. My problem is not that I can't find documentation with google, more that I find way too much ;-)


You should *definitely* try to sync up with WGW, one of the main pyTivo developers. He's done a LOT of work in this area. It'd be a shame for you to waste time going over things that have already been sorted out already. Possibly also Rdian06, who's also done quite a bit of work on pyTivo, perhaps with more of a focus on specific ffmpeg issues/builds.

Granted, the HMO downloading and HME streaming implementations and gotchas may vary, but there's bound to be much similarities between the two functions.

That said, I've just installed StreamBaby today and found it extremely useful. Nice work. I've since uninstalled HME-VLC and tivostream. pyTivo and StreamBaby should be all that I need going forward.


----------



## NA9D

Yoav said:


> Hmm.. *IF* you're ok with trying out beta-level software, go to the pytivox download page at http://code.google.com/p/pytivox/downloads/list and download the latest beta (1.1b2). This has the 0.17 streambaby in there, and you can choose to use pytivo, streambaby, or both. Keep in mind you can only stream to a tivo 3 / HD.
> 
> Tell me if things seem broken (I'll try and figure out if it's a bug in pytivox or streambaby, and if so, forward it up the chain).


I've got it up and running with 1.1b5. It works great. Only one little glitch and I don't know where the fault lies...It seems that if I am trying to stream an HD file that I'd downloaded from the Tivo, that streambaby can't keep up. It's not the desktop. I'm using a 2.66 GHz Quad Core Mac Pro. It's loafing with the CPU. But I see the outbound network speed around 8 to 10 Mb/sec while for an HD MPEG-2 stream it should be somewhere around 16 Mb/sec. So I'm not sure what's causing the slowdown here...

Anyone got any ideas or is HD streaming not really working yet?


----------



## moyekj

kearygriffin said:


> My question is what are the correct params to pass ffmpeg to do something like this. I really haven't done too much of this in the past, I usually just use the -qscale parameter. My problem is not that I can't find documentation with google, more that I find way too much ;-)


 A couple of key arguments related to bitrate control are "-b #" and "-maxrate #". For example:
-b 2000k -maxrate 3000k means to ffmpeg to try and maintain an average bitrate around 2000 kbps and at most 3000 kbps. Problem is as you try and limit bitrate you will find that at times ffmpeg will complain that maxrate is not large enough, so usually one ends up having to bump up maxrate a lot more.
(You may also have to use -bufsize argument along with the 2 given above for it to work properly).

As stated above, ffmpeg is somewhat voodoo magic at times to get working right and personally I try and avoid transcoding whenever possible. If something must be re-encoded then I will spend the time to do it manually, not in real time, since doing a good job usually involves 2-pass encoding. Then again if it's something where quality doesn't matter much then on the fly transcoding is fine.


----------



## moyekj

NA9D said:


> I've got it up and running with 1.1b5. It works great. Only one little glitch and I don't know where the fault lies...It seems that if I am trying to stream an HD file that I'd downloaded from the Tivo, that streambaby can't keep up. It's not the desktop. I'm using a 2.66 GHz Quad Core Mac Pro. It's loafing with the CPU. But I see the outbound network speed around 8 to 10 Mb/sec while for an HD MPEG-2 stream it should be somewhere around 16 Mb/sec. So I'm not sure what's causing the slowdown here...
> 
> Anyone got any ideas or is HD streaming not really working yet?


 That's a Tivo limitation. Streaming mpeg2 video is limited to the same kind of speeds you can get out of Tivo To Go - not very fast. You are lucky if you can maintain 13 Mbps under normal circumstances, and that's with the original S3. THD units are a little slower than that. If you tune your Tivo to channels you don't receive you can help speed things up a little but it will struggle to keep up with high quality HD mpeg2 streams no matter what you do.

NOTE: mpeg4 H.264 streams faster than mpeg2 to Tivos, so for high quality HD streaming mpeg4 is actually a better option. Problem is of course a lot of HD content you may want to stream back to your Tivos originated from Tivos so of course will be in mpeg2 format.

EDIT: Just tried a couple of mpeg2 & mpeg4 streams to get some rough average bit rate numbers to report here:
I get about 20 Mbps streaming H.264 to Tivo compared to about 12-13 Mbps streaming mpeg2.
(This is with my S3 under normal conditions tuned to HD channels on both tuners).


----------



## kearygriffin

moyekj said:


> That's a Tivo limitation. Streaming video is limited to the same kind of speeds you can get out of Tivo To Go - not very fast. You are lucky if you can maintain 13 Mbps under normal circumstances, and that's with the original S3. THD units are a little slower than that. If you tune your Tivo to channels you don't receive you can help speed things up a little but it will struggle to keep up with high quality HD mpeg2 streams no matter what you do.
> 
> NOTE: mpeg4 H.264 streams much faster than mpeg2 to Tivos, so for high quality HD streaming mpeg4 is actually a better option. Problem is of course a lot of HD content you may want to stream back to your Tivos originated from Tivos so of course will be in mpeg2 format.


Ah, thank you. I had been playing around earlier today with streaming back .tivo files, and noticed that streaming couldn't keep up. After I saw the other post about HD streams, I was just looking in my code to see if maybe I was creating a bottle neck somewhere.


----------



## atomicteevee

ajayabb said:


> It appears that the only format that will play is an mp4.


Same problem here, standalone was playing avi's fine, latest version running in tandem w/ Galleon I can only stream mp4's. Avi's I get this message in red: "Incompatible video stream"


----------



## NA9D

moyekj said:


> That's a Tivo limitation. Streaming mpeg2 video is limited to the same kind of speeds you can get out of Tivo To Go - not very fast. You are lucky if you can maintain 13 Mbps under normal circumstances, and that's with the original S3. THD units are a little slower than that.


Thanks. That's rather annoying. Why put a 100 Mb/sec LAN connection on a device and not use it. Perhaps its to keep the device stable as too much LAN traffic could maybe cause the box to crash. Still, you'd think they could do better with that.

So it looks like there's not a really good way to transfer HD Tivo files back to the box. I've got to wait either way. Bummer.

Any way to set up streambaby to force a transcode from MPEG2 to H.264?

It's interesting how H.264 will work. Yeah, it will stream fine as the codec is much more efficient at compressing the stream. But then it requires a lot more horsepower at the receiving end to decompress the stream. So if the Tivo can handle that fine, why don't they just let it stream at a faster bit rate to begin with.

Who knows...


----------



## NA9D

Hey one other comment on Streambaby. I've got a bunch of DVD rips that I'd like to play. Streambaby will see and play the .vob files fine, but it won't recognize the DVD folder as an entire DVD. And it also will not recognize .iso files.

Any way to make this work?


----------



## wmcbrine

NA9D said:


> It's interesting how H.264 will work. Yeah, it will stream fine as the codec is much more efficient at compressing the stream. But then it requires a lot more horsepower at the receiving end to decompress the stream. So if the Tivo can handle that fine, why don't they just let it stream at a faster bit rate to begin with.


There are two different systems at work here -- the remuxing or demuxing of MPEG-2, from program stream to transport stream or elementary streams, which is (apparently) done in software; and the decoding of the video, which is done in hardware. The TiVo doesn't have much horsepower for things it has to do in software.

The faster streaming of h.264 is a fascinating result. I always thought those podcasts seemed to come in blazingly fast, but I didn't make the connection. It suggests that the h.264 streams are indeed being pumped to the decoder without having to be demuxed or remuxed, unlike the MPEG-2 streams.

It makes me wonder all the more if there's really no way to get an MPEG-2 transport stream directly to the TiVo. There ought to be.

It also suggests a reason why h.264 is not yet (as far as we can tell) allowed for TTCB transfers.


----------



## CuriousMark

wmcbrine said:


> It makes me wonder all the more if there's really no way to get an MPEG-2 transport stream directly to the TiVo. There ought to be.
> 
> It also suggests a reason why h.264 is not yet (as far as we can tell) allowed for TTCB transfers.


There should be a way, after all that is how MRV is said to work.

I also think there is a legacy issue. TTG and TTCB were designed to apply and remove DRM, something that most streams don't have. The streams rely on the stream not being saved rather than having a DRM wrapper in many cases. (Netflix being the obvious DRM encased stream exception) TiVo would need to re-engineer the TTG and TTCB code to skip past the DRM steps for mp4 content and simply may not have gotten around to doing that yet.


----------



## moyekj

NA9D said:


> Any way to set up streambaby to force a transcode from MPEG2 to H.264


 Encoding to a decent quality H.264 on the fly in real time is not possible for most computers with non dedicated hardware for the task, so I don't think this is a viable option.


----------



## wmcbrine

CuriousMark said:


> There should be a way, after all that is how MRV is said to work.


I meant for HME streaming. It's probably doable in pyTivo (just kind of a pain).



> _TiVo would need to re-engineer the TTG and TTCB code to skip past the DRM steps for mp4 content and simply may not have gotten around to doing that yet._


Other way round -- they'd want to be able to _apply_ it to TTG'd h.264. They can already accept unencrypted MPEG-2.


----------



## windracer

atomicteevee said:


> Same problem here, standalone was playing avi's fine, latest version running in tandem w/ Galleon I can only stream mp4's. Avi's I get this message in red: "Incompatible video stream"


I think there may be a problem with my Galleon instructions that prevent the transcoding from working. I haven't had a chance to play around with it yet though.


----------



## kearygriffin

moyekj said:


> Encoding to a decent quality H.264 on the fly in real time is not possible for most computers with non dedicated hardware for the task, so I don't think this is a viable option.


The other issue is that currently to stream MP4 to the tivo, the full index (moov atom) needs to be sent to the TiVo as part of the MP4 file, which is not available until the entire video has been transcoded.

One thing I have been wanting to play with, but can't seem to find the correct tools to test it, is to see if the TiVo supports h264/ac3 inside of a MPEG-PS stream. If it did, then it would be at least possible to transcode to h264(mp4) and stream to the TiVo. (My guess is that this wouldnt help with the bandwidth issues, as it would probably make h264 slow down like the current mpeg streams, but since you can get better quality at lower bit rates with h264, it may help somewhat)

Does anyone know of any tools to create a mpeg-ps with h264/ac3? (From what I've read I think it should be possible).


----------



## fyodor

Does anybody have trouble with mp4 videos not being upscaled or otherwise looking not as good as other content? I have some 480p mp4 videos and they seem to have more pixellation/blurriness than a lot of other SD content (SD channels, Amazon unbox downloads)?

F


----------



## moyekj

kearygriffin said:


> The other issue is that currently to stream MP4 to the tivo, the full index (moov atom) needs to be sent to the TiVo as part of the MP4 file, which is not available until the entire video has been transcoded.
> 
> One thing I have been wanting to play with, but can't seem to find the correct tools to test it, is to see if the TiVo supports h264/ac3 inside of a MPEG-PS stream. If it did, then it would be at least possible to transcode to h264(mp4) and stream to the TiVo. (My guess is that this wouldnt help with the bandwidth issues, as it would probably make h264 slow down like the current mpeg streams, but since you can get better quality at lower bit rates with h264, it may help somewhat)
> 
> Does anyone know of any tools to create a mpeg-ps with h264/ac3? (From what I've read I think it should be possible).


 I'm not sure if mpeg-ps with H264 is even possible or within specs. Certainly mpeg-ts container allows for that but so far we've been unable to get mpeg-ts to be accepted by Tivo. I can see the motivation for this from the moov atom perspective, but the issue would still be transcoding to H264 video in real time which I don't think is practical on a general purpose computer no matter what the container.


----------



## herbman

kearygriffin said:


> The other issue is that currently to stream MP4 to the tivo, the full index (moov atom) needs to be sent to the TiVo as part of the MP4 file, which is not available until the entire video has been transcoded.
> 
> One thing I have been wanting to play with, but can't seem to find the correct tools to test it, is to see if the TiVo supports h264/ac3 inside of a MPEG-PS stream. If it did, then it would be at least possible to transcode to h264(mp4) and stream to the TiVo. (My guess is that this wouldnt help with the bandwidth issues, as it would probably make h264 slow down like the current mpeg streams, but since you can get better quality at lower bit rates with h264, it may help somewhat)
> 
> Does anyone know of any tools to create a mpeg-ps with h264/ac3? (From what I've read I think it should be possible).


Looks like VLC would do it, but who knows if it's going to work on the TiVo.


----------



## Yoav

NA9D said:


> Hey one other comment on Streambaby. I've got a bunch of DVD rips that I'd like to play. Streambaby will see and play the .vob files fine, but it won't recognize the DVD folder as an entire DVD. And it also will not recognize .iso files.
> 
> Any way to make this work?


As coded right now, I don't think so. A DVD folder contains a bunch of files that define a bunch of streams (audio and video) which are expected to be parsed by a DVD playing tool. 
An .iso file is even further out (that's basically a description of a CD or DVD layout put in a file and usually compressed). an .iso file is not a movie, but may contain a movie (like a .zip file might, or a .tar file might).

Both of these things 'could' be added and made to work, but it would be moving streambaby from a 'movie' streamer and into the realm of media viewers (like plex). -- I think it's best for now if that's not added.

THAT SAID: It's not too difficult for you to turn both those things into actual media files that can be streamed. Handbrake is a very nice streaming app that can take a DVD layout in a directory, let you select which audio and video streams you want, and re-encodes them into h264 mp4 files (or mkv or whatever).
If you instead prefer to not re-encoder (faster, no degradation of quality, but HUUUUGE files) you can use tools like mplayer or vlc to rip out the contents of the DVD and save them to an .mpg file. Keep in mind that this will generate a file without multiple streams, which may confuse some programs (I haven't tried it with streambaby). Here's how you would use mplayer if you have MPlayerOSX installed in /Applications (run this in Terminal.app):


Code:


/Applications/MPlayer\ OSX.app/Contents/Resources/External_Binaries/mplayer.app/Contents/MacOS/mplayer -dumpstream -dumpfile ~/Desktop/mymovie.mpg dvd://1 -dvd-device <FULL path to your movie>

If you are more comfortable with using friendly programs, and have VLC installed, you can also do the following:

run VLC
Select File...Quick Open File, and browse to the main folder (containing VIDEO_TS and AUDIO_TS)
 might as well hit 'stop' to stop playing the film
 Select File...Streaming Exporting Wizard, Transcode Save to File..
 Pick the Existing movie you loaded
 Don't transcode
 You probably want MPEG PS here
 Pick an output file
 Hit finish, and wait

Anyways, as for your .iso file, double-clicking it will generally open the file as a 'mounted volume' and then you can read it like it was a folder to re-encode


----------



## moyekj

NA9D said:


> Hey one other comment on Streambaby. I've got a bunch of DVD rips that I'd like to play. Streambaby will see and play the .vob files fine, but it won't recognize the DVD folder as an entire DVD. And it also will not recognize .iso files.
> 
> Any way to make this work?


 Streambaby has option to play an entire folder (press "Play" on a folder) or if you press "FF" on a title in file browser mode it will setup a playlist of all files from the current cursor position down, so that works well for playing a group of .vob files.


----------



## kearygriffin

Not sure when I will get to it, but there was some discussion a while back on commercial skipping and supporting cut-lists. I tried to get comskip working but had a lot of difficulties. (Mainly because I run Linux, and I also couldn't get it run on my virtual-vista).

Anyway, if someone could post the first few lines of a cut file that would be great. Again, not sure when I will get to it, but figured I might as well collection the information.

I believe comskip supports multiple output formats, but I _think_ I am going to interested in the videoredo format. I believe it uses timestamps as opposed to frames which is easier for me to deal with. (If I am wrong, and there is a better format that uses timestamps as opposed to frames, let me know)


----------



## moyekj

kearygriffin said:


> Not sure when I will get to it, but there was some discussion a while back on commercial skipping and supporting cut-lists. I tried to get comskip working but had a lot of difficulties. (Mainly because I run Linux, and I also couldn't get it run on my virtual-vista).
> 
> Anyway, if someone could post the first few lines of a cut file that would be great. Again, not sure when I will get to it, but figured I might as well collection the information.
> 
> I believe comskip supports multiple output formats, but I _think_ I am going to interested in the videoredo format. I believe it uses timestamps as opposed to frames which is easier for me to deal with. (If I am wrong, and there is a better format that uses timestamps as opposed to frames, let me know)


NOTE: I believe by default EDL file generation is enabled in comskip.ini. VideoRedo output you have to enable in comskip.ini.
EDL file syntax:
http://mediacoder.sourceforge.net/wiki/index.php/EDL
edl cut file (time is in seconds)
------------
Format is:
[begin second] [end second] [action]
action = 0 for skip, 1 for mute

Example:
201.40 510.64 0
1451.12 1522.04 0
3084.04 3240.80 0
4368.44 4691.64 0
5696.64 5696.68 0

VRD cut file sample
-------------------
<Cut>2012800000:5105200000
<Cut>14510000000:15219200000
<Cut>30839200000:32406800000
<Cut>43683200000:46915200000
<Cut>56965200000:56965600000


----------



## Yoav

kearygriffin said:


> Does anyone know of any tools to create a mpeg-ps with h264/ac3? (From what I've read I think it should be possible).


vlc did let me use passthru to create an mpeg-ps with h264/ac3 from an mp4 that had those. However, the resulting file was broken (ffmpeg wouldn't see an audio stream). If I manually tried to re-encode to h264/ac3, it would not let me select mpeg-ps. I could select mpeg-ts though. Do you want me to make and upload an mpeg-ts with h.264/ac3 for testing?


----------



## kearygriffin

Yoav said:


> vlc did let me use passthru to create an mpeg-ps with h264/ac3 from an mp4 that had those. However, the resulting file was broken (ffmpeg wouldn't see an audio stream). If I manually tried to re-encode to h264/ac3, it would not let me select mpeg-ps. I could select mpeg-ts though. Do you want me to make and upload an mpeg-ts with h.264/ac3 for testing?


Thanks Yoav, but so far no one has figured out how to stream a mpeg-ts (as opposed to ps) stream to the TiVo, so until/unless we pass that hurdle, it won't make sense to start playing with h264 in a TS stream.


----------



## moyekj

So to sum things up, the biggest challenges remaining to make Tivo streaming option much more useful than it currently is:
1. Good quality HD mpeg2 streaming is currently not really practical since it can't keep up with real time.
WORKAROUND: Re-encode those videos to high quality mpeg4 container with H.264 video & AC3 audio. This cannot be done on the fly.

2. 1.1 GB buffer limitation.
WORKAROUND: Streambaby already works around this issue by starting a new stream at the buffer limit point, but it's not ideal to have to start a new stream for which a new buffer will have to build up. This sort of ties back to issue 1 where for high bit rate streams the buffer build up is not fast enough for real time playback.
There must be a solution to this issue as Tivo/Netflix does not suffer from this problem.

Anyone that can come up with good solutions to above major issues will take Tivo streaming to the next level.


----------



## Yoav

moyekj said:


> There must be a solution to this issue as Tivo/Netflix does not suffer from this problem.


So I've always been curious as to how netflix avoids the issue. I thought it might be because they adjust their bitrate to match the network connection AND are already on a slow connection...

I'm still trying to understand the buffer limitation... is the following a fair explanation of the 1.1G limit?:


Code:


           A                          B
  |--------------|--------------------------|
              right now

 So if you're at the 'right now' point in a stream, A represents the area you can trivially rewind to, B is the area you can fast forward to that has already been downloaded but not yet seen, and anything outside requires the 'tiny image mode'.

Is the 1.1G limit on A+B? or just B? (I was hoping it's just B). If so, and the application knows where it's at (another if?). Would it not be possible to slow down the transfer so that B doesn't fill up to 1.1G (or even just send a sigstop / sigcont to ffmpeg to force it to pause once in a while)?


----------



## westside_guy

Yoav said:


> Is the 1.1G limit on A+B? or just B? (I was hoping it's just B). If so, and the application knows where it's at (another if?). Would it not be possible to slow down the transfer so that B doesn't fill up to 1.1G (or even just send a sigstop / sigcont to ffmpeg to force it to pause once in a while)?


At least based on some tests I did streaming a file that is about 1.15G in size, it unfortunately appears to be a limit on A+B. I'd love to be wrong on that though (since most of my movie rips are in the 2G range).


----------



## moyekj

Yoav, the buffer limitation right now is pretty simple:
Once you open a stream and send it to Tivo it will only accept ~ 1.1 GB worth of data to be stored in it's stream buffer. Beyond that limit it will automatically close the stream. So if I understand your representation it's A+B as westside_guy replied above. Streambaby does know exactly what time point you are at while playing back a stream which is why the workaround to start a new stream once buffer endpoint is reached is possible. Problem is of course, as soon as you start a new stream the old buffer contents are thrown out and a new buffer starts to build up.
There was some interesting discussion in this thread that *possibly* you can have more than 1 stream at a time sent to a Tivo which if so could lead to some interesting possibilities (if nothing else it could be used to make a smooth/quick transition between streams) but I don't think it's been explored very much yet.


----------



## windracer

windracer said:


> I think there may be a problem with my Galleon instructions that prevent the transcoding from working. I haven't had a chance to play around with it yet though.


Well, I was able to send some .avi files through streambaby tonight (running under Galleon) and ffmpeg kicked off just fine.

I did get the "failed to open stream" message once when I tried a particular .wmv file. But when I tried a different one (again, .wmv), it worked as expected (ffmpeg kicked off):



Code:


root     15136 14576 86 20:29 ?        00:00:07 ffmpeg -ss 0.0 -i /mnt/media/Video/Home Movies/ffla_award.wmv -acodec ac3 -ac 2 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0 tcp://127.0.0.1:8500

I was able to send plain MPEG-2 across as well (no ffmpeg for those either).

_edit:_ the .wmv I was having problems with turned out to be a bad file. The video stream is WVP2 for some reason and my ffmpeg can't handle it. So it wasn't streambaby's fault.


----------



## ajayabb

windracer said:


> Well, I was able to send some .avi files through streambaby tonight (running under Galleon) and ffmpeg kicked off just fine.
> 
> I did get the "failed to open stream" message once when I tried a particular .wmv file. But when I tried a different one (again, .wmv), it worked as expected (ffmpeg kicked off):
> 
> 
> 
> Code:
> 
> 
> root     15136 14576 86 20:29 ?        00:00:07 ffmpeg -ss 0.0 -i /mnt/media/Video/Home Movies/ffla_award.wmv -acodec ac3 -ac 2 -ab 192k -vcodec mpeg2video -f vob -sameq -async 1 -v 0 tcp://127.0.0.1:8500
> 
> I was able to send plain MPEG-2 across as well (no ffmpeg for those either).
> 
> _edit:_ the .wmv I was having problems with turned out to be a bad file. The video stream is WVP2 for some reason and my ffmpeg can't handle it. So it wasn't streambaby's fault.


I wonder why I get an incompatible video stream error with windows. I guess for some reason ffmpeg isnt transcoding with my setup on Galleon


----------



## moyekj

ajayabb said:


> I wonder why I get an incompatible video stream error with windows. I guess for some reason ffmpeg isnt transcoding with my setup on Galleon


 Perhaps in your Galleon setup ffmpeg is not in your path? I don't know exactly how Galleon setup is but perhaps in the master script that starts Galleon you should check or ensure that the right ffmpeg is included in PATH.


----------



## ajayabb

moyekj said:


> Perhaps in your Galleon setup ffmpeg is not in your path? I don't know exactly how Galleon setup is but perhaps in the master script that starts Galleon you should check or ensure that the right ffmpeg is included in PATH.


I see Windracer has been able to activate transcoding thru Galleon. I wonder if my wrapper text differs from his. The classpaths seem to go thru the HME directory which contains ffmpeg.


----------



## windracer

ajayabb said:


> I see Windracer has been able to activate transcoding thru Galleon. I wonder if my wrapper text differs from his. The classpaths seem to go thru the HME directory which contains ffmpeg.


What if you try explicitly telling streambaby where your ffmpeg is located? It looks like you can add 'ffmpeg.path=' to the streambaby.ini file and point to where your ffmpeg.exe is.

My own ffmpeg is under /usr/bin, which is in my Linux path when Galleon starts, so that could be why my install can invoke ffmpeg but yours can't.


----------



## ajayabb

did you move the streambaby ffmpeg folder over to the galleon.bin folder?


----------



## kearygriffin

ajayabb said:


> did you move the streambaby ffmpeg folder over to the galleon.bin folder?


Actually, what I think may work is setting
lib.native=c:\path\to\streambaby\native
to wherever the native directory for streambaby is located. (Which contains the win32 ffmpeg libraries & executables)

It should automatically then look for both ffmpeg.exe and the libraries there.


----------



## ajayabb

kearygriffin said:


> Actually, what I think may work is setting
> lib.native=c:\path\to\streambaby\native
> to wherever the native directory for streambaby is located. (Which contains the win32 ffmpeg libraries & executables)
> 
> It should automatically then look for both ffmpeg.exe and the libraries there.


Still no dice. Still getting incompatible video stream with following .ini settings

#
# ./streambaby --help for more configuration file options
#

dir.1=G:\videos
#dir.1.name=Someones videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
port=7289
lib.native=C:\Program Files\streambaby-0.19a


----------



## kearygriffin

ajayabb said:


> Still no dice. Still getting incompatible video stream with following .ini settings
> ..
> ..
> lib.native=C:\Program Files\streambaby-0.19a


Try changing that line to read:
lib.native=C:\Program Files\streambaby-0.19a\native

And restarting.


----------



## vitocorleone

kearygriffin said:


> Actually, what I think may work is setting
> lib.native=c:\path\to\streambaby\native
> to wherever the native directory for streambaby is located. (Which contains the win32 ffmpeg libraries & executables)
> 
> It should automatically then look for both ffmpeg.exe and the libraries there.


Thanks for pointing that out - I defined both the lib.native and the preview.cache directories and, having followed windracer's instructions, it works FLAWLESSLY now - just as if I was running the service independently (only now I can still use Galleon for ToGo!). I'm very happy. Now to give it a genuine long test-run with a full movie....

(FYI - I had copied both the cache and native directories to the root of Galleon as well in case it doesn't work in some other directory; I never tried pointing the ini file to a directory outside of Galleon)


----------



## ajayabb

kearygriffin said:


> Try changing that line to read:
> lib.native=C:\Program Files\streambaby-0.19a\native
> 
> And restarting.


Ffmpeg still won't launch.


----------



## windracer

ajayabb said:


> did you move the streambaby ffmpeg folder over to the galleon.bin folder?


Nope ... because those files don't come with the Linux version (my native folder is empty).

Once you guys get it working on Windows, let me know the extra stuff and I'll update my post in this thread. Looks like the lib.native setting is working for vitocorleone but not ajayabb.


----------



## ajayabb

vitocorleone said:


> Thanks for pointing that out - I defined both the lib.native and the preview.cache directories and, having followed windracer's instructions, it works FLAWLESSLY now - just as if I was running the service independently (only now I can still use Galleon for ToGo!). I'm very happy. Now to give it a genuine long test-run with a full movie....
> 
> (FYI - I had copied both the cache and native directories to the root of Galleon as well in case it doesn't work in some other directory; I never tried pointing the ini file to a directory outside of Galleon)


Did you point preview.cache to the same directory as lib.native?


----------



## kearygriffin

I enabled google-code SVN access for people who want to follow along with the bleeding edge of streambaby development:
http://code.google.com/p/streambaby/source/checkout

I'm trying to use git locally and push/pull from google code SVN. I've never used git or svn before, so hopefully I'm doing things correctly. (I've been using mercurial for a couple of years, but I think the time has come to switch to git. So far the basics look very simple, and all I really need at this point are the basics).

The changelog file should always be main/changelog.txt listing the latest changes.

And for those of you who do try this, I'll try to explain the most controversial of the changes for the next revision:

I've changed the icons used for streambaby. I was a little worried about the license for the previous set of icons. Although the license said it was OK to use in open source software, it wasn't what I would call a real open source license. I wasn't sure if it was OK to mix the images with both the GPLed code, and I wasn't sure whether it was OK to host the icons on google code if they weren't one of the standard google-code licenses. The new icons are GPL/LGPL.

Having said that, I think the new icons look pretty good, and I've made it easier for people to change them if they wish. I'm hoping this will keep those people happy who don't like the new ones


----------



## jmemmott

moyekj said:


> There must be a solution to this issue as Tivo/Netflix does not suffer from this problem.


You may be looking at two different "streaming" modes, however. From the little I have looked into Netflix streams from the Silverlight/PlayReady DRM side, it appears that Netflix is using Windows Media Services rather than progressive downloads. The WMS server streams via Real Time Streaming Protocol (RTSP) which provides two-way out of band communications to monitor quality and allow the client to invoke DVR like commands (stop, pause, reposition, ... ) on the server side. This also allows it to be designed not to allow or need more than about one minute or so of media data on the client. This chunk is small enough it can be processed entirely in memory and should never be committed to any permanent storage during the process according to Microsoft : no disk buffers at all!


----------



## Yoav

kearygriffin said:


> I enabled google-code SVN access for people who want to follow along with the bleeding edge of streambaby development:
> http://code.google.com/p/streambaby/source/checkout


You rock!


----------



## herbman

jmemmott said:


> You may be looking at two different "streaming" modes, however. From the little I have looked into Netflix streams from the Silverlight/PlayReady DRM side, it appears that Netflix is using Windows Media Services rather than progressive downloads. The WMS server streams via Real Time Streaming Protocol (RTSP) which provides two-way out of band communications to monitor quality and allow the client to invoke DVR like commands (stop, pause, reposition, ... ) on the server side. This also allows it to be designed not to allow or need more than about one minute or so of media data on the client. This chunk is small enough it can be processed entirely in memory and should never be committed to any permanent storage during the process according to Microsoft : no disk buffers at all!


Of course then, the question is... how to stream over RTSP/MMS instead of plain-jane HTTP? RTSP would be a better protocol for all streaming anyway.


----------



## wmcbrine

Ah, now that's interesting. VLC supports rtsp. Let me try it the naive way in HME/VLC and see what happens...


----------



## herbman

wmcbrine said:


> Ah, now that's interesting. VLC supports rtsp. Let me try it the naive way in HME/VLC and see what happens...


My experience with VLC's RTP/RTSP *output* is that it's very shaky. In this case, you'd have to get the TiVo to request an rtsp stream that would be served out. What's your vlc sout string look like?


----------



## wmcbrine

So far no good...


----------



## moyekj

I don't have a Tivo/Netflix network sniffing file dump handy but from what I recall it was all HTTP based


----------



## kearygriffin

moyekj said:


> I don't have a Tivo/Netflix network sniffing file dump handy but from what I recall it was all HTTP based


I haven't spent a whole lot of time looking into this, but it did look HTTP based to me:
HTTP	GET /zzz/yyyyyyyyyy.wmv?etime=xxxxxxx&encoded=xxxxxxxxxxxxx
EDIT: Decided since I don't really know what all of this means, probably better not to post the complete URL


----------



## jmemmott

moyekj said:


> I don't have a Tivo/Netflix network sniffing file dump handy but from what I recall it was all HTTP based


Using HTTP as a carrier does not preclude the use of RTSP. Http tunneling is often used to traverse firewalls. The question is really whether the media is sent as a progressive download or as a RTSP conversation. I don't have an answer about the Tivo because I have not tried to watch the streams going in and out but RTSP would be consistent with the DRM practices Netflix uses elsewhere.

(http://www.streamingmedia.com/article.asp?id=10790&c=4)
_"HTTP streaming via Windows Media Services is straightforward, including live streaming, using the Windows Media HTTP Streaming Protocol. In explaining the HTTP Streaming Protocol, Microsoft notes the best use for this type of delivery. Besides the ability to push video streaming content through port 80, which is open on many firewalls to allow traditional web traffic that is delivered via HTTP, the Microsoft HTTP Streaming Protocol "is suitable for streaming delivery at a fixed rate or at a data rate correlating closely to rate at which the video will be displayed by the receiver.""

"This protocol, like other streaming protocols, also allows back-channel communications between the server and the client, allowing the client player to send feedback to the server to change the transmission rate to a secondary stream, which is referred to as "intelligent streaming" or "adaptive streaming.""

"In addition, on Windows Media files, HTTP streaming can also be used to send commands like fast-forward, rewind, pause, or location seek (also called click-byte or range request)."_


----------



## rfryar

Thanks for all the hard work already done on this project. It is really taking shape and looks nice.

I know it was mentioned that moyekj had some prilimiary support for the PyTivo .txt meta files in his streaming application. I was hoping that his initial work could be added to Streambaby to read the .txt files and display them to the screen if they are present.

Along with the request to read the TXT file would be to have a new icon name/value pair added to the txt file that could point at a "box" image for the movie.

I am a developer and have contributed to PyTivo, written a plugin for it, and done other work so if your time is booked perhaps I can take a look at this if there is interest.

Thanks for your efforts!

Rick


----------



## westside_guy

I was watching a show (via streambaby 0.19a) this evening, and paused it. I had to leave it paused for a few minutes. When I came back, live TV was playing! To make sure one of our dogs hadn't stepped on the remote, I tested it again - and after 5 (?) minutes on pause, my Tivo HD switched over to live TV again.

Is this a known problem? Or is my Tivo just odd?


----------



## kearygriffin

westside_guy said:


> I was watching a show (via streambaby 0.19a) this evening, and paused it. I had to leave it paused for a few minutes. When I came back, live TV was playing! To make sure one of our dogs hadn't stepped on the remote, I tested it again - and after 5 (?) minutes on pause, my Tivo HD switched over to live TV again.
> 
> Is this a known problem? Or is my Tivo just odd?


There's code in there from moyekj's original tivostream that is supposed (I think) prevent that by sending a signal to the tivo every 4 seconds or so.

Now having said that, I think there may be a case when this doesn't work. (I didn't think of it in this context till I saw westsides message). It is only activated when we are receiving events from the TiVo which is usually the case, as it is updating us with the current playing pos/duration/etc.

However, I think there is a case when the tivo has hit either the end of it's 1.1g buffer or the end of the file where it stops sending events when paused. (Because neither the duration nor the playing position is changing at that point). In this instance I think the TiVo may time out after a while and switch to live TV.

I'll have to look and see if there is anything I can do about this, but I'm not sure how hard it would be to fix.


----------



## Sevenfeet

Didn't Adobe just publish the official specs for RTSP, sans DRM?


----------



## herbman

Sevenfeet said:


> Didn't Adobe just publish the official specs for RTSP, sans DRM?


They published specs for a flash-related streaming protocol. RTSP is long standardized and available. MS's implementation of it for Windows Media Services (for server 2003 and server 2008) is a little "enhanced", as they usually do.


----------



## wmcbrine

kearygriffin said:


> There's code in there from moyekj's original tivostream that is supposed (I think) prevent that by sending a signal to the tivo every 4 seconds or so.


Oh yeah, I always meant to comment on that... it's a misfeature. Here's what you're currently doing:



Code:


// Prevent timeout by sending acknowledge signal every few mins
if (date > timeout_idle) {
    getApp().acknowledgeIdle(true);
    timeout_idle = date + 4000;
}

This is in the middle of handleEvent(). So, you only acknowledge an idle event if it's been more than four seconds since the last time you did; if you happened to get more than one event within four seconds, the second event would be ignored (and the TiVo would drop the connection). Moreover, you don't actually acknowledge idle events at all, but rather _any_ event that comes outside of four seconds from the last time you did it. This is all wrong.

The right thing to do is to just handle the idle event. Here's how I did it in HME/VLC:



Code:


def handle_idle(self, idle):
    if idle and not self.stream.speed:
        if self.app.using_vlc:
            vlc.stop()
            self.app.using_vlc = False
    return bool(self.stream.speed)

In my case, as you can see, I'm intentionally _not_ handling idle events when the stream is paused. But I'm getting annoyed with the results, so I'll probably change that.

In your case, you should probably just take out those lines, and add something like this (not tested):



Code:


public boolean handleIdle(boolean isIdle) {
    if (isIdle) {
        getApp().acknowledgeIdle(true);
    }

    return true;
}


----------



## kearygriffin

Re: Idle timeout



wmcbrine said:


> Oh yeah, I always meant to comment on that... it's a misfeature.


Thanks, I definitely would have "fixed" it the wrong way (and in a far more complicated way). I never realized (never looked) that there was an actual "EVT_IDLE" event.

I've put in the code you suggested and will try it out tonight. Basically the logic (if I understand it correctly), assuming I want to always acknowledge idle and not timeout, is in the handle event loop:


Code:


If event.code == EVT_IDLE then acknowledge idle

EDIT: Of course after trying this and looking into it more, I'm wrong again, and should have actually looked closer at what you said and the HME. Fixed.


----------



## jasa

kearygriffin I just wanted to say how much I like what you are doing and that your application rocks !!!!!! although I like to have some minor fixes: first I would love to see some more format support added and also audio formats as well, I have been testing this app or about a week and I really love that you guys found a way to overcome 1.1G limit, but there has been times when it plays some .avi files and gives me incomparable video stream on others, also I would really like to have .flv format supported and maybe add an ability to stream over internet. other than that if you guys work a little on high def menu it will be the best app ever.


Once again I think that your application is one of the reasons people should by tivo )))
I am very thankful for all the hard work you guys putt into this app and I will also try to lep out with minor fixes i Might do myself )))


----------



## windracer

jasa said:


> but there has been times when it plays some .avi files and gives me incomparable video stream on others, also I would really like to have .flv format supported


That's the beauty of these apps that use ffmpeg in the background ... theoretically any format your build of ffmpeg can support, these apps can pass thru (i.e., transcode) for the TiVo.

That being said, my build of ffmpeg on Ubuntu has .flv support. I was able to transcode an .flv through pyTivo just fine. But even after adding flv to the extensions list of my streambaby.ini file, streambaby says it's an incompatible video stream.


----------



## kearygriffin

windracer said:


> That being said, my build of ffmpeg on Ubuntu has .flv support. I was able to transcode an .flv through pyTivo just fine. But even after adding flv to the extensions list of my streambaby.ini file, streambaby says it's an incompatible video stream.


Yeah, I was being a little to conservative on what I let ffmpeg try to transcode. The next version will have the spigots opened wider to attempt any format. (The current version can actually do FLV with the correct INI options, but it's probably just easier to wait a day or so for the next version).

I also added FLV to the default extensions list.


----------



## Yoav

kearygriffin said:


> Yeah, I was being a little to conservative on what I let ffmpeg try to transcode. The next version will have the spigots opened wider to attempt any format. (The current version can actually do FLV with the correct INI options, but it's probably just easier to wait a day or so for the next version).
> 
> I also added FLV to the default extensions list.


While you're adding, can you add .m4v (mp4 container, pretty much what apple uses for h.264/ac3 streams).


----------



## milkrun

I'm now running pyTivoX 1.1b4 the application is now appearing in the app list and I can stream movies.

Some strangeness is occuring when I start playing the movie, the signal that the tivo sends is so strange that the TV or my receiver is losing sync. This results in my plasma showing static but I still hear the audio thru the speakers. If I switch to DVD and switch back, I get the stream and the audio again and the movie looks good. I haven't watched an entire movie, but it did fine for the 10 minutes I watched.

One nitpick I have is that the filenames in Streambaby show the extensions. In this case, .mp4. In pyTivoX they are removed.

Thanks again for all your hard work.


----------



## windracer

milkrun said:


> One nitpick I have is that the filenames in Streambaby show the extensions. In this case, .mp4. In pyTivoX they are removed.


I don't know about pyTivoX but that's a setting in the streambaby.ini file (trimextensions= (default:false)).


----------



## Yoav

windracer said:


> I don't know about pyTivoX but that's a setting in the streambaby.ini file (trimextensions= (default:false)).


Ok I'll drop the extensions in the next release.


----------



## Yoav

milkrun said:


> Some strangeness is occuring when I start playing the movie, the signal that the tivo sends is so strange that the TV or my receiver is losing sync. This results in my plasma showing static but I still hear the audio thru the speakers. If I switch to DVD and switch back, I get the stream and the audio again and the movie looks good. I haven't watched an entire movie, but it did fine for the 10 minutes I watched.


The first 10 seconds of a stream is 'weird' (people generally see blockiness/no picture/green/an older movie..) I'm guessing your TV or receiver is unhappy enough with that sort of input that it's freaking out. I'm not sure if that will ever be resolved though (it sounds like it's some issue with how the h.264 stream is decoded in the tivo, involving some buffering of old data?). There may be a workaround possible, but I don't know of one...


----------



## kearygriffin

Yoav said:


> The first 10 seconds of a stream is 'weird' (people generally see blockiness/no picture/green/an older movie..) ...
> I'm not sure if that will ever be resolved though (it sounds like it's some issue with how the h.264 stream is decoded in the tivo, involving some buffering of old data?). There may be a workaround possible, but I don't know of one...


I have a couple of videos that show this problem, and they are all encoded with Handbrake.

I've added a few things to help minimize the problem, but don't think it solves the issue all of the time.

The problematic videos also seem to have problems with other players.
mplayer: Plays fine, but playing with mplayer -ss 0.01 file.mp4 gives green stuff and h264 decoding errors.
vlc: Sometimes gives green stuff in the beginning. From the results I get it seems like it's accessing uninitialized data, because the first time I play I get green, but then it gets hard to reproduce.

So it seems that at least certain combinations of Handbrake and various players is causing some issues, only with the beginning of the stream. I'm not sure what the issue is. It may be the handbrake is doing something completely legal in the files, but some players aren't equipped to handle it well.


----------



## Sicklybutsexy

There's no way to get this program to support closed captions is there? It has become my primary mode of adding .srt subtitles to movies using T2sami (very easy and quick ie...no re-encoding).


----------



## westside_guy

Yoav said:


> The first 10 seconds of a stream is 'weird' (people generally see blockiness/no picture/green/an older movie..) I'm guessing your TV or receiver is unhappy enough with that sort of input that it's freaking out. I'm not sure if that will ever be resolved though (it sounds like it's some issue with how the h.264 stream is decoded in the tivo, involving some buffering of old data?). There may be a workaround possible, but I don't know of one...


Well, thing is - tivostream doesn't have this problem with the exact same files.  So it's apparently due to something streambaby is doing differently than tivostream did.


----------



## jmemmott

Sicklybutsexy said:


> There's no way to get this program to support closed captions is there? It has become my primary mode of adding .srt subtitles to movies using T2sami (very easy and quick ie...no re-encoding).


All my attempts to date lead to the conclusion you can't. It is not the fault of the streaming programs. Rather it appear that the Tivo does not support the caption decoder when it is processing streamed video. Even streaming a .tivo source file which we know contains captions as an mpeg will not display captions.

As an interim solutions, t2sami can use mencoder to process the .srt to open captions in an mpeg that can be streamed but that does require reencoding the video.


----------



## moyekj

jmemmott said:


> All my attempts to date lead to the conclusion you can't. It is not the fault of the streaming programs. Rather it appear that the Tivo does not support the caption decoder when it is processing streamed video. Even streaming a .tivo source file which we know contains captions as an mpeg will not display captions.
> 
> As an interim solutions, t2sami can use mencoder to process the .srt to open captions in an mpeg that can be streamed but that does require reencoding the video.


It is possible for a streaming application such as streambaby to read a helper srt file and display the captions. Probably the biggest issue though would be getting proper sync with video & text since the event granularity is not well defined. For example, Keary has mentioned this before that indication of current position in the stream for H.264 can be off by as much as 8 seconds or so. Also for cases when text needs to change rapidly there may not be enough granularity/resolution to display them properly.
I haven't spent any time trying to implement it but I suspect at least a poor man's version is possible but the question would be is it worth the time investment when the outcome may be dubious.
Another question is I don't know how accurate .srt file generation is. Obviously if there are problems there then there's no way you can ever keep video+text in sync.


----------



## jmemmott

moyekj said:


> I haven't spent any time trying to implement it but I suspect at least a poor man's version is possible but the question would be is it worth the time investment when the outcome may be dubious.
> Another question is I don't know how accurate .srt file generation is. Obviously if there are problems there then there's no way you can ever keep video+text in sync.


I am in basic agreement. When the helper approach was first put forward, my belief was that the sync problems would be great enough that it would be a serious irratation to those who rely on captions - much like out of sync sound is for the hearing population.

As far at the accuracy of the .srt files, they are as good as the caption editor makes them. When I convert to/from closed captions, I can get frame accurate placement of the starting point. When they come from anime and fansubs, my experience is that there is equal care in locating them carefully.

This is one of the reasons (along with the GB limit) that I have been hoping that the Netflix streaming mode will bear fruit and have been pursuing the production side of that problem. When fully implemented in the Tivo and Silverlight Players, it will provide full support for captioning that is as accurate as closed captioning in broadcast video is capable of being.


----------



## Sevenfeet

After a Google search, I found out that ffmpeg has been successfully ported to Solaris 10. I'll need a bunch of gcc software (normally found on my Unix machines but since I recently rebuilt it, I'm starting from scratch) and the source from svn. But after all that, I think I can get streambaby to run on it with all features, much like Linux.


----------



## ajayabb

ajayabb said:


> Ffmpeg still won't launch.


Well I finally got it running with Galleon. Thanks for everybody's help. My biggest challenge was getting ffmpeg to launch. I was able to stream mpeg videos without a problem, but for some reason I was unable to launch ffmpeg thru Galleon. I finally decided to download a new ffmpeg build and scripted ffmpeg.path=C:\programfiles\ffmpeg\ffmpeg.exe (in my case) under the .ini folder. All is good now!


----------



## windracer

ajayabb said:


> Well I finally got it running with Galleon.


Do you get thumbnails when FF'ing? I just noticed I get a gray screen with just the timecode in it so I'm wondering if my instructions are still lacking.


----------



## Yoav

windracer said:


> Do you get thumbnails when FF'ing? I just noticed I get a gray screen with just the timecode in it so I'm wondering if my instructions are still lacking.


should be able to get around that by setting

LD_LIBRARY_PATH=/usr/local/lib

(or wherever you have ffmpeg's libs) in the environment...

(I think if you set -Djava.lib when launching java it still wont work since there are interdependencies that the ld.so will not find).


----------



## ajayabb

windracer said:


> Do you get thumbnails when FF'ing? I just noticed I get a gray screen with just the timecode in it so I'm wondering if my instructions are still lacking.


Nope No Thumbnails for me either


----------



## windracer

Yoav said:


> should be able to get around that by setting
> 
> LD_LIBRARY_PATH=/usr/local/lib


That didn't seem to work either. Not a big deal for me personally, but I should probably figure out why it's not working.


----------



## Yoav

windracer said:


> That didn't seem to work either. Not a big deal for me personally, but I should probably figure out why it's not working.


I'm curious. Do you have ffmpeg built statically or using shared libs? And if using shared libs where are they stored?
if my memory of linux is still working, I believe you can check that by typing


Code:


 ldd <path to ffmpeg>

 Go into the streambaby directory, edit simplelog.properties, and replace the words 'Warn' with 'debug'. It should at least try and give you some more useful info...

(you need the shared libs to be loaded by streambaby for the preview icons to work immediately.. otherwise it will rely on ffmpeg to generate preview images, which can take a while -- and until that's done you will see the gray box with the clock).


----------



## kearygriffin

Yoav said:


> should be able to get around that by setting
> 
> LD_LIBRARY_PATH=/usr/local/lib
> 
> (or wherever you have ffmpeg's libs) in the environment...
> 
> (I think if you set -Djava.lib when launching java it still wont work since there are interdependencies that the ld.so will not find).


I did try to work-around the need for this, and I think at least in Linux the work around works(?). I load the ffmpeg libraries in the order libavutil, libavcodec, and then libavformat. By loading them in this order from specific locations, I think (hope?) that the correct versions will always get loaded. util has no dependencies, codec depends only on util, and format depends on util and codec. By manually loading in a specific order, by the time ld.so was looking for the inter-dependency, it would already have loaded the library it was looking for(?) from the correct location.

This seemed (at the time I was playing with it) to work for me.

But people who are having problems, please do try the LD_LIBRARY_PATH approach and see if it works.


----------



## Sicklybutsexy

I have an mpeg that won't stream over unless ffmpeg is working (which means it is transcoding it when it shouldn't be). I confirmed this by deleting ffmpeg after noting that it was running while I was transferring. In pyTivo it does not transcode the file but "streams" it over. Any ideas:

Format : MPEG-PS
FileSize/String : 3.99 GiB
Duration/String : 1h 15mn
OverallBitRate/String : 7 585 Kbps

Video
ID/String : 224 (0xE0)
Format : MPEG Video
Format_Version : Version 2
Format_Profile : [email protected]
Format_Settings_Matrix/String : Default
Duration/String : 1h 15mn
BitRate_Mode/String : Variable
BitRate/String : 6 610 Kbps
BitRate_Nominal/String : 9 000 Kbps
Width/String : 1 280 pixels
Height/String : 688 pixels
DisplayAspectRatio/String : 16/9
FrameRate/String : 25.000 fps
Colorimetry : 4:2:0
ScanType/String : Progressive
Bits-(Pixel*Frame) : 0.300

Audio
ID/String : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration/String : 1h 15mn
BitRate_Mode/String : Constant
BitRate/String : 448 Kbps
Channel(s)/String : 6 channels
ChannelPositions : Front: L C R, Surround: L R, LFE
SamplingRate/String : 48.0 KHz

Menu
Format : DVD-Video


----------



## kearygriffin

Sicklybutsexy said:


> I have an mpeg that won't stream over unless ffmpeg is working (which means it is transcoding it when it shouldn't be). I confirmed this by deleting ffmpeg after noting that it was running while I was transferring. In pyTivo it does not transcode the file but "streams" it over. Any ideas:


Is it possible to post the output of:
ffmpeg -i myfile.mpg

For the problematic file. My guess is that for some reason I'm not parsing the output of ffmpeg correctly for this file

And just so I don't have to bother you again if this doesn't give enough information, if you edit simplelog.properties and change the first line to:
com.unwiredappeal=debug

And then rerun streambaby and try to play the problematic file. The open streambaby.log and look for the the following section:
...
...
FFmpegXXXXVideoModule: VideoInfo:
uri: file:/home/keary/videos/hb2.m4v, Container: mp4, Duration: 1641.606 seconds
Video: h264 640x480 29.97002997002997 fps
PixAspect: 1.0, Aspect: 1.3333334
Audio: ac3 48000HZ 2 channels

where uri is your file, and post that also. (XXXX might be Exe or Java depending on your setup)

Thanks


----------



## kearygriffin

westside_guy said:


> Well, thing is - tivostream doesn't have this problem with the exact same files.  So it's apparently due to something streambaby is doing differently than tivostream did.


I do think I made it better (nxt version) with the files you provided me (thanks). I made the mp4 code do less processing if the start position is 0. (and the problems seemed to all related seeking anywhere near the beginning of the file). I don't get the green/blocky-ness most of the time, but occasionally (1 in 5/10?) I still get it.


----------



## Yoav

kearygriffin said:


> I do think I made it better (nxt version) with the files you provided me (thanks). I made the mp4 code do less processing if the start position is 0. (and the problems seemed to all related seeking anywhere near the beginning of the file). I don't get the green/blocky-ness most of the time, but occasionally (1 in 5/10?) I still get it.


Oh, since I'm not sure if you're keeping up with the pyTivoX threads, I'll mention it here. I was using the latest streambaby (via svn) and people were complaining that after 5 minutes their stream was dropped (always.. even live playing ones -- not just paused). I assume you're aware / working on a fix? Can you mention when you check in a fix?

Thanks!!


----------



## Sicklybutsexy

here is what the log shows, thanks:

01/30/09 13:07:00 FFmpegExeVideoModule: FFmpegCmd: C:\Users\jay\Downloads\streambaby-0.19a\streambaby-0.19a\native\ffmpeg.exe -i C:\Users\jay\Videos\HD Movies\itsanmp4.mpg
01/30/09 13:07:01 FFmpegExeVideoModule: VideoInfo:
uri: file:/C:/Users/jay/Videos/HD%20Movies/itsanmp4.mpg, Container: mpeg, Duration: 4513.82 seconds
Video: mp2v 1280x688 0.0 fps
PixAspect: 0.95555556, Aspect: 1.7777778
Audio: ac3 48000HZ 0 channels
01/30/09 13:07:01 HostContext: key=mpos:file:/C:/Users/jay/Videos/HD%20Movies/itsanmp4.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false


----------



## kearygriffin

Sicklybutsexy said:


> here is what the log shows, thanks:
> 
> 01/30/09 13:07:00 FFmpegExeVideoModule: FFmpegCmd: C:\Users\jay\Downloads\streambaby-0.19a\streambaby-0.19a\native\ffmpeg.exe -i C:\Users\jay\Videos\HD Movies\itsanmp4.mpg
> 01/30/09 13:07:01 FFmpegExeVideoModule: VideoInfo:
> uri: file:/C:/Users/jay/Videos/HD%20Movies/itsanmp4.mpg, Container: mpeg, Duration: 4513.82 seconds
> Video: mp2v 1280x688 0.0 fps
> PixAspect: 0.95555556, Aspect: 1.7777778
> Audio: ac3 48000HZ 0 channels
> 01/30/09 13:07:01 HostContext: key=mpos:file:/C:/Users/jay/Videos/HD%20Movies/itsanmp4.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false


That all looks fine (well, the fps and channels are wrong, but that should be fixed in the next version and doesn't get used in the current version).

So my current guess is this:
1) You can't delete FFmpeg. If you delete ffmpeg then streambaby won't be able to use it to get the length, type, etc of the videos, so this is why the video won't play at all when you delete it.
2) The reason ffmpeg was running in the background when you tried to play the video, was not because it was transcoding it, but because it was generating the thumbnails for preview mode. You can disable the autogeneration of thumbnails by setting in streambaby.ini:
preview.autogenerate=false


----------



## Sicklybutsexy

kearygriffin said:


> That all looks fine (well, the fps and channels are wrong, but that should be fixed in the next version and doesn't get used in the current version).
> 
> So my current guess is this:
> 1) You can't delete FFmpeg. If you delete ffmpeg then streambaby won't be able to use it to get the length, type, etc of the videos, so this is why the video won't play at all when you delete it.
> 2) The reason ffmpeg was running in the background when you tried to play the video, was not because it was transcoding it, but because it was generating the thumbnails for preview mode. You can disable the autogeneration of thumbnails by setting in streambaby.ini:
> preview.autogenerate=false


Ah. That would explain the fact that ffmpeg wasn't working very hard. thanks again.


----------



## windracer

Yoav said:


> I'm curious. Do you have ffmpeg built statically or using shared libs? And if using shared libs where are they stored?


Here's what ldd gives me:


Code:


[email protected]:~$ ldd /usr/bin/ffmpeg
        linux-gate.so.1 =>  (0xb7f08000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb7ecc000)
        libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7ea6000)
        libfaac.so.0 => /usr/lib/libfaac.so.0 (0xb7e93000)
        libfaad.so.0 => /usr/lib/libfaad.so.0 (0xb7e53000)
        libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0xb7dbe000)
        libtheora.so.0 => /usr/lib/libtheora.so.0 (0xb7d73000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0xb7c79000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0xb7c4f000)
        libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0xb7b36000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7b32000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7b19000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb79bb000)
        /lib/ld-linux.so.2 (0xb7eee000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0xb79b5000)

I'll try the LD_LIBRARY_PATH=/usr/lib again tonight along with the debug logging.


----------



## kearygriffin

Streambaby V0.20beta 
has been released. I'm calling it beta, as there are some core changes and I consider it more of a beta than usual.

You can check out the complete change list here:
ChangeLog

As I alluded to in an earlier message, the icon's have changed by default, as I was nervous about a couple of licensing issues. (The icons license gives permission to use in open source, but I am unsure of compatibility with GPL/google code/etc)
The icons are stored now in the assets directory of streambaby, and can be changed using the following ini settings:
icon.icon=, icon.folder=, and icon.movie=. FIlenames are relative to the assets dir

The main feautre that has been added is actually disabled by default (I may enable it in the next/future version, but I wanted to get reaction first).
This feature is the ability to select a quality from the "play" screen. When enabled, it allows you to select a quality/bitrate to stream at. Only bitrates that are less than the bitrate of the movie are shown.
Same=Stream at same quality as original (i.e. stream straight to tivo or use -sameq)
(Note: There are settings in the INI to enable Auto quality, but it is non-functional yet. Auto=determine bandwidth automatically)

Note: People who have changed their default ffmpegexe.transcode line should remove any reference to bitrate/quality (i.e. -bitrate or -sameq) from the line, even if they do not enable the new quality features.
The quality is now set by changing ffmpegexe.transcode.sameqargs= and ffmpegexe.transcode.qualityargs. sameqargs is used for "same" quality (default), quality is used for diffrent bitrates.

See a more complete description here:
QualitySettings

Other features that people asked for in no particular order (and not complete) that are in this version:
INI settings for: not caching password, not ignoring files beginning with a dot, jumping straight to the first folder (dir.1) if it is the only one.
minimal .tivo file support (although I don't think it will be useful)
alpha cutlist support (EDL files)-- Let me know how it goes, if it doesn't work well I may have to remove it. Accuracy may be off by too much to be useful.

Make sure to check out the new INI settings for some of the new features:
New for 0.020

Still to do, in no particular order (and no guarantees that I dont go in a completely different direction...)
1. metadata support/better "info"
2. auto-quality support
3. easier/better galleon integration? Probably won't do complete config at this point.
Note: I'm a little worried I made galleon support worse in this version, if so, sorry.

Also note, I've stopped uploading the -src distribution, as the latest source should always be available in SVN.


----------



## Yoav

> Here's what ldd gives me:


Ok nothing will help there
your ffmpeg is linked statically to the ffmpeg libraries ( libavutil, libavcodec, etc are not listed as
shared libraries to find -- ergo they are statically linked into the ffmpeg binary)

you will need to get those shared libs from somewhere to make it work. 
Did you get ffmpeg from a package? did you build it?


----------



## Emillion

# An unexpected error has been detected by Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x78010aa8, pid=1100, tid=2784
#
# Java VM: Java HotSpot(TM) Client VM (10.0-b23 mixed mode, sharing windows-x86)
# Problematic frame:
# C [msvcrt.dll+0x10aa8]
...............................................
VM Arguments:
jvm_args: -Xmx256m 
java_command: C:\Program Files\StreamBaby\/jbin/streambaby.jar
Launcher Type: SUN_STANDARD
..............................................
--------------- S Y S T E M ---------------
OS: Windows 2000 Build 2195 Service Pack 4

0.18 did not have this error, any ideas? Firewall, JRE?

Great app - loved tivostream, love this,
Thank you


----------



## kearygriffin

Emillion said:


> # An unexpected error has been detected by Java Runtime Environment:


At what point did you receive this error? As soon as streambaby was started, or at some point later on (like when attempting to play a particular video, etc..)

Thanks


----------



## Yoav

(bug report removed)
* edit * Ok it looks more complicated than my post.
It seems some inputs can be resampled 5.1 -> 2, others can't.. let me see if I can figure out what's going on.

Ok:
5.1 AAC -> 2 AC3 is not doable
5.1 AC3 -> 2 AC3 works

So, <grumble> it *shouldn't* matter, but I guess input encoding does. I guess 'screw it' for now. Easier to keep things as h.264/ac3 than worry about this crap.. . I'm going to set my 2channel default to 0 to avoid worrying about this.


----------



## kearygriffin

Yoav said:


> (bug report removed)
> * edit * Ok it looks more complicated than my post.
> It seems some inputs can be resampled 5.1 -> 2, others can't.. let me see if I can figure out what's going on.
> 
> Ok:
> 5.1 AAC -> 2 AC3 is not doable
> 5.1 AC3 -> 2 AC3 works
> 
> So, <grumble> it *shouldn't* matter, but I guess input encoding does. I guess 'screw it' for now. Easier to keep things as h.264/ac3 than worry about this crap.. . I'm going to set my 2channel default to 0 to avoid worrying about this.


<grumble> is right. I just tested with my newer version of ffmpeg (SVN from mid-december) and have the same issue with resampling. The older ffmpeg that ships with my Ubuntu 8.10 happily resamples 5.1 aac -> 2 ac3.

I'll either drop the 2-channel option completely, or more than likely just make the default 0 like you in the next rev, just in case this gets changed/fixed in ffmpeg at some point.


----------



## windracer

Yoav said:


> Did you get ffmpeg from a package? did you build it?


Built it myself, yah.

I'm going to try the new version, see what happens.


----------



## Yoav

windracer said:


> Built it myself, yah.
> 
> I'm going to try the new version, see what happens.


Just make sure to use the --enable-shared flag when you run configure.
That will build the binary using shared libs.. then run 'make install' to put the shared libs into /usr/local/lib and the app into /usr/local/bin

(or whatever.. just if you use --prefix, make sure wherever you put it is a location ld.so knows to look for libs in)


----------



## windracer

I meant I was going to try the new version of streambaby, not ffmpeg. 

I _might_ try recompiling ffmpeg at some point, but right now I've got it just the way I like it. I can live without thumbnails while FF'ing.


----------



## jasa

I just tested new version and it looks that it is more developed than older version version and overall tivo recognition is better plus time out has been fixed, all of this are good, but flv video sound sucks((( I just hear some funny voices probably a audio codec issue.

I think only problem as of now is support for file types, and since this is based on ffmpeg you should not have much trouble adding full list of file types such as 3gp and so on )))

In general I just wanted to say that program rocks and thanks again


I do not get why people want to integrate this with galleon??? whats the big deal???

I think it works better on its own, or at least from my experience galleon and streambaby do not run as smoothly together.


----------



## windracer

jasa said:


> I do not get why people want to integrate this with galleon??? whats the big deal???


a) because we can 
b) because I don't need multiple java services running on my server listening on multiple ports requiring multiple startup scripts when I can do it all in one "container"


----------



## Yoav

Ok Keary. commentary?:

Toying around with some videos, I've noticed that if I supply -s 1920x1080, videos are always 'fitted to the screen correctly'. 1.85 movies have bars above/below. 1.33 movies have bars to left/right. 1.66 fit just right.

If I let streambaby select the resolution, 'stretching' occurs. And it's 'weird'. some 1.33 films are stretched to fit. Some 1.66 films are letterboxed. etc..

So, I thought maybe supplying an -aspect flag would help.. While it helps some (16:9 films, when I use -aspect 1, work) it's not a fixer. I was thinking that maybe for particular resolutions, tivo just does its own thing with aspect ratios and ignores the PAR/DAR values? I figure someone must have come across this issue with pyTivo?

Anyways, here's an example 4:3 encode:


Code:


Input #0, matroska, from '/Volumes/External Disk/movies/Cartoons/Shrek_2.mkv':
  Duration: 01:32:24.68, start: 0.000000, bitrate: N/A
    Stream #0.0(eng): Video: h264, yuv420p, 720x478, PAR 8:9 DAR 320:239, 23.98 tb(r)
    Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16

 and from the log:


Code:


uri: file:/Volumes/External%20Disk/movies/Cartoons/Shrek_2.mkv, Container: mkv, Duration: 5544.689 seconds
Video: h264 720x478 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5062761

(note that the the computed PixAspect and Aspect values are wrong).

Ideas?


----------



## windracer

kearygriffin said:


> Note: I'm a little worried I made galleon support worse in this version, if so, sorry.


Actually, I think you made it better/easier! I've updated my post with the steps in it.

Somehow, I'm getting thumbnails when FF'ing now as well! Maybe due to the improved/streamlined setup (thanks to the streambaby.dir setting).

I can also confirm that ignore.dotfiles and toplevel.skip work beautifully. Thanks! :up:


----------



## Yoav

windracer said:


> Actually, I think you made it better/easier! I'm going to update my post with the steps in it.
> 
> Somehow, I'm getting thumbnails when FF'ing now as well! Maybe due to the improved/streamlined setup (thanks to the streambaby.dir setting).
> 
> I can also confirm that ignore.dotfiles and toplevel.skip work beautifully. Thanks! :up:


re:thumbnails:
If you have the shared libs, they are always 'working'. If you don't, then it will generate (quietly, in the background) thumbnail icons. If you wait long enough before fast forwarding, it will have them all ready and you won't know a thing has changed. However, if you try early enough -- before the relevant ones have been generated, you will get a gray thumbnail.


----------



## windracer

Ok, that explains what I'm seeing then.

I found this in my logs, so it would seem you're right (not that I doubted you ):



Code:


INFO   | jvm 1    | 2009/01/30 23:11:16 | 01/31/09 04:11:16 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries

I guess a rebuild of ffmpeg is next on my to do list ... maybe this weekend.


----------



## westside_guy

Hmm, streaming w/ 0.20beta on my Mac (using Java 1.6), video in the one animated show I watched would start and stop - animation wasn't smooth, in other words, like it was dropping a a bunch of frames every so often. Audio seemed fine (smooth). I then tried watching the same show with 0.19a and didn't see any problems with audio or video.


----------



## bluehz

Upgraded to 0.20 on Ubuntu 8.10 server running through galleon and no go. As soon as I hit the StreamBaby, Stream menu item I get this in the logs:

23:46:08,674 INFO [Acceptor] AppHost - Current resolution is: com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]
23:46:08,687 INFO [Acceptor] AppHost - HME receiver disconnected
23:46:08,705 INFO [Acceptor] AppHost - connection to receiver closed
23:46:08,706 INFO [Acceptor] AppHost - Unexpected error: java.lang.NullPointerException

FWIW - streambaby standalone 0.20 runs just fine. Any suggestions windracer?


----------



## kearygriffin

Yoav said:


> If I let streambaby select the resolution, 'stretching' occurs. And it's 'weird'. some 1.33 films are stretched to fit. Some 1.66 films are letterboxed. etc..


Is this only the case with transcoded files? (In particular transcoded using a quality other than SAME). Or do you get the distortion with "Same" transcoding? (With qualities other than same I specify a scaling. For SAME I don't tell ffmpeg anything about the aspect/scaling)

I know moyekj reported something similar with some WMV files, and I never did figure out what was happening.


----------



## Yoav

bluehz said:


> Upgraded to 0.20 on Ubuntu 8.10 server running through galleon and no go. As soon as I hit the StreamBaby, Stream menu item I get this in the logs:
> 
> 23:46:08,674 INFO [Acceptor] AppHost - Current resolution is: com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]
> 23:46:08,687 INFO [Acceptor] AppHost - HME receiver disconnected
> 23:46:08,705 INFO [Acceptor] AppHost - connection to receiver closed
> 23:46:08,706 INFO [Acceptor] AppHost - Unexpected error: java.lang.NullPointerException
> 
> FWIW - streambaby standalone 0.20 runs just fine. Any suggestions windracer?


It would help if you could isolate this to galleon->streambaby interaction or a bug in streambaby... Can you run streambaby manually? do you still get the error?


----------



## Yoav

kearygriffin said:


> Is this only the case with transcoded files? (In particular transcoded using a quality other than SAME). Or do you get the distortion with "Same" transcoding? (With qualities other than same I specify a scaling. For SAME I don't tell ffmpeg anything about the aspect/scaling)
> 
> I know moyekj reported something similar with some WMV files, and I never did figure out what was happening.


This is entirely for transcoded files (I don't have many movies that are streamed, but I can try to track down some h264/ac3 mp4s to test it with).

This is true for both 'same' and 'high/medium/etc'. i.e. If you don't supply a resolution to scale it to, the original movie resolution is still being stretched. when you do supply a resolution, you're always using 'original resolution' or a 'constant multiple for both x and y', so it's still stretched the same way.

The files I'm toying with are mkv files h264/ac3. Although it doesn't seem like the container format matters...

I'm wondering if a 'fix' might involve doing something like:
high = 1920x1080
medium = 720 x 400
low = 640x360

(or something like that) and always rescaling to those values?
Out of interest.. are you not seeing this at all? not even 16:9 movies getting letterboxed?


----------



## kearygriffin

Yoav said:


> (or something like that) and always rescaling to those values?
> Out of interest.. are you not seeing this at all? not even 16:9 movies getting letterboxed?


I mostly have MP4 files. Even the MPG&AVI files that I use for testing are transcoded from my MP4 originals.

And just to make sure, is the ffmpeg -i information you put in your post from the same ffmpeg that streambaby is using?

The reason I ask is I have an anamorphic wmv file, and my older ffmpeg prints out the correct info, but a new (mid december version) doesn't print out the aspect ratio. I'm compiling todays ffmpeg SVN to see what it says.

And just to note, streambaby calculating the wrong aspect is not critical, as it is only currently used to generate a correct aspect thumbnail, but it could be a clue as to the problem.


----------



## Yoav

Wow, ok my bad!

It looks as if the tivo had the output display set to "smart (SD=4:3, HD=16:9)" and that was causing both 4:3 to fill the output (and the amp would stretch it) and made 1.66 show up squished. When ffmpeg was expanding everything to 1080, then of course it was always using 16:9 and always looked right...

So, everything is 'working as it should be'... My bad for taking so long to realize this, and sorry


----------



## kearygriffin

Yoav said:


> Ok, so for testing purposes:
> (ok it's uploaded)
> http://yoav.org/files/Test.zip
> 
> (it's big) contains two 1.33 files, two 1.66, and two 1.85
> In theory, the 1.33 should be sideboxed, 1.66 should fit perfectly, and 1.85 should be letterboxed. Instead, the 1.33 is stretched, and the 1.66 is squished on my setup. I'd love to know if you're seeing the same thing.
> 
> And to answer the previous question: it doesn't matter if it's being transcoded or not. The behavior is the same. (I'm of the opinion that if the tivo gets a 640x480 movie, it fits it to the screen, etc.. I think it's ignoring the PAR/DAR values).


Thanks, downloading now. I'll take a look in the morning.

I fixed the issue with streambaby not calculating the correct aspect ratio, it had to do with different versions of ffmpeg. (Just pushed that version to SVN). But like I said, that was a bit of a side issue. (but having streambaby calculate the correct aspect ratio may help in eventually solving the issue, because I can force ffmpeg to do what I want)

I think TiVo does the correct thing when it gets the correct information. I have various videos that work correctly in 4:3, 16:9 and whatever it is that movies are shown at, even when I transcode them.

I think the problem with just specifying various resolutions to ffmpeg, is that I am pretty sure we will find that videos that would have played correctly will start having the wrong aspect ratio. (So playing a 640x480 movie with a pixel aspect ratio of 1:1 which used to play correctly will start getting stretched to 16:9, for instance)


----------



## Yoav

YIKES! My bad!!!

The program is working as intended. 

Long explanation: The whole stretching stuff was entirely my fault. I had my video/TV aspect ratio set to "Smart (16:9 hd, 4:3 SD)", which made some streams use a 4:3 display (causing 1.33 to fill the whole screen, and 1.66 to add bars above/below). Those were then stretched by my amp to fill up my 16:9 display. When I rescaled using ffmpeg to 1920x1080, it was using the HD half, and so was getting sideboxed/letterboxed correctly.

So.. Gah. Sorry to waste your time. Hopefully this will catch some other people's worries about unexpected stretching.

Also, while debugging this, I noticed that the 'aspect' button does not work while viewing a stream (nothing you can do about it -- but it does mean when we tell people to make sure they have aspect set to 'panel' we tell them to do it while watching live TV or something).


----------



## kearygriffin

Yoav said:


> YIKES! My bad!!!
> The program is working as intended.


I think you edited a previous message instead of posting the first time. It really confused me when I saw that post. Couldn't figure out why in one message you were saying it was OK and in the next still having problems (and how could I possibly have missed a post hours ago about things working ;-)

From looking into this I think the one problem that may crop up (but I think it will be rare) is that mpeg-2 only supports:
1:1
4:3
16:9
221:100

So any other aspect ratios will be scaled to the closest in that list. I probably won't bother trying to work-around this (I could probably figure out a way tell ffmpeg to generate letterboxing/pillarboxing for off-aspect videos), as most videos will be close enough to one of these ratios that it wouldn't even be noticeable. (for instance your 1.85 or 1.66 both get scaled to 1.77). I have a feeling that my work-arounds would end up being more problematic than the original issue.

EDIT: I think I'm wrong. I have no idea what aspect mpeg-2 supports, but a quick test shows it's more than I thought. (I was going by my reading the ffmpeg mpeg encoding code, but I must be misinterpreting it)


----------



## Yoav

In some 'good' news. Can you please add '.mov' as yet another valid default file extension? I changed the config file to add it as an extension and it's working fine. (it's transcoding although it ID's it as an mpeg-4 container, so I suspect if I had a h.264/ac3 .mov file, it would try to stream it instead).


----------



## Yoav

kearygriffin said:


> EDIT: I think I'm wrong. I have no idea what aspect mpeg-2 supports, but a quick test shows it's more than I thought. (I was going by my reading the ffmpeg mpeg encoding code, but I must be misinterpreting it)


Either way not much to worry about. It doesn't have to be perfect. stretching 4:3 to 16:9 would be bad, but that's not what we're talking about here 

Thank you again btw..


----------



## Sicklybutsexy

I've noticed a problem in fast-forwarding within an mpeg (a streamable one). I went to go to the movie at the 25 minute mark and it did, the frame was the 25 minute mark. However, the seek bar shows that it is at the 1 hour and 2 minute mark. Seems as if the bar is incorrectly displaying the actual point in the video we're actually watching.


----------



## Sicklybutsexy

Not only that, the seek bar was saying the movie was 2 hours and 25 minutes long when it is actually 1 hour 48 minutes long.


----------



## Emillion

kearygriffin said:


> At what point did you receive this error? As soon as streambaby was started, or at some point later on (like when attempting to play a particular video, etc..)
> 
> Thanks


The error occurs when trying to play a file (mp4, mpg, avi - same error)...


----------



## windracer

bluehz said:


> Upgraded to 0.20 on Ubuntu 8.10 server running through galleon and no go. As soon as I hit the StreamBaby, Stream menu item I get this in the logs:
> 
> 23:46:08,674 INFO [Acceptor] AppHost - Current resolution is: com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]
> 23:46:08,687 INFO [Acceptor] AppHost - HME receiver disconnected
> 23:46:08,705 INFO [Acceptor] AppHost - connection to receiver closed
> 23:46:08,706 INFO [Acceptor] AppHost - Unexpected error: java.lang.NullPointerException
> 
> FWIW - streambaby standalone 0.20 runs just fine. Any suggestions windracer?


I had this too the first time I tried too and it was because I mistyped my path for the streambaby.dir setting. if you check the wrapper.log, you'll probably see something about it not being able to find blue.jpg (the background image which is under the assets folder).


----------



## kearygriffin

Emillion said:


> The error occurs when trying to play a file (mp4, mpg, avi - same error)...


Hmm, I really don't know- I just tried 0.20a on Vista agin, and didn't seem to have any problems.

It might (and might not...) help if you could do the following.
edit simplelog.properties and change the first line to:
com.unwiredappeal=debug

Then rerun streambaby, try to play a video. After the crash if you could somehow get me the log streambaby.log file, that would be great.

Thanks


----------



## jasa

kearygriffin I just wanted to know when will you upload newer fixed version of.20 ???

I just saw on google code that there has been some changes in somefiles


----------



## kearygriffin

jasa said:


> kearygriffin I just wanted to know when will you upload newer fixed version of.20 ???
> 
> I just saw on google code that there has been some changes in somefiles


There are no major changes in the SVN version, just a couple of bug fixes for determining aspect ratio. (And streambaby doesn't really use the aspect ratio it calculates, so no one but me will really know the difference)

What problem are you looking to get fixed? If you are talking about funny voices in the FLV, I can take a look, and it's possible I am doing something wrong, but I have a feeling there is not much I am going to be able to do. (Either ffmpeg transcodes it OK, or it doesn't).

If it is getting more filetypes supported, just add this line to streambaby.ini:
extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,m4a,raw,3gp,mov

and add whatever additional extensions you want. (In the list above 3gp and mov are new and not in the current default)

I don't check anymore if i think ffmpeg can convert it, I just throw the file at it, so you should be able to add any extension you think ffmpeg can handle.

Keary


----------



## Yoav

jasa said:


> kearygriffin I just wanted to know when will you upload newer fixed version of.20 ???
> 
> I just saw on google code that there has been some changes in somefiles


'fixed' version? 0.20 isn't broken for me... (it has bugs, but that's normal for anything under active development). If you want the latest code as he's editting it, you can always follow the instructions at http://code.google.com/p/streambaby/source/checkout
Then build it by running 'ant' in the toplevel...


----------



## westside_guy

Quick question - is there any reason I can't run two instances of streambaby on the same computer, as long as they're outputting to different ports? I'm comparing some issues I have with 0.20beta against how things worked in 0.19a, and it'd go faster if I could run them simultaneously - but I know apps don't always handle that situation gracefully.

Right now I am killing one instance before launching the other, just to be safe...


----------



## kearygriffin

westside_guy said:


> Quick question - is there any reason I can't run two instances of streambaby on the same computer, as long as they're outputting to different ports? I'm comparing some issues I have with 0.20beta against how things worked in 0.19a, and it'd go faster if I could run them simultaneously - but I know apps don't always handle that situation gracefully.
> 
> Right now I am killing one instance before launching the other, just to be safe...


Shouldn't be a problem as long as you change ports (and changing title= would make things a bitter easier also).


----------



## jasa

*Keary* first of all thanks for the replay, if you could find a fix for .flv voice it will be great, everything is great but now I want to tell you about something that has been happening very often now, some .avi files are working great, but others after re-buffering to overcome 1.1G limit or when fast forwarding give me error saying something like "resources not available" and do not play when I know that they are playable, because I watched half of the movie already. If you could take a look at that that will be great also, thanks in advance !!

------------------------------------------------------------------------------
-------------------------------------------------------------------------------
*windracer *I used your instructions to integrate streambaby with galleon and everything was fine on Kubuntu, then I tried on Vista and it does not work here is error it is giving me:



> 13:41:02,411 ERROR [WrapperListener_start_runner] AppFactory - java.lang.ClassNotFoundException: com.unwiredappeal.tivo.streambaby.StreamBabyStream: check the classpath and access permissions


Do you have any idea what might be the problem here ????


----------



## westside_guy

kearygriffin said:


> Shouldn't be a problem as long as you change ports (and changing title= would make things a bitter easier also).


Thanks. And I already have the title set to reflect the version number so I don't get confused.


----------



## westside_guy

Okay, part of this is reiterating an earlier post - apologies for that.

With 0.20beta, I'm seeing an issue with certain videos where frames are being dropped (same video plays fine via 0.19a). I was trying to come up with a "problem demo" video that was of a more reasonable size , so I grabbed the DVD that was the original source, and ripped just the first chapter using my typical settings - but that shorter video doesn't display the same issue except for in one spot about 2 seconds into the video; so it's not as good of a test case.

Is there any reason that file size (43MB [2 minutes] versus 550MB [31 minutes]) might affect how well streambaby handles a video? They're both 2500kbps h.264 w/ ac3 passthrough.


----------



## kearygriffin

westside_guy said:


> Okay, part of this is reiterating an earlier post - apologies for that.
> 
> With 0.20beta, I'm seeing an issue with certain videos where frames are being dropped (same video plays fine via 0.19a). I was trying to come up with a "problem demo" video that was of a more reasonable size , so I grabbed the DVD that was the original source, and ripped just the first chapter using my typical settings - but that shorter video doesn't display the same issue except for in one spot about 2 seconds into the video; so it's not as good of a test case.
> 
> Is there any reason that file size (43MB [2 minutes] versus 550MB [31 minutes]) might affect how well streambaby handles a video? They're both 2500kbps h.264 w/ ac3 passthrough.


I can't really think of a reason. One thing to try. The reinterleaving code in 0.19a is different from 0.20beta (to try and fix some of the blocky/green issues). To make them do the same thing (I hope), set the following in both INI's:
mp4module.interleave=false

I would then expect the two releases to behave the same way, and would be curious to see the results:
a) They both don't work
b) They both work
c) No change, 0.19a has no problems and 0.20beta has issues.


----------



## kearygriffin

jasa said:


> *Keary* first of all thanks for the replay, if you could find a fix for .flv voice it will be great, everything is great but now I want to tell you about something that has been happening very often now, some .avi files are working great, but others after re-buffering to overcome 1.1G limit or when fast forwarding give me error saying something like "resources not available" and do not play when I know that they are playable, because I watched half of the movie already. If you could take a look at that that will be great also, thanks in advance !!


Where do you see the resources not available? In the log, or on the screen. (and what color is it if it is on the screen...) It's not a message I recognize off the top of my head.

I'd also be curious to see what happens if you let the TiVo "rest" for a couple of hours, and then go back and try to play one of the avi's that was giving you problems. I have seen problems when doing a lot of playing/positioning/etc with the tivo stop playing streams. I don't know what causes it, but a simple rest seems to take care of it. I get it mostly when I am testing over and over again.


----------



## kearygriffin

I'm afraid to say that there may be a 4-7 day (I hope it's not longer...) pause in any major streambaby development. 

My Sony SXRD lamp just blew up with a loud "snap". Best Buy parts says I should receive my new one in 4-7 days. (I have a service plan so I need to get it through best buy).

It's the only TV in my house, so anything I can't do on the simulator (which at a minimum means I can't test how movies actually play/look/sound) won't get done.

Gonna be a rough 4-7 days.


----------



## westside_guy

kearygriffin said:


> My Sony SXRD lamp just blew up with a loud "snap". Best Buy parts says I should receive my new one in 4-7 days. (I have a service plan so I need to get it through best buy).
> 
> It's the only TV in my house, so anything I can't do on the simulator (which at a minimum means I can't test how movies actually play/look/sound) won't get done.
> 
> Gonna be a rough 4-7 days.


I'm sorry to hear that! Not because of streambaby, but because of the annoyance factor for you.

I usually don't watch a ton of TV (I've watched more lately though); but it's one of those things like electricity that you get used to "just being there" - and it's annoying when you can't turn on the news, watch some movie that catches your fancy, or whatever.

I hope you get your replacement parts quickly!


----------



## westside_guy

kearygriffin said:


> I can't really think of a reason. One thing to try. The reinterleaving code in 0.19a is different from 0.20beta (to try and fix some of the blocky/green issues). To make them do the same thing (I hope), set the following in both INI's:
> mp4module.interleave=false
> 
> I would then expect the two releases to behave the same way, and would be curious to see the results:
> a) They both don't work
> b) They both work
> c) No change, 0.19a has no problems and 0.20beta has issues.


I made the change in both .ini files, and now both exhibit the same problems - so "a) They both don't work".

As an aside - does streambaby detect changes in its config file? I've been stopping it, editing the .ini, and then restarting; but I just wondered if that's necessary.


----------



## kearygriffin

westside_guy said:


> I made the change in both .ini files, and now both exhibit the same problems - so "a) They both don't work".
> 
> As an aside - does streambaby detect changes in its config file? I've been stopping it, editing the .ini, and then restarting; but I just wondered if that's necessary.


No, it doesn't detect changes, so starting and stopping is the correct thing to do. It sounds like those videos need the reinterleaving for the TiVo to "like" them. Do you have a utility called MP4Box? If so you can try running:
MP4Box -isma <infile>.mp4 -out <outfile>mp4

It should reinterleave the file properly, and I'd be curious to see the results.

The difference between 0.19a and 0.20beta for mp4s was that I automatically turn off reinterleaving in certain cases. I don't currently have a config option to turn off this "feature". The problem with leaving reinterleaving on is that it causes problems with some of your mp4s.

So I'm not sure what I am going to do, I'll need to think about it. I may need to look into the old problem again and see if there is another solution.


----------



## westside_guy

kearygriffin said:


> No, it doesn't detect changes, so starting and stopping is the correct thing to do. It sounds like those videos need the reinterleaving for the TiVo to "like" them. Do you have a utility called MP4Box? If so you can try running:
> MP4Box -isma <infile>.mp4 -out <outfile>mp4
> 
> It should reinterleave the file properly, and I'd be curious to see the results


There doesn't seem to be a Mac version; but it builds on Linux (not just Windows) so I might see if I can get it to compile on the Mac. Otherwise I can run it under Windows by using VMware. In any case, I'll give it a try.

There's also another method that _might_ accomplish the same thing; I am trying that as well.

I think the baseline issue is - when it comes to digital video, I know just enough to be dangerous.


----------



## windracer

jasa said:


> *windracer *I used your instructions to integrate streambaby with galleon and everything was fine on Kubuntu, then I tried on Vista and it does not work here is error it is giving me


My guess is that you don't have the classpath added correctly to the wrapper.conf file (step 4) or you didn't use the next sequential number in the classpath line (there can't be any gaps).


----------



## westside_guy

kearygriffin said:


> No, it doesn't detect changes, so starting and stopping is the correct thing to do. It sounds like those videos need the reinterleaving for the TiVo to "like" them. Do you have a utility called MP4Box? If so you can try running:
> MP4Box -isma <infile>.mp4 -out <outfile>mp4
> 
> It should reinterleave the file properly, and I'd be curious to see the results.


Okay, I was able to install mp4box on my Mac and try this out. Running mp4box on the file does indeed solve the problem with the dropped frames. It does reintroduce the "old images/blockiness appears at the beginning of a video" problem; but that's an acceptable tradeoff.

I did find something else out that may be of interest to Mac users - Handbrake's "web optimized" option also muxes the file, in addition to shifting the moov atom. The documentation on that option is nonexistent, but I'd wondered about this based on how Quicktime labels those files in its info window. Re-encoding with this option set also fixed this particular problem.

As a side note: Somebody's put together an unofficial fink package for mp4box - it works well.


----------



## bluehz

Ahhh... I haven't tried it yet but it makes sense since I had the streambaby.dir setting pointing to the galleon/hme location thinking thats where it needed to point. I was unaware the streambaby directory was any use after moving the jar and ini files to the galleon location.

I would like to keep it clean, can I move the whole streambaby dir to the galleon dir /usr/share/galleon or is there a more recommended location to move it?



windracer said:


> I had this too the first time I tried too and it was because I mistyped my path for the streambaby.dir setting. if you check the wrapper.log, you'll probably see something about it not being able to find blue.jpg (the background image which is under the assets folder).


----------



## kearygriffin

westside_guy said:


> Okay, I was able to install mp4box on my Mac and try this out. Running mp4box on the file does indeed solve the problem with the dropped frames. It does reintroduce the "old images/blockiness appears at the beginning of a video" problem; but that's an acceptable tradeoff.
> 
> I did find something else out that may be of interest to Mac users - Handbrake's "web optimized" option also muxes the file, in addition to shifting the moov atom. The documentation on that option is nonexistent, but I'd wondered about this based on how Quicktime labels those files in its info window. Re-encoding with this option set also fixed this particular problem.
> 
> As a side note: Somebody's put together an unofficial fink package for mp4box - it works well.


Ok, so in my next version I will get rid of my workaround for the blockiness, which will fix the dropped frames/muxing issue without needing to run MP4Box (or handbrake) on them. Then I'll go back to figuring out why the original blockiness occurs, but I am not really hopefully.


----------



## windracer

bluehz said:


> I would like to keep it clean, can I move the whole streambaby dir to the galleon dir /usr/share/galleon or is there a more recommended location to move it?


Yes, as of 0.20beta this works (I put mine under /hme) and I updated my instructions accordingly. It's a much nicer setup now.


----------



## bluehz

Excellent - works perfect. I even went so far as to extract the streambaby dir named "streambaby-0.20beta" and then just made a symlink name "streambaby" to it. Then when I upgrade I can keep my old install, and just update the symlink to the new streambaby-0.XX dir.



windracer said:


> Yes, as of 0.20beta this works (I put mine under /hme) and I updated my instructions accordingly. It's a much nicer setup now.


----------



## bluehz

Thx to windracer - I have streambaby-0.20beta up and running on my Ubuntu server under Galleon. I was watching the console tonight while perusing some videos and noticed ffmpeg kicking in on mp4 files that previously played without the aid of ffmpeg. I must say they did look good while playing, BUT,, this Ubuntu server is just a hobby machine built on an old 500Mhz dumpster PC and while the server was keeping up quite nicely with streambaby before, now that ffmpeg has been thrown in the mix - the server can't keep up and you can only watch about 5 secs before the video pauses to stream more. Remember these were videos that played fine before using streambaby.

Why are these videos getting processed by ffmpeg and how can I stop ffmpeg from processing these once acceptable files, while still keeping the ability for transcoding using ffmpeg only when it is TRULY required for playback?


----------



## jasa

windracer said:


> My guess is that you don't have the classpath added correctly to the wrapper.conf file (step 4) or you didn't use the next sequential number in the classpath line (there can't be any gaps).


Can you tell me how to figure out this class path ???????? I also thought that that was only thing coursing problem but decided to ask )))


----------



## jasa

kearygriffin said:


> Where do you see the resources not available? In the log, or on the screen. (and what color is it if it is on the screen...) It's not a message I recognize off the top of my head.
> 
> I'd also be curious to see what happens if you let the TiVo "rest" for a couple of hours, and then go back and try to play one of the avi's that was giving you problems. I have seen problems when doing a lot of playing/positioning/etc with the tivo stop playing streams. I don't know what causes it, but a simple rest seems to take care of it. I get it mostly when I am testing over and over again.


I did not check the log file it was read note on gray screen on my TV it said something about resource being not available or can' t get it((( next time I will take a picture.

About tivo not working properly when we test that has happened to me also but only thing for me is restart of system that fixes it and I have to wait 4 minutes for tivo to boot up (((

I am also doing couple of test and once I will be done i will try to post my results and founding here

--------------------------------------------------------
Also When adding password for just one directory on .20 version direcotry dissapiars on tivo screen and also when setting not to remember passwrod by tivo (this was added new feature on .20) tivo still saves passord so anybody can acsses files once passworded is entered

I do not know if I am only one having this problems and there is something wrong with mysetup or this is just overal bugs ???


----------



## Sicklybutsexy

bluehz said:


> Thx to windracer - I have streambaby-0.20beta up and running on my Ubuntu server under Galleon. I was watching the console tonight while perusing some videos and noticed ffmpeg kicking in on mp4 files that previously played without the aid of ffmpeg. I must say they did look good while playing, BUT,, this Ubuntu server is just a hobby machine built on an old 500Mhz dumpster PC and while the server was keeping up quite nicely with streambaby before, now that ffmpeg has been thrown in the mix - the server can't keep up and you can only watch about 5 secs before the video pauses to stream more. Remember these were videos that played fine before using streambaby.
> 
> Why are these videos getting processed by ffmpeg and how can I stop ffmpeg from processing these once acceptable files, while still keeping the ability for transcoding using ffmpeg only when it is TRULY required for playback?


They're probably not transcoding but using ffmpeg for thumbnails. I good clue is to see how active ffmpeg is when you're sending the video over. Also, you can disable ffmpeg but you have to disable thumbnails and then send it over.


----------



## windracer

bluehz said:


> I was watching the console tonight while perusing some videos and noticed ffmpeg kicking in on mp4 files that previously played without the aid of ffmpeg.


Hmm ... I'm seeing this too. I'm streaming an MP4 right now and ffmpeg is chewing up over 80% of the CPU so it's definitely transcoding, not just generating thumbnails. Also, when I exited out of streambaby, the ffmpeg process kept going. 

I guess we'll have to try running streambaby outside of Galleon to make sure it's not a Galleon setup thing.


----------



## windracer

jasa said:


> Can you tell me how to figure out this class path ???????? I also thought that that was only thing coursing problem but decided to ask )))


In wrapper.conf there are a series of lines that look like this:


Code:


wrapper.java.classpath.1=/etc/galleon
wrapper.java.classpath.2=/usr/share/galleon/lib/jmdns-1.0.jar
wrapper.java.classpath.3=/usr/share/galleon/lib/*.jar

They tell Galleon where to search for all the different application .jar files. Those are my own lines show above (and I run Linux) so yours might look like C:\Program Files\Galleon\lib or whatever). You need to add a new line, with the next sequential number (it would be 4, using my sample lines above) that points to where you have streambaby installed, so maybe:



Code:


wrapper.java.classpath.4=C:\Program Files\Galleon\hme\streambaby-0.20beta\jbin\*.jar


----------



## kearygriffin

windracer said:


> Hmm ... I'm seeing this too. I'm streaming an MP4 right now and ffmpeg is chewing up over 80% of the CPU so it's definitely transcoding, not just generating thumbnails. Also, when I exited out of streambaby, the ffmpeg process kept going.
> 
> I guess we'll have to try running streambaby outside of Galleon to make sure it's not a Galleon setup thing.


The easiest way to see if ffmpeg is running because of transcoding is to turn of the auto-generation of preview thumbnails:
preview.autogenerate=false

FFmpeg left running after streambaby exits actually points to this being a preview-generation thing. Depending on how streambaby is exited, the preview generation has a known issue where ffmpeg will continue running in the background. I've never seen it left running during a transcode (but it's possible).


----------



## windracer

kearygriffin said:


> The easiest way to see if ffmpeg is running because of transcoding is to turn of the auto-generation of preview thumbnails:
> preview.autogenerate=false


That was it. After disabling previews, the same file no longer triggers ffmpeg "transcoding" (or the high CPU usage).


----------



## jasa

windracer said:


> In wrapper.conf there are a series of lines that look like this:
> 
> 
> Code:
> 
> 
> wrapper.java.classpath.1=/etc/galleon
> wrapper.java.classpath.2=/usr/share/galleon/lib/jmdns-1.0.jar
> wrapper.java.classpath.3=/usr/share/galleon/lib/*.jar
> 
> They tell Galleon where to search for all the different application .jar files. Those are my own lines show above (and I run Linux) so yours might look like C:\Program Files\Galleon\lib or whatever). You need to add a new line, with the next sequential number (it would be 4, using my sample lines above) that points to where you have streambaby installed, so maybe:
> 
> 
> 
> Code:
> 
> 
> wrapper.java.classpath.4=C:\Program Files\Galleon\hme\streambaby-0.20beta\jbin\*.jar


Thanks for help fixed it


----------



## doormat

I'm using .20beta, and I started to stream a movie, and then SB crashed in "native code" msvcrt.dll or something like that. 

SB .20b 
Windows Home Server
Streaming a H.264 video encoded with handbrake (DVD res)


----------



## bluehz

Didn't work for me - ffmpeg still spiked the cpu at 92% no matter what I played.



windracer said:


> That was it. After disabling previews, the same file no longer triggers ffmpeg "transcoding" (or the high CPU usage).


----------



## Yoav

bluehz said:


> Didn't work for me - ffmpeg still spiked the cpu at 92% no matter what I played.


are you sure it's not spiking it while transcoding? It's not too surprising to have it be at 90%+ while converting a movie to play...


----------



## bluehz

Thats what I am trying to determine here. Previous versions of SB played these mp4 flawelessly, now something is causing them to be transcoded and the ol' server can't handle that sort of load.



Yoav said:


> are you sure it's not spiking it while transcoding? It's not too surprising to have it be at 90%+ while converting a movie to play...


----------



## Yoav

bluehz said:


> Thats what I am trying to determine here. Previous versions of SB played these mp4 flawelessly, now something is causing them to be transcoded and the ol' server can't handle that sort of load.


Have you enabled the debugging logging? It usually prints out all the info about an mp4 before deciding to transcode or stream. (change 'Warn' to debug in simplelog.properties)


----------



## kearygriffin

Yoav said:


> Have you enabled the debugging logging? It usually prints out all the info about an mp4 before deciding to transcode or stream. (change 'Warn' to debug in simplelog.properties)


And also make sure to restart Galleon (I think) after adding the
preview.autogenerate=false
in streambaby.ini, and also changing the simplelog.properties file. Streambaby probably won't reload its properties otherwise.


----------



## windracer

kearygriffin said:


> And also make sure to restart Galleon (I think) after adding the
> preview.autogenerate=false
> in streambaby.ini, and also changing the simplelog.properties file. Streambaby probably won't reload its properties otherwise.


Yes, this is absolutely correct.


----------



## moyekj

Sicklybutsexy said:


> There's no way to get this program to support closed captions is there? It has become my primary mode of adding .srt subtitles to movies using T2sami (very easy and quick ie...no re-encoding).


 I have good news on this front. I decided just for fun to try and implement a simple closed captions renderer which reads T2sami .srt files. I am actually quite surprised that for videos where T2sami generates good captions with proper timing it actually works quite well (there were some videos where T2sami did not generate good captions while for others it did a great job).
I have a prototype working in tivostream already and the way it's written should be fairly easy to port to streambaby. So the next day or two I'll work on porting over to streambaby and pass along the code to Keary if he's interested in taking it.


----------



## Sicklybutsexy

moyekj said:


> I have good news on this front. I decided just for fun to try and implement a simple closed captions renderer which reads T2sami .srt files. I am actually quite surprised that for videos where T2sami generates good captions with proper timing it actually works quite well (there were some videos where T2sami did not generate good captions while for others it did a great job).
> I have a prototype working in tivostream already and the way it's written should be fairly easy to port to streambaby. So the next day or two I'll work on porting over to streambaby and pass along the code to Keary if he's interested in taking it.


Sounds cool...


----------



## bakerja

I installed steambaby last night on an old P4 2.4ghz machine and was pleasantly surprised when I got a file to stream on the first attempt! In fact it seems to handle mpg2 files quite well. I had trouble with mpg4 files encoded with sorenson squeeze. It would play audio but black screen for video. Also TIVO high def files that were saved to the system via tivo desktop could not keep up. They would play for a few seconds and freeze. 

All of these files were playing on a RAID5 NAS on a gigabit network. I'm going to try some from the local hard drive tonight to make sure it is not a limitation of the NAS but I suspect the nas is fine.

Do you know what the requirements of the CPU/RAM are? Does it take a dual core or better to stream the mpg4 and TIVO high def files?

Thanks for a great start!
JAB

edit: This is on a TIVO HD


----------



## windracer

bakerja said:


> Do you know what the requirements of the CPU/RAM are? Does it take a dual core or better to stream the mpg4 and TIVO high def files?


My Linux server where I run streambaby is a 3.0GHz Pentium 4 with 1gb of RAM and I'm not having any performance issues streaming MP4s to my HD TiVos.


----------



## moyekj

bakerja said:


> Also TIVO high def files that were saved to the system via tivo desktop could not keep up. They would play for a few seconds and freeze.


 Streaming speeds seem to be same as TTG/TTCB speeds so getting more than 13 Mbps or so under normal circumstances is not possible. Probably if you try and transfer to your Tivo with Tivo Desktop and watch at the same time you would see same problem. One workaround to the issue is if you convert your HD .TiVo files to .mpg (very quick process) then Streambaby has ability to downconvert (throttle) the bit rate on the fly when streaming it to your Tivo, but of course you get lower quality that way. Other workaround is re-encode to H.264 with AC3 audio (lengthy process). That would result in a slight loss of quality but you should be able to play back the result natively to Tivo without any bit rate throttling.


----------



## kearygriffin

bakerja said:


> ...I had trouble with mpg4 files encoded with sorenson squeeze. It would play audio but black screen for video.


It's hard to know for sure, but the only time i have seen this particular issue (mp4 with's audio but black screen for video) is when the video is marked as being > level 4.1 (a level specifies what kind of decoder is necessary to decode the h264 video).

TiVo only supports <= level 4.1.

At some point I may try work around this by changing MP4 streams that specify level 5 or 5.1 to "lie" to the Tivo and specify 4.1 instead. I suspect (but it is only a guess) that most Mp4 streams that specify level 5 or 5.1 don't really mean it. 4.1 is good to up to 50Mbit where level 5 is 135Mbit/s. There are some other differences, but I don't think they would come into play except in situations with video > 50Mbits/s.

There might be utilities out there to edit the mp4 and the change the AVC level, but I'm not familiar with them.


----------



## bakerja

moyekj said:


> Other workaround is re-encode to H.264 with AC3 audio (lengthy process)


I am considering this for space saving anyway. Any recomendations on an easy batch render app for windows?

JAB


----------



## moyekj

bakerja said:


> I am considering this for space saving anyway. Any recomendations on an easy batch render app for windows?
> 
> JAB


kmttg 
Use tivostream_hd profile for HD encoding (or tivostream_sd for SD encoding).
Or if you don't want to mess with that just use ffmpeg directly with something like following recipe:


Code:


ffmpeg -y -i INPUTFILE -vcodec libx264 -coder 0 -level 31 -r 29.97 -sameq -g 300 -bufsize 14745k -b 8000k -maxrate 16000k -bug "+autodetect+ms" -me epzs -trellis 2 -mbd 1 -acodec copy -f mp4 OUTPUTFILE

(Obviously replace INPUTFILE and OUTPUTFILE accordingly)
8000k bit rate is a little bit of overkill so you may want to reduce that a little.


----------



## windracer

bakerja said:


> I am considering this for space saving anyway. Any recomendations on an easy batch render app for windows?


I used WinFF, based on the instructions in this thread.


----------



## cmontyburns

Finally got around to trying out StreamBaby. Works well (although I haven't looked at getting it to load ffmpeg on my Mac yet) but I have the bigger problem that anytime I exit watching a video stream on my TiVoHD, the TiVo restarts itself.


----------



## gilbreen

Just a note to thanks kearygriffin (and moyekj for tivostream and wmcbrine for HME/VLC Streamer) for StreamBaby. I have it installed on my Mac via pyTivoX (http://www.tivocommunity.com/tivo-vb/showthread.php?t=412802) that Yoav has developed which adds StreamBaby to his implementation of armoo's pyTivo program . As a former ReplayTV user, I have missed streaming media files to my TV versus copying the files.

StreamBaby brings to Tivo even greater functionality. Now, I can access our media library on our NAS and not worry about multiple copies of movies be transferred to the Tivo's hard drive when our kids watch one of their shows.

Thanks to all those involved!


----------



## Yoav

Hey Keary,
I just updated to the latest svn snapshot. streambaby shows up under the showcases menu, but as soon as I select it, I get "An error occured while running the application. HTTP failure (Http connection error: 0x50005)
I am attaching the log. There's some sort of java null pointer exception but it's not clear to me what's going on. Before trying to debug it i figured I'd ask in case it's something obvious:

* update :* looks like the null is because the 'selection screen' / direntry is trying to call "GetFilename" on itself, where filename is null... Lets see why ...


----------



## kearygriffin

Yoav said:


> Hey Keary,
> I just updated to the latest svn snapshot. streambaby shows up under the showcases menu, but as soon as I select it, I get "An error occured while running the application. HTTP failure (Http connection error: 0x50005)
> I am attaching the log. There's some sort of java null pointer exception but it's not clear to me what's going on. Before trying to debug it i figured I'd ask in case it's something obvious:
> 
> * update :* looks like the null is because the 'selection screen' / direntry is trying to call "GetFilename" on itself, where filename is null... Lets see why ...


Thanks Yoav-- I had toplevel.skip=true in my INI which was hiding this problem.

I just pushed a new version that should fix it-- The new push also includes moyekj's closed captioning code.

Let me know how the new version does-- If it works OK I'll probably upload a new release this weekend.


----------



## Yoav

kearygriffin said:


> Thanks Yoav-- I had toplevel.skip=true in my INI which was hiding this problem.
> 
> I just pushed a new version that should fix it-- The new push also includes moyekj's closed captioning code.
> 
> Let me know how the new version does-- If it works OK I'll probably upload a new release this weekend.


Works like a charm. (I havent tested CC or anything.. I don't have subtitle videos)


----------



## rfryar

This is a bit off topic but I thought this crowd would be the best place to ask this..

I want to convert my HD MPGs pulled off my tivos to MP4, but I want to retain the same resolution. Any suggestions? I heard about WinFF, but it does not have a good option to leave the resolution intact. So basically does anyone have a script for FFMPEG for this? Or another tool they recommend. I am on Windows XP BTW.

Thanks,

Rick


----------



## moyekj

rfryar said:


> This is a bit off topic but I thought this crowd would be the best place to ask this..
> 
> I want to convert my HD MPGs pulled off my tivos to MP4, but I want to retain the same resolution. Any suggestions? I heard about WinFF, but it does not have a good option to leave the resolution intact. So basically does anyone have a script for FFMPEG for this? Or another tool they recommend. I am on Windows XP BTW.
> 
> Thanks,
> 
> Rick


 A few posts up in this thread I posted a ffmpeg recipe for converting to H.264 + audio copy (AC3):
http://www.tivocommunity.com/tivo-vb/showthread.php?p=7049311#post7049311
Resolution is preserved but it's up to you to determine bit rate. The one used in above recipe is perhaps too high at 8000k so if the goal is space savings you may want to reduce that a little.


----------



## kearygriffin

moyekj said:


> A few posts up in this thread I posted a ffmpeg recipe for converting to H.264 + audio copy (AC3):
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=7049311#post7049311
> Resolution is preserved but it's up to you to determine bit rate. The one used in above recipe is perhaps too high at 8000k so if the goal is space savings you may want to reduce that a little.


With the recipe you post:


Code:


ffmpeg -y -i INPUTFILE -vcodec libx264 -coder 0 -level 31 -r 29.97 -sameq -g 300 -bufsize 14745k -b 8000k -maxrate 16000k -bug "+autodetect+ms" -me epzs -trellis 2 -mbd 1 -acodec copy -f mp4 OUTPUTFILE

I actually think if you just drop the "-b 8000k -maxrate 16000k" the script should convert to the same quality as the original, as I believe the -sameq (which is in your recipe) will tell ffmpeg to use whatever bitrate it needs to have the same quality as the original.

In fact I thought that when I tried it, having -sameq on the same line as bitrate rate parameters actually ended up overriding the bitrate parameters anyway.

Edit: I also think dropping the "-r 29.97" would be a good idea, as it will then preserve the frame rate of the original. (which is usally what you want I think)


----------



## moyekj

I just tried it on a short clip to confirm and indeed the bitrate argument does affect bitrate when used in conjunction with -sameq:
With -b 2000k my resulting encoding ends up as:
Size=8MB
Overall bit rate=2277 Kbps

With -b 8000k my resulting encoding from same source ends up as:
Size=29.7MB
Overall bit rate=8297 Kbps

For framerate from my experience something other than 29.97 fps doesn't always play nice on Tivo (but that may be for mpeg2 only) which is why I put that in.

P.S. I just tried same source mpeg encoding with only -sameq and dropping all bitrate parameters and result was:
Size=5.2MB
Overall bit rate=1156 Kbps

Playing back all 3 via streambaby it was clear that the higher bitrate encodings looked better with the -sameq only lowest bitrate encoding being the worst.

(source was a 1280x720p mpeg2 with 12 Mbps overall bitrate and size of 44MB)


----------



## kas25

I just installed it via pytivox and my folders show up on the correct screen but when I try to open the folder i get frozen on the "Please Wait". Any help would be appreciated.


----------



## windracer

Yoav said:


> your ffmpeg is linked statically to the ffmpeg libraries ( libavutil, libavcodec, etc are not listed as shared libraries to find -- ergo they are statically linked into the ffmpeg binary). you will need to get those shared libs from somewhere to make it work.


Well, I rebuilt ffmpeg yesterday using the latest SVN code and --enabled-shared. So now ffmpeg looks like this:


Code:


FFmpeg version SVN-r17019, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --enable-gpl --enable-postproc --enable-libvorbis --enable-libtheora --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-pthreads --enable-libx264 --disable-ffplay --disable-ffserver --enable-libxvid --enable-shared
  libavutil     49.14. 0 / 49.14. 0
  libavcodec    52.13. 0 / 52.13. 0
  libavformat   52.25. 0 / 52.25. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Feb  6 2009 08:58:52, gcc: 4.3.2

And it works! I get preview thumbnails during FF'ing now, sweet. 

Of course, the ffmpeg binary is now a lot smaller since all the libraries aren't statically linked.  I should have realized that the last time I built it.


----------



## moyekj

kas25 said:


> I just installed it via pytivox and my folders show up on the correct screen but when I try to open the folder i get frozen on the "Please Wait". Any help would be appreciated.


 I replied in the pyTivoX thread already but will re-post here for benefit of others who may have "Please Wait" freezes with latest build from SVN:
With the latest streambaby build from SVN I was having this problem too. The solution is to put the following in tivostream.ini:
use.title=false
sort.filename=true
With those settings I think streambaby won't try and parse your video files upfront which is where it seems like it hangs up at times. I already notified Keary of problems I was having and those settings were what he recommended and worked for me.


----------



## rfryar

Ok, now this is a bit rough around the edges.. Chalk that up to the fact I just started looking at the Tivo HME stuff today.

I have modified two files, the DirEntry.java and the PlayScreen.java.

Basically now when a file is loaded by DirEntry it will also load all the .txt entries into a Map. I updated DirEntry to also return the real title if it exists instead of the filename through the getStrippedFilename method. This will allow the real title to show up on all the selection screens instead of the filename.

The playScreen will show an optional image of the movie.. This is a new meta element in the .txt files:
img.cover : C:\\Share\\Movies\\Jokes\\EnronParty.png

The path needs to be Java escaped as this is a first draft effort on my part. The image will be reduced down to 150,150 and placed in the upper right corner of the playscreen.

Currently only the title, description, and movieYear, and the image are displayed. If I was to continue this development I would allow some sort of template approach to be used to layout the metainfo on the screen.

But I just wanted to throw this out there since I know others have started this effort and I do not want to step on anyone's toes.

Rick

The two Java files should be attached in a ZIP file.


----------



## kearygriffin

rfryar said:


> Basically now when a file is loaded by DirEntry it will also load all the .txt entries into a Map. I updated DirEntry to also return the real title if it exists instead of the filename through the getStrippedFilename method. This will allow the real title to show up on all the selection screens instead of the filename.
> 
> The playScreen will show an optional image of the movie.. This is a new meta element in the .txt files:
> img.cover : C:\\Share\\Movies\\Jokes\\EnronParty.png


Thanks rfryar, I'll try to take a look at this a bit later (just took a quick glance).

I haven't had time to put together documentation and upload a release (but the code is in SVN) to talk about the new metadata handling, but I think what you are looking for with your new code is already in streambaby (but may not be readily apparent, as it is partially disabled for performance reasons).

The titles should be read from the metadata and used in the selection screen if they are already cached. (They are always read when you select a movie and go to the selection screen). They are cached in one of two ways:
1) If you select a movie go to the "play" screen the metadata is read, displayed, and title cached. If you go back to the selection screen (immediately or anytime later, as it is cached on disk), then the real title will be displayed
2) Pressing the ENTER button while looking at the selection screen will read and cache (and redisplay) all of titles using the metadata.

You can also make streambaby use metadata even if it is not cached by setting:
use.title.cachedonly=false

The metadata is parsed using XSLT templates and has the ability to extract and display images. (However image display is only implemented currently for MP4 embedded thumbnails.)

To support your new img.cover tag, you would need to do the following:
1) Add the following line in the streambaby.ini:
xsl.pytivo=pytivo-html.xsl
(The default is pytivo-text.xsl which outputs the parsed metadata as pure text. Switching to pytivo-html.xsl outputs HTML which can contain images)
2) edit stylesheets/pytivo-html.xsl (or create a new xsl file and use the appropriate name in step 1) to parse the img.cover tag and output HTML containing the image. You can look at meta-html.xsl for an example, as it is the template for MP4 metadata and looks for the artwork tag and uses it as a thumbnail)

The XSL templates I provide are very basic (I'm no good with XSL) and need some work, so if anyone is willing to play around ;-)


----------



## moyekj

Keary, is it possible to add a config entry for font size when in file browser mode? The default font size is too big for my liking resulting in few lines per screen and some long file names being truncated. Not a big deal but if it's easy enough to add would be appreciated. Thanks.


----------



## jannlinder

Does this mean that my .txt metadata files in the directories SHOULD be being used? I am using PyTivoX 1.1b14 that includes the changes at least up to and including the changes from moyekj on 2/7/2009? 



I really hate that I cannot see the metadata when using streambaby!

TIA


----------



## Yoav

jannlinder said:


> Does this mean that my .txt metadata files in the directories SHOULD be being used? I am using PyTivoX 1.1b14 that includes the changes at least up to and including the changes from moyekj on 2/7/2009?
> 
> 
> 
> I really hate that I cannot see the metadata when using streambaby!
> 
> TIA


I believe there are some streambaby.ini flags that need to be set for it to try using them? keary? I'm happy to turn those on if you tell me what 

Right now I do add


Code:


use.title=false
sort.filename=true

(per moyekj) to work around some sort of bug that was causing stalling. That might turn off the metadata parsing... Can I take those lines out now?


----------



## jannlinder

Yoav,

Did you get my PM about allowing us to add our own lines to the .ini file?

J


----------



## rfryar

I did not see any my .txt files being loaded, although I did see the new enhancements in the SVN (My code was based on a pull from the SVN on Sunday night). But I did not see them being loaded until I put my own code in.

Regardless I would be happy with anything that allowed them to be used, so will look into the XSL approach.  

What needs to be set in the ini to use this XSL metadata feature?

Thanks,

Rick


----------



## kearygriffin

Yoav said:


> I believe there are some streambaby.ini flags that need to be set for it to try using them? keary? I'm happy to turn those on if you tell me what
> 
> Right now I do add
> 
> 
> Code:
> 
> 
> use.title=false
> sort.filename=true
> 
> (per moyekj) to work around some sort of bug that was causing stalling. That might turn off the metadata parsing... Can I take those lines out now?


As of last night's SVN it should be ok to leave out both of those INI settings. (It was definitely a good idea to have them before). Now it will only used meta-titles in the selection screen if the title has already has been cached. (It is cached via two mechanisms, either by selecting the movie, or by pressing the enter key on the remove when in the selection screen, which will generate meta-titles for all files in that directory).

I'm not sure which versions of streambaby people are using, but are people who are using SVN versions that need the above INI files at least seeing the metadata information when they select the movie to play (on the play screen) or when pressing the info button when playing? If not, I need to figure out why because even with those ini settings, that part of the metadata code should still be active.

EDIT: I just saw rfryar's message about not seeing the metadata, so I guess some people are having issues. I'll need to do some more testing tonight, but it should look for the metadata either as:
filename.ext.txt (in the same directory as the original file)
or
.meta/filename.ext.txt (so in a subdirectory of the directory the original file was in called .meta)

I've been testing 95% of the time with the files in the .meta directory, so it's possible I broke it for files that aren't in there. I'll need to check. It could also be many other things (linux vs windows line terminators, etc.) I'll post if I figure anything more out.


----------



## jannlinder

kearygriffin said:


> I'm not sure which versions of streambaby people are using, but are people who are using SVN versions that need the above INI files at least seeing the metadata information when they select the movie to play (on the play screen) or when pressing the info button when playing? If not, I need to figure out why because even with those ini settings, that part of the metadata code should still be active.


I saw no metadata with PyTivoX 1.1b10 but I never knew I had to press enter on the remote or whatever...

Is there a particular reason why? Is there a default we can add to ensure that we don't have to do that? I subdirectory-divide my TV by show then season...ie:

Reba
- Season 01
- Season 02

So there should not be enough .txt files to read that it should slow down StreamBaby by that much... (20-25 files max)

EDIT: My .txt are in the same dir as the original file. I do not use the .meta dir
J


----------



## kearygriffin

moyekj said:


> Keary, is it possible to add a config entry for font size when in file browser mode? The default font size is too big for my liking resulting in few lines per screen and some long file names being truncated. Not a big deal but if it's easy enough to add would be appreciated. Thanks.


This is definitely on the agenda, but I didn't find it quite so easy when I initially tried. I struggled a bit (I'd never used HME before streambaby) with hme/bananas/bananas-plus to get it to work. The issue wasn't the font (I can easily make the font smaller), but the selection bar and hint arrows.

I also at some people need to make streambaby work at higher resolutions. It's hard coded at 640x480 at the moment. Again, something I toyed with in the beginning but gave up and decided I would look at it in the future.


----------



## Yoav

kearygriffin said:


> This is definitely on the agenda, but I didn't find it quite so easy when I initially tried. I struggled a bit (I'd never used HME before streambaby) with hme/bananas/bananas-plus to get it to work. The issue wasn't the font (I can easily make the font smaller), but the selection bar and hint arrows.
> 
> I also at some people need to make streambaby work at higher resolutions. It's hard coded at 640x480 at the moment. Again, something I toyed with in the beginning but gave up and decided I would look at it in the future.


+1 vote for higher resolution!! 

Also, would it make sense to change the following defaults:
ffmpegexe.transcode.sameqargs=-sameq -ab 384k
quality.highestabr=384
quality.highres=1080

192 for audio is pretty low, and I suspect most HD's out there by now are 1080?


----------



## kearygriffin

re: Metadata

It looks like there are some problems under windows (not sure what it is yet). Depending on what the issue is, it could conceivably be a problem on the Mac also. I'll see what I can do an post when I push a new version to SVN.

And to jannlinder, once I get the issues worked out as to why metadata isn't working at for most people at the moment, setting this in your INI
use.title.cachedonly=false

Will tell streambaby to always parse the metadata so it can use the title on the selection screen.


----------



## jannlinder

Thx!



J


----------



## rfryar

kearygriffin said:


> As of last night's SVN it should be ok to leave out both of those INI settings. (It was definitely a good idea to have them before). Now it will only used meta-titles in the selection screen if the title has already has been cached. (It is cached via two mechanisms, either by selecting the movie, or by pressing the enter key on the remove when in the selection screen, which will generate meta-titles for all files in that directory).


I can not get metadata to show up at all. I used the 20beta, as well as the code from the SVN from Sunday night. I have tried in the simulator of hitting "e", or "i" on the play screen. On my lastest SVN when hitting e on the selection screen I get an Array Index OUt Of Bounds exception:

02/09/09 14:30:12 Listener: Unexpected error: java.lang.ArrayIndexOutOfBoundsExc
eption: 0

Can you release another beta build just to ensure I have everything packaged correctly?

Thanks,
Rick.


----------



## jannlinder

rfryar said:


> I can not get metadata to show up at all.
> Can you release another beta build just to ensure I have everything packaged correctly?
> 
> Thanks,
> Rick.


I am now getting metadata from .txt file in the main dir (same dir as the file).

Knowing that the information is limited (as this is a beta) we are getting title and description so far.

I would LOVE to have all the logic that is available in the meta files to be used (as in: show the episode name if *IsEpisode* is true, etc)

Anyway, thanks to whomever implemented this feature.

PS: I love the black foreground with the blue surround around the text box. Nice touch.

Next thing i would love is that streambaby could pull titles from the files to display so we do not have to read the filename and guess what the file is  (no, i dont expect miracles from betas...just hoping!!!)

J


----------



## moyekj

jannlinder said:


> Next thing i would love is that streambaby could pull titles from the files to display so we do not have to read the filename and guess what the file is  (no, i dont expect miracles from betas...just hoping!!!)
> 
> J


 If you mean while in file browser mode I wouldn't want that, so perhaps it would have to be a config option. In some cases I have different encodings of same file name (same file name, different extensions) so I like to see full file name & extension in file browser to know which one I am playing back.
Also, some titles are too long which would not make for a nice visual while browsing.


----------



## jannlinder

moyekj said:


> If you mean while in file browser mode I wouldn't want that, so perhaps it would have to be a config option. In some cases I have different encodings of same file name (same file name, different extensions) so I like to see full file name & extension in file browser to know which one I am playing back.
> Also, some titles are too long which would not make for a nice visual while browsing.


So, for instance browsing your library using PyTivoX is not good for you (just wondering cos this is the exact option I would LOVE for StreamBaby.

It will not pass the "Spouse Test" without this option (in my opinion).


----------



## kearygriffin

jannlinder said:


> So, for instance browsing your library using PyTivoX is not good for you (just wondering cos this is the exact option I would LOVE for StreamBaby.
> 
> It will not pass the "Spouse Test" without this option (in my opinion).


I'm a little confused, but I think this is what the option
use.title=(true/false, with default=true) does.

In the selection screen if use.title=true it displays using titles parsed from metadata, otherwise it uses the filename. (This isn't quite true, as unless you set use.title.cachedonly it only uses the meta-title if it is cached).

If use.title=false, then the old style of using filenames is used. If it set to true, it tries to use the titles parsed from the metadata.


----------



## windracer

So wait, we should be seeing meta data? Or only in the current SVN build and not 0.20beta?


----------



## moyekj

jannlinder said:


> So, for instance browsing your library using PyTivoX is not good for you (just wondering cos this is the exact option I would LOVE for StreamBaby.
> 
> It will not pass the "Spouse Test" without this option (in my opinion).


 Haven't used pytivo in a while, ever since HME video streaming capability became possible and back when I did I didn't have metadata files anyway so I always saw file names.
I can certainly understand the desire for that feature for some which is why I suggest it should be an option instead of one way or another as it looks like Keary already has made it. (With last SVN build I tried enabling use.title was causing streambaby to hang for me in Windows so I had to set it to false so I never got to see what it was supposed to do).


----------



## moyekj

windracer said:


> So wait, we should be seeing meta data? Or only in the current SVN build and not 0.20beta?


 I think the metadata updates are only in SVN not 0.20beta or earlier.


----------



## windracer

Cool, thanks. I'll wait for the next beta release. :up:


----------



## jannlinder

Then consider this my request to Yoav to remove the use.title=false from the current PyTivoX beta build .ini file since kearygriffin seems to think that option is no longer required.... (see post #381 in thread #416858 for kearygriffin's response)



J


----------



## Yoav

jannlinder said:


> Then consider this my request to Yoav to remove the use.title=false from the current PyTivoX beta build .ini file since kearygriffin seems to think that option is no longer required.... (see post #381 in thread #416858 for kearygriffin's response)
> 
> 
> 
> J


Ermm.. it's already been removed in the last beta. You may want to use the 'check for updates' menu option, and hit 'Apply' after installing it.


----------



## moyekj

jannlinder said:


> Then consider this my request to Yoav to remove the use.title=false from the current PyTivoX beta build .ini file since kearygriffin seems to think that option is no longer required.... (see post #381 in thread #416858 for kearygriffin's response)
> 
> 
> 
> J


 Not 100% sure but I believe in latest SVN the metadata caching is off by default. However if you hit "enter" while in file browsing mode it will build the cache as Keary mentioned. Or as Keary mentioned you can set the following in INI:
use.title.cachedonly=false
For me the metadata parsing is still hanging on Windows and I believe others have had the issue as well which is why I think Keary has disabled it by default until that gets worked out. (I haven't really been able to test out these settings to know exactly what they do because of the hangs).


----------



## kearygriffin

I've uploaded a new version of streambaby:
http://code.google.com/p/streambaby/

The main features in this version are metadata parsing and CCing (thanks to moyekj).
CCing is turned on/off via the ASPECT button on the remote, and defaults to ON if a SRT file is found. There are also some config settings, which I'll document tomorrow on the wiki.

I fixed a few issues that I think were causing problems with the metadata on windows, so hopefully most people will be able to get the metadata information now. If not please let me know.

The selection screen will use titles parsed from the metadata as opposed to filenames by default, but it will not use them until they have been cached. They are cached when you select a movie to be played, or you can cache all of the entries for a directory by pressing the ENTER key in the selection screen. (This key will probably change in the future...) There are also some config settings to automatically force the caching of metadata when a directory is entered.

All of the metadata is parsed using XSL, so if anyone wants to take a stab at better XSLT stylesheets, please feel free. I'll try to post up some basic instructions tomorrow, but basically the stylesheets are located in the stylesheets directory. In some cases multiple stylesheets are provided, with one generating HTML and one generating text. HTML supports images, but text stylesheets text looks nicer (HTML stylesheets render text on the PC side, while text stylesheets render the text on the Tivo).
meta-html.xsl & meta-text.xsl: XSLT for MP4 metadata. html version is default. change with ini setting xsl.meta=xxx.xsl
pytivo-html.xsl & pytivo-text.xsl: pytivo-text.xsl is the default. change with xsl.pytivo=xxx.xsl

Tivo XML files are also supported by way of tivo-pyxml.xsl which transforms them into a format that the pytivo-xxx.xsl scripts can transform.

(GIF/JPG/PNG are also supported, and rendered as-is)
Plain text .txt files that are not pytivo files are also supported (autodetected) and rendered as-is.

I know the above is confusing, and I'll try to post a better description on streambaby wiki tomorrow.


----------



## jannlinder

Yoav said:


> Ermm.. it's already been removed in the last beta. You may want to use the 'check for updates' menu option, and hit 'Apply' after installing it.


Arghhh...

Okay, so i just noticed something...

*CAVEAT*: We were warned that the current code only gets title and desc from the meta file so this is not a bug...it is a feature request 

With the current meta code (which works as of b15 of pytivox) streambaby grabs the *title* meta tag. This is bad for tv shows as it does not acknowledge the *isEpisode : true* meta tag (which should then grab the *episodeTitle* and display the episode title instead -- or at least concatenate the *episodeTitle* onto the title -- which is in all actuality the series name (maybe with a dash or colon in between)).

I wish I knew Java. I am a perl programmer and really wish I had the time to pick up Java! 

ps: In case I had not said it before: Thanks to all pytivo, pytivoX and StreamBaby programmers! Your work allowed me to ditch my appletv and use my Tivo for my personal library!

J


----------



## kearygriffin

jannlinder said:


> Arghhh...
> With the current meta code (which works as of b15 of pytivox) streambaby grabs the *title* meta tag. This is bad for tv shows as it does not acknowledge the *isEpisode : true* meta tag (which should then grab the *episodeTitle* and display the episode title instead -- or at least concatenate the *episodeTitle* onto the title -- which is in all actuality the series name (maybe with a dash or colon in between)).


I assume you are talking about pyTivo metadata files. I'll have to look at some more pyTivo metadata files. The ones I have (which I think were all actually generated with kmttg) seem to look like this for episodes:

title : 30 Rock - Retreat to Move Forward
seriesTitle : 30 Rock
episodeTitle : Retreat to Move Forward

So the title seemed to be the appropriate piece of information to use, since it already had all the information in it.


----------



## jannlinder

kearygriffin said:


> I assume you are talking about pyTivo metadata files. I'll have to look at some more pyTivo metadata files. The ones I have (which I think were all actually generated with kmttg) seem to look like this for episodes:
> 
> title : 30 Rock - Retreat to Move Forward
> seriesTitle : 30 Rock
> episodeTitle : Retreat to Move Forward
> 
> So the title seemed to be the appropriate piece of information to use, since it already had all the information in it.


The spec (http://pytivo.armooo.net/wiki/MetaData) for it says:

*seriesTitle*

Name of series (The Simpsons, Seinfeld, etc.). This should be included if the show is episodic. For movies, you may repeat the name of the movie (The Mummy, Spiderman, etc), leave blank, or omit.

*title*

Title of the series (The Simpsons, Seinfeld, etc.) or title of the movie (The Mummy, Spiderman, etc). Seemingly endless number of characters can be entered, only so many will be shown on the Program screen, but all are shown on the Details screen.

*episodeTitle*

Title of the episode (Pilot, Homer's Night Out, Episode 02, etc.) Should be included for episodic shows. Leave blank or omit for movies.

So when I see these three similar meta headings I am assuming the only place the episodeTitle goes is *episodeTitle*

 (by the way...do not take any of this personally...I am simply trying to put forward that to be true to the spec for pytivo meta files we need to stick to the wiki and not to what another programmer has done in the past. That is the only way that we can maintain true compatibility)

J


----------



## moyekj

jannlinder said:


> The spec (http://pytivo.armooo.net/wiki/MetaData) for it says:
> 
> *seriesTitle*
> 
> Name of series (The Simpsons, Seinfeld, etc.). This should be included if the show is episodic. For movies, you may repeat the name of the movie (The Mummy, Spiderman, etc), leave blank, or omit.
> 
> *title*
> 
> Title of the series (The Simpsons, Seinfeld, etc.) or title of the movie (The Mummy, Spiderman, etc). Seemingly endless number of characters can be entered, only so many will be shown on the Program screen, but all are shown on the Details screen.
> 
> *episodeTitle*
> 
> Title of the episode (Pilot, Homer's Night Out, Episode 02, etc.) Should be included for episodic shows. Leave blank or omit for movies.
> 
> So when I see these three similar meta headings I am assuming the only place the episodeTitle goes is *episodeTitle*
> 
> (by the way...do not take any of this personally...I am simply trying to put forward that to be true to the spec for pytivo meta files we need to stick to the wiki and not to what another programmer has done in the past. That is the only way that we can maintain true compatibility)
> 
> J


Well, with (an admittedly old version of) pyTivo things don't work out for me with metadata file unless I have the following configuration example (which is why I made kmttg do what it does):
title : The O'Reilly Factor - Coverage of the DNC
seriesTitle : The O'Reilly Factor
episodeTitle : Coverage of the DNC
With above settings pyTivo gives me following in short description:
The O'Reilly Factor <--- This in big letters
"The O'Reilly Factor - Coverage of the DNC" ....

If however I make the metadata file with the more logical settings:
title : The O'Reilly Factor
seriesTitle : The O'Reilly Factor
episodeTitle : Coverage of the DNC
Then I get:
The O'Reilly Factor <--- This in big letters
"The O'Reilly Factor" .... <--- missing episode description

Various other combinations I tried either don't give the right name in NPL or don't look right under description and extended description.

i.e. Only the first case most closely emulates what I see on Tivo which is why I make the metadata file like that in kmttg. Could be more recent versions of pyTivo behave differently, but at the time I added metadata support to kmttg that was the behavior (and still is with the old version of pyTivo I have installed).


----------



## jannlinder

moyekj said:


> Well, with (an admittedly old version) of pyTivo things don't work out for me with metadata file unless I have the following configuration example (which is why I made kmttg do what it does):
> title : The O'Reilly Factor - Coverage of the DNC
> seriesTitle : The O'Reilly Factor
> episodeTitle : Coverage of the DNC
> With above settings pyTivo gives me:
> The O'Reilly Factor <--- This in big letters
> "The O'Reilly Factor - Coverage of the DNC" ....
> 
> If however I make the metadata file with the more logical settings:
> title : The O'Reilly Factor
> seriesTitle : The O'Reilly Factor
> episodeTitle : Coverage of the DNC
> Then I get:
> The O'Reilly Factor <--- This in big letters
> "The O'Reilly Factor" .... <--- missing episode description
> 
> Various other combinations I tried either don't give the right name in NPL or don't look right under description and extended description.
> 
> i.e. Only the first case most closely emulates what I see on Tivo which is why I make the metadata file like that in kmttg. Could be more recent versions of pyTivo behave differently, but at the time I put that into kmttg that was the behavior.


Hmmm

Cos for me the following happens:

description : Reba is happy to find out that she and Kyra are closer than ever since Krya moved in with Brock and Barbra Jean. Kyra's behavior is driving Brock and Barbra Jean crazy. Meanwhile, Cheyenne's snoring is causing problems for Van.
episodeNumber : 302
episodeTitle : War and Peace
isEpisode : true
originalAirDate : 2003-09-19T00:00:01Z
seriesId : SH71550
seriesTitle : Reba
showingBits : 2
title : Reba
vWriter : Matt Berry

WIKI WAY:
Reba <-- big Letters
"War and Peace" (2003) Reba is happy to find out that she and Kyra are closer than ever since Krya moved in with Brock and Barbra Jean. Kyra's behavior is driving Brock and Barbra Jean crazy. Meanwhile, Cheyenne's snoring is causing problems for Van. <-- small letters

KMTTG WAY:
Reba <-- big Letters
"Reba" (2003) Reba is happy to find out that she and Kyra are closer than ever since Krya moved in with Brock and Barbra Jean. Kyra's behavior is driving Brock and Barbra Jean crazy. Meanwhile, Cheyenne's snoring is causing problems for Van. <-- small letters

Oh well...

Maybe an option in the ini file as follows:

use.kmttg.meta.parsing=true/false

if true, then it parses the title as it currently does -- and is compatible with the older PyTivo
if false, then it follows the PyTivo Wiki description for the fields (and the new PyTivo and PyTivoX) and is standard as far as the wiki is concerned.

PyTivoX would have to, of course, set this to false to be compatible with the way it currently displays information so as to make it's own non-streaming descriptions the same as the StreamBaby descriptions...

My goal is to make both PyTivoX and StreamBaby (since it is now included) display meta info the same way. It is odd, after all, to view the same show 2 different ways and get 2 different displays of data.

Spouse.Test=false



J


----------



## Yoav

jannlinder said:


> With the current meta code (which works as of b15 of pytivox) streambaby grabs the *title* meta tag. This is bad for tv shows as it does not acknowledge the *isEpisode : true* meta tag


Unfortunately I have seen isEpisode set to true for movies as well. Tivo metadata is such entirely black magic it's a pain in the butt to deal with. May I suggest divorcing the wife instead? I suspect that would pass the spouse test more easily...


----------



## moyekj

Sounds like newer branches of pyTivo have fixed the issue and behave the expected way. I'm not sure which particular branch of pyTivo is used by pyTivoX or if it really matters? For my installation I see I have this version that was installed using Windows installer: "pyTivo 2008.05.02". That version behaves the way I describe. I'll have to try a more recent version to confirm the fix.

EDIT: I just updated to following version: wgw-2008.10.15-RC1
I can confirm it now behaves as expected so no need to include episodeTitle content in title.


----------



## Yoav

moyekj said:


> I'm not sure which particular branch of pyTivo is used by pyTivoX or if it really matters?


Not sure if it really matters (I'm not using metadata so I'm not really contributing much here) but pyTivoX is using the latest git version of pyTivo-wgw (generally re-pulled with every build).


----------



## jannlinder

Yoav said:


> Unfortunately I have seen isEpisode set to true for movies as well. Tivo metadata is such entirely black magic it's a pain in the butt to deal with.


Yes, but as programmers aren't we *supposed* to code for the standard and then put options (if we wish) to handle the misbehaving applications?



Yoav said:


> May I suggest divorcing the wife instead? I suspect that would pass the spouse test more easily...


husband...and yes, he would *love* a divorce as then he could have a simpler life and not worry about how I want to set up the electronics and computer controlled lights and garage door opener sensors (grin).

All I am really saying is that if we code for misbehaving or misunderstood applications in order to make them work we are gonna have other programmers say 'Well, since StreamBaby does it that way, we should too". PyTivo handles this condition correctly. Why shouldn't StreamBaby?

J


----------



## jannlinder

moyekj said:


> EDIT: I just updated to following version: wgw-2008.10.15-RC1
> I can confirm it now behaves as expected so no need to include episodeTitle content in title.


Please define "as expected". If the wiki needs to be changed, lets change it ...

I wrote my own app that pulls data from thetvdb.com and builds my own .txt metadata files for PyTivo. I would LOVE to know what the "official" explanation of *title* is. If it is supposed to be "display title" then it needs to morph depending on whether or not it is a tv show or movie, etc. I can fix my app to work correctly, however, as it stands my displays in b14 and b15 (as well as the current release version of pyTivoX), are all displaying correct information insofar as the Wiki is concerned -- so this means to me that pyTivoX is using a version of pyTivo that follows the Wiki for the definition of *title* (meaning use *episodeName* in both the selection screen and place *episodeName* in quotes below *seriesTitle* on the description page of the Tivo.)


----------



## Yoav

jannlinder said:


> All I am really saying is that if we code for misbehaving or misunderstood applications in order to make them work we are gonna have other programmers say 'Well, since StreamBaby does it that way, we should too". PyTivo handles this condition correctly. Why shouldn't StreamBaby?


 I'm all for making things work. don't get me wrong. But the reason pyTivo handles it 'correctly' is because pyTivo just passes all the data back to the tivo, and the tivo does what it always does with the data (all those variable names were not made up by pyTivo.. They are the original variables that tivo stores as its metadata with every show it records). Streambaby is actually trying to parse the data and handle all the interesting / undocumented situations... and I'm just warning that it's not as simple as it sounds... -- Tivo hasn't actually published a document detailing the metadata and what it means (afaik). We've just been playing a guessing game that we mostly have right.


----------



## moyekj

jannlinder said:


> Please define "as expected". If the wiki needs to be changed, lets change it ...


 My definition of expected is that when viewing program details & extended details on the Tivo it should mimic as closely as possible how non-transferred programs look on Tivo. I think the recent pyTivo implementations and the wiki are now in sync so I don't see a reason to update it other than perhaps clarify what each field actually does. As Yoav stated though there is no official Tivo document on any of this metadata stuff so current implementations are a best guess at what the different fields do and future Tivo software updates can easily change the behavior without warning.


----------



## windracer

Love the new metadata feature in 0.22!

Unrelated: I have a small (8mb) mp4 file that crashes streambaby when I select it from the menu (to go to the details screen) or press Play on it. The error in the log is:



Code:


INFO   | jvm 1    | 2009/02/10 19:25:02 | SEVERE: Plausibility check failed: offset + size > file size (size = 50435192). Stop parsing!

ffmpeg reports the file as:



Code:


FFmpeg version SVN-r17019, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --enable-gpl --enable-postproc --enable-libvorbis --enable-libtheora --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-pthreads --enable-libx264 --disable-ffplay --disable-ffserver --enable-libxvid --enable-shared
  libavutil     49.14. 0 / 49.14. 0
  libavcodec    52.13. 0 / 52.13. 0
  libavformat   52.25. 0 / 52.25. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Feb  6 2009 08:58:52, gcc: 4.3.2
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testing.mp4':
  Duration: 00:02:25.52, start: 0.000000, bitrate: 495 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 512x384, 25.00 tb(r)
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16

Any ideas? At first I thought it was because there was no corresponding metadata file for this video in the .meta directory, but I have tested that on other videos on my NAS and they all work as expected.


----------



## moyekj

Sicklybutsexy said:


> There's no way to get this program to support closed captions is there? It has become my primary mode of adding .srt subtitles to movies using T2sami (very easy and quick ie...no re-encoding).


 P.S. In case you missed it Keary released closed captioned capability in 0.22beta. So if you have file.xxx and an accompanying T2Sami file.srt file then by default captions will be enabled and displayed. You can toggle captions on/off using "Aspect" button. It works surprisingly well if the T2Sami file is generated properly.


----------



## kearygriffin

windracer said:


> Unrelated: I have a small (8mb) mp4 file that crashes streambaby when I select it from the menu (to go to the details screen) or press Play on it. The error in the log is:
> 
> 
> 
> Code:
> 
> 
> INFO   | jvm 1    | 2009/02/10 19:25:02 | SEVERE: Plausibility check failed: offset + size > file size (size = 50435192). Stop parsing!
> 
> ..
> Any ideas?


Is there anything after that in the log? That's definitely an error, and streambaby won't be able to parse the metadata from the that file, but I am not sure why it would crash (from looking at the code it should handle it OK, but of course I don't have an easy way to test). What exactly are the symptoms of the crash? (hanging, exiting program, etc...)


----------



## kearygriffin

I haven't updated SVN yet, but I added the following logic for pyTivo metadata files, as far as displaying them in the selection screen. For the actual display of what I call the "info" on the playscreen and while playing it is determined by the XSL template, which I am hoping someone who knows XSLT better than me can make work. (Either that or I'll need to implement an alternative to XSLT which I can work in easier)

IF isEpisodic and we have a seriesTitle and we have an episodeTitle
-- Use "seriesTitle - episodeTitle"
else if we have a title:
-- use title:
else if we have a seriesTitle:
-- use seriesTitle:
else if we have episodeTitle
-- use episodeTitle

Hopefully that should work for most situations.


----------



## windracer

I should clarify: the streambaby app keeps running, but I get the 0x50006 error ("the application closed during a read").

I'm starting to see this on more files now ... even ones with metadata. Hmmm.


----------



## reneg

Finally got around to trying this app out, so I loaded version .22 and am seeing an error when I select a video on the Tivo. I get 0x50006 error ("the application closed during a read"). I have Windows XP with SP3. I made sure I had Java 1.6 installed. Will play around with it some more to see if I can get it running.



Code:


Initializing...
02/10/09 20:24:42 Listener: added factory
02/10/09 20:24:42 Main: streambaby ready & listening.
02/10/09 20:25:46 Listener: 192.168.1.92 icon.png HTTP GET - to factory /streamb
aby/
log after close : initContext version=47
02/10/09 20:25:57 Factory: HME receiver connected
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77c4709c, pid=452, tid=1760
#
# Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86)

# Problematic frame:
# C  [msvcrt.dll+0x3709c]
#
# An error report file with more information is saved as:
# C:\temp\streambaby-0.22beta\native\hs_err_pid452.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Exited.
Press any key to continue . . .

Partial data from the log file:


Code:


#
# An unexpected error has been detected by Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x77c4709c, pid=452, tid=1760
#
# Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86)
# Problematic frame:
# C  [msvcrt.dll+0x3709c]
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

---------------  T H R E A D  ---------------

Current thread (0x02c54400):  JavaThread "Acceptor" [_thread_in_native, id=1760, stack(0x03330000,0x03380000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x0319cf00

Registers:
EAX=0x0319cf04, EBX=0x26a5eaf8, ECX=0x00000001, EDX=0x00000000
ESP=0x0337f380, EBP=0x0337f388, ESI=0x0319cf00, EDI=0x0337f45c
EIP=0x77c4709c, EFLAGS=0x00010297

Top of Stack: (sp=0x0337f380)
0x0337f380:   26a5eaf8 02c54400 0337f468 10005376
0x0337f390:   0337f45c 0319cf00 00000004 02c54400
0x0337f3a0:   00a12ec5 0000009c 00000000 00000000
0x0337f3b0:   17d61c78 0337f3b4 2a9d1394 0337f3e4
0x0337f3c0:   2b1f3a18 02c54400 16a85078 0337f43c
0x0337f3d0:   02c54400 6d8f07e8 0337fcfc 6d9b1d02
0x0337f3e0:   02c54400 00000006 00000004 02c54400
0x0337f3f0:   2a9d0ab8 0337f43c 2b1f3ed0 00a19cf1 

Instructions: (pc=0x77c4709c)
0x77c4708c:   8b 44 8e f4 89 44 8f f4 8b 44 8e f8 89 44 8f f8
0x77c4709c:   8b 44 8e fc 89 44 8f fc 8d 04 8d 00 00 00 00 03 


Stack: [0x03330000,0x03380000],  sp=0x0337f380,  free space=316k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [msvcrt.dll+0x3709c]
C  [jna371831539367682850.tmp+0x5376]
j  com.sun.jna.Pointer._getPointer(J)Lcom/sun/jna/Pointer;+0
j  com.sun.jna.Pointer.getPointer(J)Lcom/sun/jna/Pointer;+6
j  com.sun.jna.Structure.readValue(ILjava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;+566
j  com.sun.jna.Structure.readField(Lcom/sun/jna/Structure$StructField;)Ljava/lang/Object;+164
j  com.sun.jna.Structure.read()V+79
j  com.sun.jna.Function.invoke(Ljava/lang/Class;[Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;+311
j  com.sun.jna.Library$Handler.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;+344
j  $Proxy0.av_close_input_file(Lnet/sf/ffmpeg_java/v52a/AVFormatLibrary$AVFormatContext;)V+16
j  com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule.fillVideoInformation(Ljava/net/URI;Lcom/unwiredappeal/mediastreams/VideoInformation;)Z+1015
j  com.unwiredappeal.tivo.modules.VideoModuleHelper.fillVideoInformation(Ljava/net/URI;Lcom/unwiredappeal/mediastreams/VideoInformation;)Z+67
j  com.unwiredappeal.mediastreams.VideoInformation.<init>(Ljava/net/URI;)V+123
j  com.unwiredappeal.mediastreams.VideoInformation.getVideoInformation(Ljava/net/URI;)Lcom/unwiredappeal/mediastreams/VideoInformation;+72
j  com.unwiredappeal.tivo.dir.DirEntry.getVideoInformation()Lcom/unwiredappeal/mediastreams/VideoInformation;+12
j  com.unwiredappeal.tivo.dir.DirEntry.getMetadata(Lcom/unwiredappeal/tivo/metadata/MetaData;)Z+41
j  com.unwiredappeal.tivo.streambaby.PlayScreen.<init>(Lcom/tivo/hme/bananas/BApplicationPlus;Lcom/unwiredappeal/tivo/dir/DirEntry;)V+61
j  com.unwiredappeal.tivo.streambaby.SelectionScreen.moveRight()V+82
j  com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(IJ)Z+122
j  com.tivo.hme.sdk.HmeObject.handleEvent(Lcom/tivo/hme/sdk/HmeEvent;)Z+69
j  com.tivo.hme.bananas.BView.handleEvent(Lcom/tivo/hme/sdk/HmeEvent;)Z+74
j  com.tivo.hme.bananas.BScreen.handleEvent(Lcom/tivo/hme/sdk/HmeEvent;)Z+57
j  com.tivo.hme.sdk.View.postEvent(Lcom/tivo/hme/sdk/HmeEvent;)V+2
j  com.tivo.hme.sdk.View.postEvent(Lcom/tivo/hme/sdk/HmeEvent;)V+20
j  com.tivo.hme.sdk.View.postEvent(Lcom/tivo/hme/sdk/HmeEvent;)V+20
j  com.tivo.hme.sdk.View.postEvent(Lcom/tivo/hme/sdk/HmeEvent;)V+20
j  com.tivo.hme.bananas.BApplication.dispatchKeyEvent(Lcom/tivo/hme/sdk/HmeEvent$Key;)V+52
j  com.tivo.hme.bananas.BApplication.dispatchEvent(Lcom/tivo/hme/sdk/HmeEvent;)V+29
j  com.tivo.hme.bananas.BApplicationPlus.handleChunk(Ljava/io/InputStream;)Z+412
j  com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Lcom/tivo/hme/interfaces/IApplication;Ljava/io/InputStream;)V+33
j  com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Lcom/tivo/hme/host/http/server/HttpRequest;Lcom/tivo/hme/interfaces/IFactory;)V+498
j  com.unwiredappeal.tivo.streambaby.host.Listener.handle(Lcom/tivo/hme/host/http/server/HttpRequest;)V+221
j  com.tivo.hme.host.http.server.HttpConnection.run()V+259
j  java.lang.Thread.run()V+11
v  ~StubRoutines::call_stub


----------



## Sicklybutsexy

moyekj said:


> P.S. In case you missed it Keary released closed captioned capability in 0.22beta. So if you have file.xxx and an accompanying T2Sami file.srt file then by default captions will be enabled and displayed. You can toggle captions on/off using "Aspect" button. It works surprisingly well if the T2Sami file is generated properly.


will try it out. thanks.


----------



## moyekj

reneg said:


> Finally got around to trying this app out, so I loaded version .22 and am seeing an error when I select a video on the Tivo. I get 0x50006 error ("the application closed during a read"). I have Windows XP with SP3. I made sure I had Java 1.6 installed. Will play around with it some more to see if I can get it running.


 If you don't have any luck getting 0.22beta perhaps try 0.20beta for now to see if that gets you any further.


----------



## reneg

moyekj said:


> If you don't have any luck getting 0.22beta perhaps try 0.20beta for now to see if that gets you any further.


Same error with .20beta as .22beta.

So I went and changed com.unwiredappeal=Warn to com.unwiredappeal=Verbose in the simplelog.properties file and now it works under both .20beta and .22beta. Go figure.

Limping along for now. Very impressed with what I've seen so far.


----------



## rfryar

kearygriffin said:


> IF isEpisodic and we have a seriesTitle and we have an episodeTitle
> -- Use "seriesTitle - episodeTitle"
> else if we have a title:
> -- use title:
> else if we have a seriesTitle:
> -- use seriesTitle:
> else if we have episodeTitle
> -- use episodeTitle


In the meta section I would put something like this:


Code:


  <xsl:choose>
      <xsl:when test="@isEpisode">
        <xsl:choose>
          <xsl:when test="@seriesTitle and @episodeTitle">
            <xsl:value-of select="@seriesTitle"/>-<xsl:value-of select="@episodeTitle"/>
          </xsl:when>
          <xsl:when test="@episodeTitle">
            <xsl:value-of select="@episodeTitle"/>
          </xsl:when>
          <xsl:when test="@seriesTitle">
            <xsl:value-of select="@seriesTitle"/>
          </xsl:when>
          <xsl:when test="@title">
            <xsl:value-of select="@title"/>
          </xsl:when>
          <xsl:otherwise>
            Default Title Here??
          </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:when test="@title">
        <xsl:value-of select="@title"/>
      </xsl:when>
      <xsl:otherwise>
        Default Title Here??
      </xsl:otherwise>
      <xsl:text>&#xD;&#xA;</xsl:text>
  </xsl:choose>

That flow does mostly what you commented on.

Rick


----------



## jmemmott

moyekj said:


> P.S. In case you missed it Keary released closed captioned capability in 0.22beta. So if you have file.xxx and an accompanying T2Sami file.srt file then by default captions will be enabled and displayed. You can toggle captions on/off using "Aspect" button. It works surprisingly well if the T2Sami file is generated properly.


I want to thank both of you for doing this. I downloaded the 0.22 beta when it was put up and have been playing with the captioning since. You are right that it works surprisingly well - much better than I had anticipated. Good work on your part!

I am in the process of making changes to the t2sami desktop to simplify user workflow to support this. So far I have used DVDs and mpegs as source and H.264 and mpegs as output. These permutations are now working well in my development version as are .tivo files that t2sami downloads and processes directly. I have a few permutations to go : unprocessed .tivo and .mkv input files and SD/HD output. When I am satisfied with the new code, I will put out another t2sami build.

In the meantime, if you are having problems with the captions generated by specific video clips, contact me. I will likely need a short piece of the video around the trouble spot to locate the specific cause but I am interested in cleaning up any problems that are occuring.


----------



## moyekj

jmemmott said:


> In the meantime, if you are having problems with the captions generated by specific video clips, contact me. I will likely need a short piece of the video around the trouble spot to locate the specific cause but I am interested in cleaning up any problems that are occuring.


 Thanks very much for you work on t2sami, I'm still impressed how quickly it works. While trying to generate captions from different sources (.TiVo and .mpg) for testing purposes I did have some trouble with some files. I can remember one clearly was a DVD rip of one of Star Wars episodes where for some reason the .srt file generated had some garbage towards the front and then off sync for the rest. I also ran into at least one .TiVo file that has proper captions but could not get a good .srt file out of it. I'll have to see if I can dig out those cases and make short clips out of them to send you.
I did hesitate to try generating .srt files from mpeg2 files that I had done editing on to remove commercials, as I'm not sure how well VideoRedo and/or Womble mpeg video Wizard are at preserving proper caption data when editing files. If you happen to know about that your opinion is appreciated.


----------



## jmemmott

I have not used Womble so I can't comment on it but I use VideoReDo for all of my own Tivo editing. I have also had occasion to help them with captioning problems so I know that not only does it does work well but they are also committed to seeing that it continues to do so. The only issue is that the captions are offset from the a/v because they have to arrive early to be composed into displayable text that is kept in sync. Near a cut point, you can therefore gain or loose a few characters or control commands you don't expect.

The underlying problem with the captions is that no one looks at the stream except the captioning hardware and it is very good at cleaning everything up before it is displayed. As a result there is no incentive for the broadcast stations or studios to to clean anything up and garbage gets left in the stream from one edit to the next. Couple this with the tendancy of analog broadcasts to loose or scramble part of the data and strange things happen. That is why I usually need clips - accurate error recovery is the principal issue.


----------



## moyekj

OK thanks jmemmott. One last question if you don't mind (please excuse my ignorance about captions in general). With current method we are using there is no caption position information in the generated .srt file and therefore no choice but to display captions at a fixed screen position. When viewing captions normally via Tivo I've seen captions change positions so as not to interfere with other critical viewing data. So any reason not to extract position information with t2sami? (maybe there already is a way and if so forgive my ignorance).


----------



## jmemmott

moyekj said:


> OK thanks jmemmott. One last question if you don't mind (please excuse my ignorance about captions in general). With current method we are using there is no caption position information in the generated .srt file and therefore no choice but to display captions at a fixed screen position. When viewing captions normally via Tivo I've seen captions change positions so as not to interfere with other critical viewing data. So any reason not to extract position information with t2sami? (maybe there already is a way and if so forgive my ignorance).


It harkens back to the origins of these file formats. Closed captioning has always carried positioning information. This is not so much to get it out of the way but to get it near a point of reference : the captions for a specific speaker can be positioned near the speaker to make viewing a little easier. This does require an editor to position it near the speaker but not on top of anything important on a scene by scene basis. Since the television resolution was fixed and low resolution a 16 row x 32 column igrid could be used to locate the lower left corner of the caption for this process. Closed caption file formats that capture this information do exist but they are typically binary files used only by CC editing programs.

Subtitles were added to movies as an after thought and on DVDs are seperate video tracks. Typically they are shown at the bottom or below the movie. Early programs for converting them such as SubRip (.srt) were OCR programs that worked against just the subtitle tracks and therefore had no positioning information to work with. As a result even when positioning attributes are included as part of the file format, they have never been widely supported.

Newer file formats that have arisen from computer video such as substation alpha (ssa/ass) and timed text (ttxt ) do have positioning information but because they must work across a range of resolutions 320x240 ==> 1920x1080 they get a little complicated to use, especially if you want to run the video through ffmpeg to change resolution on the fly.

So - it can be done but it would take some standards work up front to get a meaningful set of coordinates first. I hadn't pursued it earlier because there was no way to use this information except in the form of embedded closed captions which I already preserved.


----------



## Sicklybutsexy

the captioning works very well in my testing so far. I had two mkv files mpeg4/iso/avc that worked well with the .srt files. Great work!


----------



## windracer

kearygriffin said:


> Is there anything after that in the log? That's definitely an error, and streambaby won't be able to parse the metadata from the that file, but I am not sure why it would crash (from looking at the code it should handle it OK, but of course I don't have an easy way to test). What exactly are the symptoms of the crash? (hanging, exiting program, etc...)


Here's what I see in streambaby.log when I turned on Verbose:


Code:


02/12/09 02:50:57 VideoModuleHelper: GetVidInfo: file:/mnt/media/Video/Movies/Pans%20Labyrinth.avi
02/12/09 02:50:58 FFmpegJavaVideoModule: vidDur:7132132
02/12/09 02:50:58 FFmpegJavaVideoModule: VideoInfo:
uri: file:/mnt/media/Video/Movies/Pans%20Labyrinth.avi, Container: avi, Duration: 7132.132 seconds
Video: UNK 528x288 23.976 fps
  PixAspect: 1.0, Aspect: 1.8333334
Audio: mp3 48000HZ 2 channels

It can't be the UNK on the video line because I see that for other videos that work fine. 

Could be related to my recent re-build of ffmpeg, I suppose ...


----------



## kearygriffin

rfryar said:


> In the meta section I would put something like this:
> 
> 
> Code:
> 
> 
> <xsl:choose>
> ...
> ...
> </xsl:choose>
> 
> That flow does mostly what you commented on.
> 
> Rick


Thanks Rick. I haven't had a chance to put it into the stylesheets, but this looks perfect, and I'll put it in shortly.


----------



## kearygriffin

Just put up new version, 0.23beta:
http://code.google.com/p/streambaby/

This is mainly a release to fix a couple of bugs:
-- Should fix issue some people (windracer for one) are having with MP4 metadata parsing
-- Should fix occasional issues with crashing while determining video information

Also implements rfryars XSLT changes to parse pytivo title information, so episodic shows should have the correct title.


----------



## jannlinder

kearygriffin said:


> Just put up new version, 0.23beta:
> http://code.google.com/p/streambaby/
> Also implements rfryars XSLT changes to parse pytivo title information, so episodic shows should have the correct title.


Thx for the PyTivo fixes (regarding episodic TV...)

But one tiny little tiny bitty thing...

The "title" still shows up in the folder listing for the program. Anyway to put the same xsl fix in the listing for individual files so that the title does not show but the "title - episode name" shows?

TIA

J


----------



## kearygriffin

jannlinder said:


> Thx for the PyTivo fixes (regarding episodic TV...)
> 
> But one tiny little tiny bitty thing...
> 
> The "title" still shows up in the folder listing for the program. Anyway to put the same xsl fix in the listing for individual files so that the title does not show but the "title - episode name" shows?
> 
> TIA
> 
> J


That should be fixed in this version as well (hopefully). The old name is probably just cached-- Try deleting cache/meta.cache and then restarting streambaby.


----------



## jannlinder

kearygriffin said:


> That should be fixed in this version as well (hopefully). The old name is probably just cached-- Try deleting cache/meta.cache and then restarting streambaby.


er, I did. In addition i hit ENTER on the screen showing the filenames and it said "One moment please" and came up with the title again.

ps: I just updated the xsl files. Did i need to update to .23 to get the actual fix? The xsl files fixed the description screen so it shows the episode names.


----------



## moyekj

kearygriffin said:


> -- Should fix issue some people (windracer for one) are having with MP4 metadata parsing


 Thanks Keary, that fix appears to have solved the hanging issue I was having with MP4 parsing, so I no longer have to set meta.mp4.disable=true

However now if I hit "Enter" in file browser node in one of my folders the application crashes (appears to be on one of the .mp4 files). Here's the relevant debug log section right before crash:


Code:


02/12/09 21:42:49 FFmpegJavaVideoModule: vidDur:8303872
02/12/09 21:42:49 FFmpegJavaVideoModule: VideoInfo:
uri: file:/c:/home/dvd/testing/star_wars2.mp4, Container: mp4, Duration: 8303.872 seconds
Video: h264 720x480 29.97 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: ac3 48000HZ 2 channels
02/12/09 21:42:49 Listener:
02/12/09 21:42:49 Listener: connection to receiver closed
02/12/09 21:42:49 Listener:
02/12/09 21:42:49 Factory: HME receiver disconnected
02/12/09 21:42:49 Listener:
02/12/09 21:42:49 Listener: Unexpected error: java.lang.NegativeArraySizeException

No big deal BTW, just thought I would report it.
P.S. As expected, if I set *meta.mp4.disable=true* then it no longer crashes so it's pretty clear the mp4 metadata parsing is where the issue is.


----------



## kearygriffin

Yoav said:


> +1 vote for higher resolution!!
> 
> Also, would it make sense to change the following defaults:
> ffmpegexe.transcode.sameqargs=-sameq -ab 384k
> quality.highestabr=384
> quality.highres=1080
> 
> 192 for audio is pretty low, and I suspect most HD's out there by now are 1080?


I forgot to comment on this before. I'll definitely think about adding the 384k to the sameq args.

First, changing quality.highres without changing quality.highestvbr to something higher than the default (which is 5000 by default) is probably problematic also, as ffmpeg will start to complain if the resoultion is too high and the bitrate too low.

But I am assuming you want the VBR increased by default as well. I guess my initial thoughts were if you want high quality, use "Same". If you are using the other quality settings, you are always reducing the quality, so the highest settings shouldn't be that high.

I guess I prefer to have a lower "highest" setting so that I can have more granularity in the bitrates. By setting it higher, each step (highest/high/medium-high,etc..) gets bigger. I may not be a good example of how most people are using streambaby, but I often am accessing it over-the-internet, so I like to have control so I can keep stepping down the bitrate until I find the highest bitrate that works without pausing.

Keary


----------



## kearygriffin

jannlinder said:


> er, I did. In addition i hit ENTER on the screen showing the filenames and it said "One moment please" and came up with the title again.
> 
> ps: I just updated the xsl files. Did i need to update to .23 to get the actual fix? The xsl files fixed the description screen so it shows the episode names.


Yes, you need to update. The XSL only affects what is displayed on the play screens. The title on the selection screen is actually generated inside the code itself. (I'll probably end up changing this at some point so it grabs the title from the XSL, but haven't gotten around to it yet)

And I also just checked the code, and after you update to 0.23 just pressing ENTER should update the cache with the new titles, with no need to delete meta.cache (At least that's what it looks like from reading the code, but if it doesn't seem to work please do delete the cache file and see what happens)


----------



## jannlinder

kearygriffin said:


> Yes, you need to update. The XSL only affects what is displayed on the play screens. The title on the selection screen is actually generated inside the code itself. (I'll probably end up changing this at some point so it grabs the title from the XSL, but haven't gotten around to it yet)


Okay, I will have to wait until Yoav builds another beta of PyTivoX then.

(I haven't asked Yoav if i can simply replace the streambaby dir inside the package with the newer streambaby dir that you package up and have it work)

Thx for the hard work -- we all appreciate it.

Becoming VERY spouse - friendly now. My husband is actually actively using it to watch American Idol back to back..  I know ... a grown man of 45-ish watching Idol. Stinks since I can hear it too when he watches it!


----------



## Yoav

jannlinder said:


> (I haven't asked Yoav if i can simply replace the streambaby dir inside the package with the newer streambaby dir that you package up and have it work)


Quick answer: Yes you can manually replace it in the package and things *should* work (I can't speak for the future, but for this release, yes it will work).

That said, I do have a build compiling right now.. so it should be up soon if you don't want to mess with the bundle, and it will include a newer ffmpeg/x264 (those guys are ALWAYS checking in changes... wow).


----------



## jannlinder

Yoav said:


> Quick answer: Yes you can manually replace it in the package and things *should* work (I can't speak for the future, but for this release, yes it will work).
> 
> That said, I do have a build compiling right now.. so it should be up soon if you don't want to mess with the bundle, and it will include a newer ffmpeg/x264 (those guys are ALWAYS checking in changes... wow).


Yoav, you and kearygriffin are great! Being a programmer myself it is nice to see you both watching the boards. I know it takes a lot of time to both program and answer people's questions!

thx

(anxiously awaiting b17)



J


----------



## Yoav

jannlinder said:


> (anxiously awaiting b17)


Your wait is over! 

(seriously though, keary's doing the actual work... I'm just compiling and bundling.. not really very hard to do .


----------



## jannlinder

ummm

Streambaby crash!



Code:


Thu 2009/02/12 22:28:35.252|   |Acceptor|VideoModuleHelper|GetVidInfo: file:/Volumes/NFS_WD1TBRAID0/iTunes/iTunes%20Music/TV%20Shows/Reba/Season%2001/Reba%20-%20S01S01%20-%20Deleted%20Scenes%20-%201.m4v
Assertion failed: (sc->time_offset % sc->time_rate == 0), function mov_build_index, file libavformat/mov.c, line 1236.

hlp!

This is when I hit enter on that file list to get it to recache title - episodeName

ps: This file does NOT use the pytivo .txt file. i am assuming it is dying during the mp4 metadata read.

TIA

J


----------



## kearygriffin

jannlinder said:


> ummm
> 
> Streambaby crash!
> 
> 
> 
> Code:
> 
> 
> Thu 2009/02/12 22:28:35.252|   |Acceptor|VideoModuleHelper|GetVidInfo: file:/Volumes/NFS_WD1TBRAID0/iTunes/iTunes%20Music/TV%20Shows/Reba/Season%2001/Reba%20-%20S01S01%20-%20Deleted%20Scenes%20-%201.m4v
> Assertion failed: (sc->time_offset % sc->time_rate == 0), function mov_build_index, file libavformat/mov.c, line 1236.


That actually looks like it is inside the FFmpeg MP4 handling code, and it looks like relatively new code....

The only thing I can do is stop using ffmpeg to gather any kind of metadata (I do my own MP4 parsing anyway, but ffmpeg still returns some valid metadata like name/author/etc for some file formats that streambaby doesn't parse internally) I think I will end up doing this since it slows things down considerably anyway...

This will only fix the crash during the metadata gathering stage-- it will still crash when you try to play that particular movie.


----------



## manacubus

Hopefully this is the right place to post this one small query...

Could anyone enlighten me ot the possible cause of this error?



Code:


02/13/09 22:48:20 ViewScreen: ReceivedEvent: 3019.RESOURCE_INFO(connecting, {speed=0, start=0, position=0, duration=0})
02/13/09 22:48:20 ViewScreen: ReceivedEvent: 3019.RSRC_STATUS(error)
02/13/09 22:48:20 ViewScreen: error=ERROR: 0x2e006a

Thanks for any assistance.


----------



## windracer

kearygriffin said:


> -- Should fix issue some people (windracer for one) are having with MP4 metadata parsing


Hmmmm ... while it works for that sample 8mb file I sent you, I'm still running into the 0x50006 error on some MP4 files. I see in the log:


Code:


20:53:51,117  INFO [Acceptor] AppHost - Unexpected error: java.lang.NullPointerException

Even if I use meta.mp4.disable=true the files still cause the crash.


----------



## kearygriffin

I just put up Streambaby 0.24 (I've dropped the beta tag not because I don't consider it a beta, but because they are all pretty much betas, and this makes it easier to release versions like 0.24a, 0.24b when I fix small problems)

http://code.google.com/p/streambaby/

This release is really to solve a couple of problems:
1) To fix jannlinders issue with ffmpeg crashing while generating metadata, ffmpeg is no longer used to generate metadata info (by default, there is a setting to reenable it). This also has the side effect of speeding up metadata retrieval.
2) More/better exception handling in the MP4 metadata section, so even if the MP4 metadata fails/throws an exception, execution should continue.

Also note that for issue #1, the problem is only solved for metadata generation. My guess is that when you are trying to play the actual video file with the problem, streambaby may still abort on you. The problem is more recent ffmpeg versions have an assert in the mp4 code that may trigger on certain videos. If the assert does trigger, it will probably bring streambaby down with it.

Windracer: Not sure if either of these will fix the issue you are having, but I'd be interested in having you give it a shot.
-- Also if you can try the new version without galleon, it may give more detailed debugging when it crashes.


----------



## windracer

kearygriffin said:


> Windracer: Not sure if either of these will fix the issue you are having, but I'd be interested in having you give it a shot.
> -- Also if you can try the new version without galleon, it may give more detailed debugging when it crashes.


Ok, I still get the crashes, and here's the debug output:


Code:


02/14/09 02:28:59 Listener: java.lang.NullPointerException
        at com.unwiredappeal.tivo.views.BScrollableText$TivoStringLength.stringLength(BScrollableText.java:75)
        at com.unwiredappeal.tivo.utils.WordWrap.next(WordWrap.java:44)
        at com.unwiredappeal.tivo.utils.WordWrap.split(WordWrap.java:74)
        at com.unwiredappeal.tivo.views.BScrollableText.createTextViews(BScrollableText.java:96)
        at com.unwiredappeal.tivo.views.BScrollableText.validate(BScrollableText.java:56)
        at com.unwiredappeal.tivo.views.SBScrollPanePlus.refresh(SBScrollPanePlus.java:130)
        at com.unwiredappeal.tivo.views.BScrollableText.setValue(BScrollableText.java:66)
        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataViewer.java:37)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.<init>(PlayScreen.java:82)
        at com.unwiredappeal.tivo.streambaby.SelectionScreen.moveRight(SelectionScreen.java:252)
        at com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(SelectionScreen.java:287)
        at com.tivo.hme.sdk.HmeObject.handleEvent(HmeObject.java:115)
        at com.tivo.hme.bananas.BView.handleEvent(BView.java:217)
        at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:146)
        at com.tivo.hme.sdk.View.postEvent(View.java:684)
        at com.tivo.hme.sdk.View.postEvent(View.java:686)
        at com.tivo.hme.sdk.View.postEvent(View.java:686)
        at com.tivo.hme.sdk.View.postEvent(View.java:686)
        at com.tivo.hme.bananas.BApplication.dispatchKeyEvent(BApplication.java:196)
        at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:159)
        at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
        at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
        at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
        at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
        at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
        at java.lang.Thread.run(Thread.java:619)

StringLength? Ahhh .. maybe my metadata files have too much in them?

... back after researching ...

I think I'm on to something. The files that are "crashing" have strange characters in their metadata file. I think they're supposed to be accented characters and stuff, but MetaGenerator created them "weird." For example, there's a line in my 300.avi.txt meta file:


Code:


vActor : Fr&#195;&#402;&#198;&#8217;&#195;&#8218;&#194;&#169;d&#195;&#402;&#198;&#8217;&#195;&#8218;&#194;&#169;ric Smith

But even after I "clean" the file removing all those characters, then clearing streambaby's cache and starting again, the file will still cause a crash (same error). If I remove the metadata file altogether, I can get into the details screen of the file (without metadata, obviously) and play it. So it's not the actual video file, but the corresponding metadata file causing the crash.

To fix the file, I had to copy/paste the text (after removing the offending characters) into a brand new file and then save over the original. Then I was able to get to the details screen and see the metadata. I guess I'll just need to "rebuild" my offending metadata files as I find them.

Hope this helps! Some sort of Unicode vs. ASCII thing?

_edit:_ that was definitely it: every file that "crashes" that I've found has had some sort of weird characters in the metadata file. Once I clean them out and re-save the file, it works again.


----------



## rfryar

windracer said:


> MetaGenerator created them "weird." For example, there's a line in my 300.avi.txt meta file:
> 
> 
> Code:
> 
> 
> vActor : FrÃÆÃÂ©dÃÆÃÂ©ric Smith


What program are you using to open up the meta data .txt files. Those look like Unicode characters opened in a ISO-8859-1 mode (US English). So several possibilities come to my mine.

1) MetaGenerator saved Unicode data but did not mark the file as Unicode
2) The file is correctly marked as Unicode but the editor you opened them with does not support Unicode files

I actually think it is the second option as that would explain why you need to create a new file to "fix" the issue even after you remove the "bad" data.

So the action for StreamBaby is to ensure that it reads the files from te file system as Unicode (or perhaps UTF-8). There is an option in Java to force loading the file as UTF-8, which would not harm anything even if the file is just in US-English.

Rick


----------



## jlbarr

Is it possible to list files with series titles in episode order like pytivo?


----------



## kearygriffin

rfryar said:


> ...
> 2) The file is correctly marked as Unicode but the editor you opened them with does not support Unicode files
> 
> I actually think it is the second option as that would explain why you need to create a new file to "fix" the issue even after you remove the "bad" data.
> 
> So the action for StreamBaby is to ensure that it reads the files from te file system as Unicode (or perhaps UTF-8). There is an option in Java to force loading the file as UTF-8, which would not harm anything even if the file is just in US-English.


It's a straight txt file, so there is no way to "mark" the file as either UTF-8 or straight latin. However, it looks like I should be treating it as UTF-8 (and more than likely I am not). I am assuming that when you transfer one of these files back to the TiVo the description gets transferred back correctly? (So the funny characters come out correctly when the metadata is returned to the TiVo).

There are probably a couple of changes I need to make to fix this:
1) Treat pyTivo txt files as UTF-8. Shouldn't do any harm even if file is not really UTF-8.
2) Handle the situation (which is what is currently causing the crash, although #1 may fix this, I should probably handle it better) where TiVo tells me it can't calculate the characters width. I'll probably have to strip out the offending characters to make this work, but I am hoping that with fix #1 above, there won't be any more offending characters.

I'm hoping I won't have issues with character set translation goes as far as mapping goes. This is how the TiVo builds it's widths table:

char c = (char)readInt();
map.put(new Character(c), widthInfo);

I have no idea how Java deals with character sets when casting from an int to char. I'm hoping that as long as I get the character set mapping on my side correct, that:

map.get(new Character(c))

will return what I am expecting.


----------



## windracer

rfryar said:


> What program are you using to open up the meta data .txt files.


I'm using the Unicode version of Notepad++ and it shows UTF-8 at the bottom when I open the metadata file but the characters are still messed up. However, I did just notice that when I copy/paste the text into a new file, it defaults to ANSI and that's when the file works through streambaby. So it _is_ the UTF-8 encoding.

I never noticed these before, but I checked through pyTiVo and they're being displayed just like they appear in the file:










So this is probably a MetaGenerator "problem" originally, but it causes the encoding/string length problem with streambaby.


----------



## kearygriffin

windracer said:


> So this is probably a MetaGenerator "problem" originally, but it causes the encoding/string length problem with streambaby.


Ok, I just did some testing, and it looks like streambaby does handle UTF-8 pyTivo metadata files with no problem, and the characters come out correctly.

So the only thing I need to do is handle invalid characters in a more graceful manner. (And anything is more graceful than crashing ;-)


----------



## rfryar

TXT files can be in any character encoding. Some OS's may put some code at the front of the TXT file to indicate a known character set, ie if you save a txt file using notepad in windows as UTF-8, and then dump the raw file you will see these flags. These flags are not required to save UTF-8 data into a file, just tell the OS that the file is UTF-8.

Of course with all that said is it pointless as it seems that either the raw text sent to the Tivo does not accept UTF-8, or not 7 bit ASCII, or breaks. What I wonder is if through the HTML interface you can tell the Tivo to expect UTF-8 and then send non-7 bit ASCII characters? I am not in front of my Tivos at the moment or I would test this, but if someone wants to beat me to the punch..

Switch your XSLT file to the HTML version and modify the XSLT to include the following line after the tag:


Code:


<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>

Now include a TXT metadata file with UTF-8 characters and see how the Tivo sees it.

Just something to try, I will give it a whirl later this weekend when I get a chance.

Rick


----------



## mp1969

Apologies for the lame question team, believe it or not, TIVO is new to Australia and being distributed by a third party. Its a struggle, but they dont even know what a MAK is so its hard to say when we will get the desktop software. 

My question is this, I understand you need a MAK for pytivo, do you need one for streambaby?

thanks, a lot of Aussies have a lot of catching up to do....


----------



## wmcbrine

You do NOT need a MAK for pyTivo. If you have one, you can use it, for the extraction functions. Everything else works without it. (But whether pyTivo will work in general on Australian TiVos, I can't say.)

Streambaby has no use for a MAK AFAIK.

Even if your distributor doesn't know what a MAK is, you could have one. Look under Messages & Settings, Account & System Information, Media Access Key (if that menu is there).


----------



## mp1969

Thanks, got it almost working, I now have visibility of the files however I get an ERROR:0x2e006a when I try an open the file, any ideas?

thanks


----------



## manacubus

Which is exactly the same error I get, as posted here. Incidently, I'm also in Oz.


----------



## rfryar

rfryar said:


> Switch your XSLT file to the HTML version and modify the XSLT to include the following line after the tag:
> 
> 
> Code:
> 
> 
> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
> 
> Now include a TXT metadata file with UTF-8 characters and see how the Tivo sees it.


No luck, both the text XSL and the HTML file with the character-set as UTF-8 do not work correctly. I have the TXT file saved as UTF-8 and some UTF-8 data and it shows up garbled in the metadata screens.

So either the Tivo is ignoring the double byte data, or we need to specify the character set in some form, or StreamBaby is loading the data incorrectly.

Rick


----------



## jasa

Keary just want to confirm that app works great both on mac and windows streaming is also good ( better than anything out there)

only thing is that when i set passwords to specific directories they do not show up at all !!!!!!!!!! and tivo remembers passwords even though I configured everything according to direction in .ini file


and one more request if you could add time to info so when we press info time is also displayed


----------



## kearygriffin

rfryar said:


> No luck, both the text XSL and the HTML file with the character-set as UTF-8 do not work correctly. I have the TXT file saved as UTF-8 and some UTF-8 data and it shows up garbled in the metadata screens.
> 
> So either the Tivo is ignoring the double byte data, or we need to specify the character set in some form, or StreamBaby is loading the data incorrectly.
> 
> Rick


Is it possible to post attach one of the problematic metadata files? The ones I tried with UTF-8 seemed to work OK. (I recorded some shows on Univision with spanish-accented characters that where encoded as multi-byte UTF-8 in the txt file, and everything looked OK.)


----------



## kearygriffin

jasa said:


> only thing is that when i set passwords to specific directories they do not show up at all !!!!!!!!!! and tivo remembers passwords even though I configured everything according to direction in .ini file


1. if a password is set up for specific directories, they will not show up unless the correct password is entered. When entering streambaby if all directories are password protected you will be prompted to enter a password. However, if any of the directories are not password protected, you will not be prompted to enter a password, and will only see the non-password protected directories. Press CLEAR to go to the password screen and enter a password.
2. Setting remember.password=false seems to work for me. When I go into streambaby it asks for a password. If I enter a password I can see the password protected directories. I then back out of streambaby and re-enter and it prompts me for a password again. (Or if I happen to have some non-password protected directories those show up until I press CLEAR and re-enter a password)

So I guess I am going to need a more exact description of what your settings are, what you are expecting to have happen, and what is actually happening.

Edit: make sure you restart streambaby after any INI changes.
Thanks
Keary


----------



## rfryar

kearygriffin said:


> Is it possible to post attach one of the problematic metadata files? The ones I tried with UTF-8 seemed to work OK. (I recorded some shows on Univision with spanish-accented characters that where encoded as multi-byte UTF-8 in the txt file, and everything looked OK.)


Accents are in the ISO-8859-1 standard Roman character set. Attached is a TXT file with a Cyrillic "д" in the title. Now this was just for a test, it was actually not in the title, but I wanted to use non-roman characters as the test to see UTF-8 support. (I do Unicode work as part of my main job)

Rick


----------



## kearygriffin

Thanks rfryar,

I had to make a change to streambaby to handle the idiotic BOM (sorry, it's just that notepad is the only app I know that insists on a BOM for UTF-8) that notepad sticks into it's UTF-8 files, but other than that the file works "as expected".

"As expected" means:
1) When rendered to HTML (so fonts generated on PC side) everything looks good.
2) When rendering to tivo-text and also on the selection screen, cyrillic A comes out as "empty box". (TiVo doesn't seem to support it, at least not according to the font information it returns to HME applications)

While I was playing I also changed my code to replace the invalid characters with the empty-box symbol like TiVo does (as opposed to stripping it out completely which is what I was doing). Looks better with the placeholder character than just stripped out.


----------



## he244

Maybe I know the answer to this already. Does StreamBaby work with the Hr10-250? If not, does anyone know why?

It partially works, but I get these errors.

Thx.

02/15/09 22:18:15 StreamBabyStream: code=1 message=can't create rsrc. unsupported stream type /streambaby/8fcc83eb-f90a-40a4-8e47-cac328c65140.stream
02/15/09 22:18:15 StreamBabyStream: code=3 message=resource 2622 not found (type type[-1])
02/15/09 22:18:15 ZipGeneratingPreview$GenThread: Finished generating preview: C:\_sb\cache\2a.mpg-4091908.pvw


----------



## mp1969

mp1969 said:


> Thanks, got it almost working, I now have visibility of the files however I get an ERROR:0x2e006a when I try an open the file, any ideas?
> 
> thanks


Further to this and the note on manacubus, my logfile at /tmp/pytivX-SB.log show signs of trouble here.......

_Mon 2009/02/16 21:08:02.933| |Acceptor|Application|unknown event opcode : 10
Mon 2009/02/16 21:08:02.936| |Acceptor|Application|Already initialized, not re-initing.
Mon 2009/02/16 21:08:02.937| |Acceptor|Application|Already initialized, not re-initing.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
Mon 2009/02/16 21:08:03.029| |Acceptor|Application|Received event for unknown resource id. Id = 2057, event = 2057.RESOURCE_INFO(complete, {})_

And the goes complete pair shaped around here.........

_Mon 2009/02/16 21:08:15.901| |master|ViewScreen|Openening stream at position: 0(0 secs)
Mon 2009/02/16 21:08:15.901| |master|VideoModuleHelper|quality setting is above quality of video, streaming normally
Mon 2009/02/16 21:08:15.903| |master|FFmpegExeVideoModule|Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -th
reads 2 -sameq -ab 384k
Mon 2009/02/16 21:08:15.903| |Acceptor|Application|Already initialized, not re-initing.
Mon 2009/02/16 21:08:15.904| |Acceptor|Application|Already initialized, not re-initing.
Mon 2009/02/16 21:08:15.905| |master|FFmpegExeVideoModule|FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin -ss 0.0 -i /Volumes/SPARE/D
isney & Pixar/Pixar/Pixar Classic - 05 - Finding Nemo.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 2 -sameq -ab 384k tcp://1
27.0.0.1:8500
Mon 2009/02/16 21:08:16.069| |master|NamedStream|Registering named stream: 0f1095a3-485e-427c-8432-90a8e89e5c49.stream
Mon 2009/02/16 21:08:16.141| |Acceptor|ViewScreen|code=5 rawcode=16777989
Mon 2009/02/16 21:08:16.281| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
Pixar Classic - 05 - Finding Nemo.avi
Mon 2009/02/16 21:08:16.281| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
_

If someone could take a look for 5, or at least point us in the right direction that would be appreciated.


----------



## Yoav

he244 said:


> Maybe I know the answer to this already. Does StreamBaby work with the Hr10-250? If not, does anyone know why?


I believe HR10-250 runs a modified version of the series 2 software, so it can't correctly stream mp4, and so streambaby doesn't support it. use pyTivo.


----------



## kearygriffin

mp1969 said:


> ..
> ..
> Mon 2009/02/16 21:08:16.069| |master|NamedStream|Registering named stream: 0f1095a3-485e-427c-8432-90a8e89e5c49.stream
> Mon 2009/02/16 21:08:16.141| |Acceptor|ViewScreen|code=5 rawcode=16777989
> Mon 2009/02/16 21:08:16.281| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
> Pixar Classic - 05 - Finding Nemo.avi
> Mon 2009/02/16 21:08:16.281| |Acceptor|ViewScreen|error=ERROR: 0x2e006a
> [/I]
> 
> If someone could take a look for 5, or at least point us in the right direction that would be appreciated.


Everything seems pretty normal until you try to play the video (the warnings about removed resources, not re-initing, and other messages are normal). I really don't know what the particular error you are getting means, but from searching around the 'net it does seem the Aussie TiVos run a somewhat crippled version of the TiVo software. My guess is that the TiVo just doesn't support streaming from HME applications. (But that's all it is, a wild guess)


----------



## westside_guy

I've got an interesting problem where x.264 rips of a couple episodes of a television show (Futurama) won't stream through streambaby - I get "ERROR: 0xffff" when I try to play them. Thing is, five episodes were ripped from the DVD at the same time, and three of them stream just fine.

If I use pyTivo to transfer them (which I realize is transcoding them), they play just fine on my Tivo. If I sit at the computer and play them with VLC or Quicktime, they play just fine.

I've switched the log to "debug" mode, but I don't see an obvious explanation regarding why it's not working. Here's the section of the log generated during the attempt to play one video:



Code:


02/16/09 10:34:56 VideoModuleHelper: GetVidInfo: file:/path/to/videos/1-09&#37;20Hell%20is%20Other%20Robots.m4v
02/16/09 10:34:56 FFmpegExeVideoModule: FFmpegCmd: /sw/bin/ffmpeg -i /path/to/videos/1-09 Hell is Other Robots.m4v
02/16/09 10:35:07 FFmpegExeVideoModule: ChannelStr to parse: stereo
02/16/09 10:35:07 FFmpegExeVideoModule: VideoInfo:
uri: file:/path/to/videos/1-09%20Hell%20is%20Other%20Robots.m4v, Container: mp4, Duration: 1352.8 seconds
Video: h264 624x480 59.94 fps
  PixAspect: 1.0, Aspect: 1.3
Audio: ac3 48000HZ 2 channels
02/16/09 10:35:07 HostContext: key=mpos:file:/path/to/videos/1-09%20Hell%20is%20Other%20Robots.m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:07 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:07 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:07 HostContext: compKey=65200118053B2FB-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:07 PlayScreen: code=6 rawcode=16778246
02/16/09 10:35:07 HostContext: key=mpos:file:/path/to/videos/1-09%20Hell%20is%20Other%20Robots.m4v value=0
02/16/09 10:35:07 HostContext: key=mpos:file:/path/to/videos/1-09%20Hell%20is%20Other%20Robots.m4v value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:07 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:07 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:07 HostContext: compKey=65200118053B2FB-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:07 HostContext: compKey=65200118053B2FB-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:07 HostContext: compKey=65200118053B2FB-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:08 ViewScreen: Desc: 1-09 Hell is Other Robots.m4v
02/16/09 10:35:08 FFmpegExeVideoModule: FFmpegCmd: /sw/bin/ffmpeg -ss 0 -i /path/to/videos/1-09 Hell is Other Robots.m4v -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
02/16/09 10:35:08 PreviewWindow: pWidth: 640
02/16/09 10:35:08 PreviewWindow: preview parent=BView[#2465,bounds=0,0,640x480]
02/16/09 10:35:08 HostContext: key=mpos:file:/path/to/videos/1-09%20Hell%20is%20Other%20Robots.m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
02/16/09 10:35:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:08 HostContext: compKey=65200118053B2FB-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
02/16/09 10:35:08 ViewScreen: goto position: 0, vidlen: 1352800
02/16/09 10:35:08 ViewScreen: Position not in buffer, starting new stream
02/16/09 10:35:08 ViewScreen: Openening stream at position: 0(0 secs)
02/16/09 10:35:08 VideoModuleHelper: quality setting is above quality of video, streaming normally
02/16/09 10:35:08 MP4StreamingModule$1: Processing moov atom...
02/16/09 10:35:08 MP4StreamingModule$1: Start sample: 0, end: 0
02/16/09 10:35:08 MP4StreamingModule$1: ChunkDelta: 49152
02/16/09 10:35:08 MP4StreamingModule$1: Continuing reinterleave...
02/16/09 10:35:15 MP4StreamingModule$1: Width: 624, Height: 480
02/16/09 10:35:15 MP4StreamingModule$1: Processing moov atom complete
02/16/09 10:35:15 NamedStream: Registering named stream: ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:16 Listener: http=HttpRequest /streambaby/ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:16 Listener: path=/streambaby/ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream uri=/streambaby/
02/16/09 10:35:16 Listener: 
02/16/09 10:35:16 Listener: 192.168.1.101 ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream HTTP GET - to factory /streambaby/
02/16/09 10:35:16 StreamBabyStream$StreamBabyStreamFactory: uri=ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:16 NamedStream: Getting mapped stream for named stream: ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:16 NamedStream: Getting mapped stream for named stream: ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:17 NamedStream: DeRegistering named stream: ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream
02/16/09 10:35:17 Listener: 
02/16/09 10:35:17 Listener: 192.168.1.101 I/O Exception handling  HTTP GET ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream: Broken pipe
02/16/09 10:35:17 Listener: ctx=HttpRequest /streambaby/ce18fb6a-c478-4043-80be-ee5ddf5adba3.stream t=java.net.SocketException: Connection reset
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:35:20 ViewScreen: error=ERROR: 0xffff
1-09 Hell is Other Robots.m4v
02/16/09 10:36:43 Listener: 
02/16/09 10:36:43 Listener: connection to receiver closed
02/16/09 10:36:43 Listener: 
02/16/09 10:36:43 Factory: HME receiver disconnected

Any help is appreciated.


----------



## wmcbrine

Yoav said:


> I believe HR10-250 runs a modified version of the series 2 software, so it can't correctly stream mp4, and so streambaby doesn't support it. use pyTivo.


The HR10-250 definitely can't do MP4 (it doesn't have the hardware), but you can also stream MPEG-2, which could potentially work on the HR10-250 if it had the right software (which, I don't know).

ISTR that the HR10-250 recently acquired HME (though only if hacked, I think), but lost HMO, which would rule out pyTivo. My own HR10-250 has been in mothballs for a couple of years now, so I don't really know what the scene is like now. You might find better information on that at the database of deals.


----------



## rmbeatty

Was running StreamBaby fine. Now I get the 0x50005 connection error. I see StreamBaby under the showcase, but when i go to access it, i get the gray please wait screen. Then after about 5 minutes I get the connection error. The only thing that's changed is I had to put new cable cards in and reboot the TiVo. Thanks..and great application btw.


----------



## Yoav

westside_guy said:


> I've got an interesting problem where x.264 rips of a couple episodes of a television show (Futurama) won't stream through streambaby - I get "ERROR: 0xffff" when I try to play them. Thing is, five episodes were ripped from the DVD at the same time, and three of them stream just fine.


Have you tried using a quality other than 'same'? h.264 encompasses a BUNCH of different options, and its possible the futurama rip is using some option that isn't supported (don't ask me what the tivo supports). Using a different quality causes a re-encoding to mpeg-2 which *should* work if ffmpeg can at least view your futurama episodes.


----------



## westside_guy

Yoav said:


> Have you tried using a quality other than 'same'? h.264 encompasses a BUNCH of different options, and its possible the futurama rip is using some option that isn't supported (don't ask me what the tivo supports). Using a different quality causes a re-encoding to mpeg-2 which *should* work if ffmpeg can at least view your futurama episodes.


I will try another quality - however these episodes appear to work if I use tivostream instead of streambaby (I've only tested one or two though). I didn't mention that before because I only thought of trying it out just a little bit ago.

Is there a way to tell streambaby to "just do everything exactly like tivostream did"?


----------



## kearygriffin

westside_guy said:


> Is there a way to tell streambaby to "just do everything exactly like tivostream did"?


No, but you can get close 

Try:
mp4module.interleave=false

My guess is that it will fix some of the issue you have, but it also may create other problems (more than likely seeking/rebuffering to a starting point other than the beginning)

I tried to make this the default for a while (don't re-interleave if you are starting at the beginning of an MP4) but had problems with other video files.

Edit: You can also try running MP4Box -isma in.mp4 -out out.mp4 (with an without the interleave setting from above)
(And if you run MP4Box -isma on a file, then setting mp4moule.interleave=false is OK and seeking should work OK)


----------



## westside_guy

Thanks, I'll try that and see how it works.

I am wondering if maybe my problems come because my ripped videos tend to be rather "high profile", if I'm using that term correctly, with more reference frames and the like. If I understand things correctly (no guarantee of that of course!) tivostream basically just sent the video over as is, acting more or less as a dumb relay; while streambaby is rather more active in managing the audio and video portions of the stream - so a high profile video that takes a bit of processor power might cause problems for ffmpeg or whatever. Or am I just blathering like an idiot? As I've said once or twice before, I think I know just enough to be dangerous, and I probably know less than I _think_ I do.


----------



## kearygriffin

westside_guy said:


> Thanks, I'll try that and see how it works.
> 
> I am wondering if maybe my problems come because my ripped videos tend to be rather "high profile", if I'm using that term correctly, with more reference frames and the like. If I understand things correctly (no guarantee of that of course!) tivostream basically just sent the video over as is, acting more or less as a dumb relay; while streambaby is rather more active in managing the audio and video portions of the stream - so a high profile video that takes a bit of processor power might cause problems for ffmpeg or whatever. Or am I just blathering like an idiot? As I've said once or twice before, I think I know just enough to be dangerous, and I probably know less than I _think_ I do.


Actually (sorry), if you could try the following streambaby instead of (or at least before) trying what I mentioned before:
http://streambaby.googlecode.com/files/streambaby-svn-r95.zip

I think maybe what you said about encoding in a "higher profile" might be right. Your encodings definitely have B frames which may be causing a problem.

MP4 (like some other formats) has two fields dealing with times. A pts (presentation time) and a dts (decoding time). They only come into play when using B-frames, where sometimes a future frame needs to be decoded before what is going to be the next frame to play. The DTS tells the decoder what time to decode a frame, and the pts tells it when to display the decoded frame. In an MP4 without b-frames (I think, I'm getting dangerously close to talking about things I know little about) DTS and PTS are the same.

My re-interleaving code was sorting the chunks based on the PTS. It's possible that this was incorrect, and the SVN-r95 release that I posted the link to above sorts chunks based on the DTS. It seems to alleviate the green blocky issue with your files, so it may fix your current error: 0xffff issue also.

Let me know how it goes.


----------



## westside_guy

kearygriffin said:


> Actually (sorry), if you could try the following streambaby instead of (or at least before) trying what I mentioned before:
> http://streambaby.googlecode.com/files/streambaby-svn-r95.zip
> 
> I think maybe what you said about encoding in a "higher profile" might be right. Your encodings definitely have B frames which may be causing a problem.
> 
> MP4 (like some other formats) has two fields dealing with times. A pts (presentation time) and a dts (decoding time). They only come into play when using B-frames, where sometimes a future frame needs to be decoded before what is going to be the next frame to play. The DTS tells the decoder what time to decode a frame, and the pts tells it when to display the decoded frame. In an MP4 without b-frames (I think, I'm getting dangerously close to talking about things I know little about) DTS and PTS are the same.
> 
> My re-interleaving code was sorting the chunks based on the PTS. It's possible that this was incorrect, and the SVN-r95 release that I posted the link to above sorts chunks based on the DTS. It seems to alleviate the green blocky issue with your files, so it may fix your current error: 0xffff issue also.
> 
> Let me know how it goes.


Hi Keary,

The good news is, like you said - it solved the green blockiness problem. The bad news is, the videos that wouldn't play before still give the same error.

I tried this with and without the "mp4module.interleave=false" setting.

I also tried Yoav's suggestion. If I dial down the quality, then these problem video do play. When I do that, the video quality is pretty darn bad in places unfortunately.

I do appreciate all the help, and apologize for being the source of many problem reports.


----------



## rmbeatty

rmbeatty said:


> Was running StreamBaby fine. Now I get the 0x50005 connection error. I see StreamBaby under the showcase, but when i go to access it, i get the gray please wait screen. Then after about 5 minutes I get the connection error. The only thing that's changed is I had to put new cable cards in and reboot the TiVo. Thanks..and great application btw.


Can anyone answer this question? Thanks.


----------



## moyekj

rmbeatty said:


> Can anyone answer this question? Thanks.


 Double check your streambaby.ini file and make sure dir.1 (and possibly additional entries you may have added) are set to appropriate directories.
To generate additional debugging information stop streambaby and edit simplelog.properties and change 1st line to: com.unwiredappeal=debug
Then run streambaby again and connect to it via Tivo to the point of your hang and post contents of streambaby.log here.


----------



## kearygriffin

rmbeatty said:


> Can anyone answer this question? Thanks.


Also, does the icon show up next to Stream, Baby, Stream in the music photos and showcases list?

If it doesn't it points to some kind of communication issue.

If it is a communication issue, maybe firewall issues? (When you rebooted the TiVo it could have changed ip addresses and maybe the firewall was only set to allow connections to from the previous address?) Also, in the last few versions of Streambaby the default port changed from port 7288 to 7290 which could cause firewall issues. (Not sure if you changed streambaby versions between time it worked and time it didnt).


----------



## kagacins

A couple quick metadata questions -

1) Streambaby does not seem to read my meta data for a file until I have selected that file past the preliminary preview screen. Is there a way for streambaby to pick up this meta information without me having to first select the file?

2) Someone asked this earlier but I don't think received a response - after streambaby does acknowledge the meta data file, it organizes the information within that folder alphabetically. Is there a way to avoid this - as I want the files to be listed in the order that they aired (pyTivo does this successfully)?

Thank you for your hard work.


----------



## kearygriffin

kagacins said:


> A couple quick metadata questions -
> 
> 1) Streambaby does not seem to read my meta data for a file until I have selected that file past the preliminary preview screen. Is there a way for streambaby to pick up this meta information without me having to first select the file?
> 
> 2) Someone asked this earlier but I don't think received a response - after streambaby does acknowledge the meta data file, it organizes the information within that folder alphabetically. Is there a way to avoid this - as I want the files to be listed in the order that they aired (pyTivo does this successfully)?
> 
> Thank you for your hard work.


For #1, you have a couple of options. If you press the ENTER key on the selection screen, it will automatically cache all of the metadata for that directory. (And remember it even if you quit/restart streambaby).

The other option is to edit streambaby.ini and add the following line:
use.title.cachedonly=false

This will automatically read all of the metadata when you enter a directory.

For #2, sorting by date, streambaby doesn't currently support sorting by anything other than alphabetical. It will probably end up getting added as a feature at some point, but I am not sure when yet.


----------



## kagacins

Thanks for the quick reply! With respect to sorting by date, I'm not hoping for the ability for the program to be able to pick up the air date from the meta file or anything more complex like that, but rather to not re-order the files alphabetically when viewed within Streambaby (if it just stays in the order it is in the native directory that would be perfect). Maybe that isn't as complicated as some of the alternatives? Ironically for me, the alphabetization is only an issue when the meta data is included in the stream because the files are numbered and therefore sorted in the right order on my system.

Thank you again and your time, work, and effort are sincerely appreciated.


----------



## Yoav

So, I made the one line change in streambaby to make it choose the 720p display, and changed blue.jpg to match.. 
It looks 'nice'...

the forum won't let me upload the appropriate jpg, so I'm putting it up on the web temporarily:
http://yoav.org/files/blue.jpg
(the file goes in assets/)

The one line change: in ./main/src/com/unwiredappeal/tivo/streambaby/StreamBabyStream.java

change line 294 to read:


Code:


   Resolution r= new Resolution("1280x720-PAR=1/1");

 Is there any reason *not* to make this the new default behavior? the fonts look smoother, the background is less blocky (ok that's the old jpeg being a little too compressed I think).... It really does look nicer...


----------



## kearygriffin

Yoav said:


> So, I made the one line change in streambaby to make it choose the 720p display, and changed blue.jpg to match..
> It looks 'nice'...
> 
> the forum won't let me upload the appropriate jpg, so I'm putting it up on the web temporarily:
> http://yoav.org/files/blue.jpg
> (the file goes in assets/)
> 
> The one line change: in ./main/src/com/unwiredappeal/tivo/streambaby/StreamBabyStream.java
> 
> change line 294 to read:
> 
> 
> Code:
> 
> 
> Resolution r= new Resolution("1280x720-PAR=1/1");
> 
> Is there any reason *not* to make this the new default behavior? the fonts look smoother, the background is less blocky (ok that's the old jpeg being a little too compressed I think).... It really does look nicer...


The selection screen does look much better, but unfortunately a lot of things are messed up by this. (The play screen, the shuttlebar, preview window, etc...)

Maybe this will give me the incentive to fix these things ;-)


----------



## Yoav

kearygriffin said:


> The selection screen does look much better, but unfortunately a lot of things are messed up by this. (The play screen, the shuttlebar, preview window, etc...)
> 
> Maybe this will give me the incentive to fix these things ;-)


Oh, I didn't think about those. I made the change, looked at it, and said "ooh".
I'm happy to help code the rest of the stuff -- although it's quite a learning experience for me. Or help test it if you need... But yeah, I really do wish the app switched to defaulting to HD.. it looks much better (and anyone who owns a tivo HD / S3 probably has an HDTV its hooked up to anyways).


----------



## kearygriffin

Yoav said:


> ....although it's quite a learning experience for me....


Me too ;-) I think the reason I have held out so far, is that the bananas-plus library I am using is designed to make handling these things easier, using relative layouts instead of hardcoded, and skins for different resolutions. Unfortunately, I couldn't figure it out as I was writing streambaby so gave up and used hard-coded constants. When I switch to HD, I don't want to do the same thing again and start hard-coding two sets of constants (one for 640x480, one for HD). I want to actually use the library as intended.


----------



## Yoav

kearygriffin said:


> Me too ;-) I think the reason I have held out so far, is that the bananas-plus library I am using is designed to make handling these things easier, using relative layouts instead of hardcoded, and skins for different resolutions. Unfortunately, I couldn't figure it out as I was writing streambaby so gave up and used hard-coded constants. When I switch to HD, I don't want to do the same thing again and start hard-coding two sets of constants (one for 640x480, one for HD). I want to actually use the library as intended.


Hmm....

guess that means no HD for us soon? (cries quietly in the corner).


----------



## pmd

kearygriffin said:


> Me too ;-) I think the reason I have held out so far, is that the bananas-plus library I am using is designed to make handling these things easier, using relative layouts instead of hardcoded, and skins for different resolutions. Unfortunately, I couldn't figure it out as I was writing streambaby so gave up and used hard-coded constants. When I switch to HD, I don't want to do the same thing again and start hard-coding two sets of constants (one for 640x480, one for HD). I want to actually use the library as intended.


Perhaps you've already seen it, but there's a thread where banana-plus's author helped someone else understand resolution independency:

http://www.tivocommunity.com/tivo-vb/showthread.php?t=385669

I had a look at the library's google code page - there's not much other information about how the scaling is supposed to work is there?


----------



## Yoav

Ok so I decided to dive in 
So far I've changed it so that it scales the big preview window correctly, and uses a fixed-size small window, but places it in the correct place (middle of screen, shifted up around 50 pixels -- so works at any resolution).

The shuttlebar is now correctly located as well. (it's set to a width that is 4/5's the width of the screen, and 150 pixels above the bottom -- so it should work at any resolution).

Attaching a diff...

Note that I don't have a non-HD to test it with, nor did I test 'extra' stuff like metadata (don't have it) or passwords.. but the basic stuff seems to be working..

apply the patch, and download http://yoav.org/files/blue.jpg and put it under assets/


----------



## kearygriffin

Thanks Yoav, I applied to patches and added some quick fixes to the playscreen & the metadata formating. I also adjusted the preview window to have a consistent size (so I made it bigger in HD). Not sure if there are any ramifications as far as precached thumbnails, but I don't think so.

I pushed the changes to the SVN repository, and a binary can be found here:
http://streambaby.googlecode.com/files/streambaby-svn-r98.zip

There are still some small layout issues, and metadata comes out teeny tiny, so I haven't made it default it yet. To activate the HD stuff, add these lines to streambaby.ini:
background.image=background-720.jpg
hme.res=720

Now I guess I'll never get to fixing all the layout stuff ;-)


----------



## Yoav

Woohoo.. Ok, getting latest svn and including it in pyTivoX 
thanks!!!


----------



## moyekj

Yoav said:


> Woohoo.. Ok, getting latest svn and including it in pyTivoX
> thanks!!!


 Yoav, if you're still looking into it there's still plenty of things left to correct/improve at 720p resolution:
* The row spacing is way too big in selection screen. One could fit so much more on the screen with narrower spacing.
* Fonts are way too small for metadata and/or info screen and a little small for closed captions.
* Error message fonts and other message fonts used during video playback are way too small
* The captions on/off graphics are now in center of screen instead of upper right
* Please Wait graphic could use an HD image in 720p mode
* Very long titles don't wrap around in selection screen - that's not a 720p specific issue but worth fixing

There's probably more... so quite a long list and now I see why Keary hasn't been motivated to do it yet


----------



## Yoav

moyekj said:


> Yoav, if you're still looking into it there's still plenty of things left to correct/improve at 720p resolution:
> * The row spacing is way too big in selection screen. One could fit so much more on the screen with narrower spacing.
> * Fonts are way too small for metadata and/or info screen and a little small for closed captions.
> * Error message fonts and other message fonts used during video playback are way too small
> * The captions on/off graphics are now in center of screen instead of upper right
> * Please Wait graphic could use an HD image in 720p mode
> * Very long titles don't wrap around in selection screen - that's not a 720p specific issue but worth fixing
> 
> There's probably more... so quite a long list and now I see why Keary hasn't been motivated to do it yet


Ok gives me more stuff to do  (I just don't want to end up repeating work keary is doing.. this is very uncoordinated...). So tell me if you're already fixing/fixed some of this stuff so I don't go trying to figure out how to fix it myself...


----------



## kearygriffin

Yoav said:


> Ok gives me more stuff to do  (I just don't want to end up repeating work keary is doing.. this is very uncoordinated...). So tell me if you're already fixing/fixed some of this stuff so I don't go trying to figure out how to fix it myself...


I'm working on some MP4 compatibility issues over the weekend, so I don't plan on doing anything further with the HD.

I think the hardest thing to fix is going to be the HTML rendered metadata. Probably need to change the XSLT from using to using CSS, and applying a different CSS stylesheet based on resolution.

The only request I have for the HD stuff is to make sure that any changes are compatible with 640x480, as there are still some people who need it. (My Mom being one them, and since I am in charge of all of her audio/video needs, I was hoping to be able to put off the HDTV purchase till at least next Christmas ;-)


----------



## Yoav

kearygriffin said:


> I'm working on some MP4 compatibility issues over the weekend, so I don't plan on doing anything further with the HD.
> 
> I think the hardest thing to fix is going to be the HTML rendered metadata. Probably need to change the XSLT from using to using CSS, and applying a different CSS stylesheet based on resolution.
> 
> The only request I have for the HD stuff is to make sure that any changes are compatible with 640x480, as there are still some people who need it. (My Mom being one them, and since I am in charge of all of her audio/video needs, I was hoping to be able to put off the HDTV purchase till at least next Christmas ;-)


All the changes I plan to make would be 'relative' sizes, so it *should* work fine for any size display. However, I know zero about this stuff, so we'll see..


----------



## wmcbrine

Yoav said:


> All the changes I plan to make would be 'relative' sizes, so it *should* work fine for any size display.


I'm not sure what that means, but you really need two sets of everything (coordinates, graphics) to support both SD and HD properly.


----------



## Yoav

Ok, next patch is in, only two real changes:

1. If y resolution is < 720, then font sizes are reduced less for 'small', 'tiny'. (this makes SOME of the metadata display in a more readable font, but not the xsl stuff).

2. Use specific sizes for 'rows' in the list of shows (instead of the default layout). effect is that if you're on HD, you can fit a lot more shows in the list (smaller gap between each showname). I tried it on the 640x480 emulator, and it looks fine, and it looks fine on 1280x720.

I'm really the wrong person to mess with this . I'm messing around in the dark, with just the javadocs for bananas and hme. I really really have no idea what I'm doing .

patch attached


----------



## Yoav

Ok I've coded up the changes necessary for closed-captioning / CC icon changes, which I believes now leaves only the metadata xsl -> html using stylesheets.

Keary, It's a little bit of a pain for me to make diffs since the source I use is a little modified from yours (I have to get rid of a bunch of @Override declarations for it to build). Any chance I can get write-access to the repository (I'll email you when I make changes and you can freely back them out).

yoav.yerushalmi at gmail.com


----------



## kearygriffin

Yoav said:


> Ok I've coded up the changes necessary for closed-captioning / CC icon changes, which I believes now leaves only the metadata xsl -> html using stylesheets.
> 
> Keary, It's a little bit of a pain for me to make diffs since the source I use is a little modified from yours (I have to get rid of a bunch of @Override declarations for it to build). Any chance I can get write-access to the repository (I'll email you when I make changes and you can freely back them out).
> 
> yoav.yerushalmi at gmail.com


All set. I already pushed your previous patch.

However, I am concerned about the @Override issue, as I don't think you should be having a problem building. Can you give me an example @Override that is causing a problem? I'm afraid that if I don't fix it, I will end up having problems with JDK 1.5 again. (I'm a little surprised, because I now have JDK 1.5 as the JRE in eclipse, so I thought I would see any issues if they arose)

Thanks


----------



## Yoav

kearygriffin said:


> All set. I already pushed your previous patch.
> 
> However, I am concerned about the @Override issue, as I don't think you should be having a problem building. Can you give me an example @Override that is causing a problem? I'm afraid that if I don't fix it, I will end up having problems with JDK 1.5 again. (I'm a little surprised, because I now have JDK 1.5 as the JRE in eclipse, so I thought I would see any issues if they arose)
> 
> Thanks


Ok, so the two issues compiling are:

1) There seems to be a need to specify the location for the bcel libraries in the ffmpeg-java/build.local. If I just run 'ant' on a clean source tree, I get:


Code:


javac:
    [mkdir] Created dir: /Users/yoav/src/foo/streambaby/ffmpeg-java/build/classes
    [javac] Compiling 24 source files to /Users/yoav/src/foo/streambaby/ffmpeg-java/build/classes
    [javac] /Users/yoav/src/foo/streambaby/ffmpeg-java/src/net/sf/ffmpeg_java/bcel/FFmpegClassLoader.java:5: package org.apache.bcel.classfile does not exist
    [javac] import org.apache.bcel.classfile.JavaClass;
    [javac]                                  ^
    [javac] /Users/yoav/src/foo/streambaby/ffmpeg-java/src/net/sf/ffmpeg_java/bcel/FFmpegClassLoader.java:8: package org.apache.bcel.util does not exist
    [javac] public class FFmpegClassLoader extends org.apache.bcel.util.ClassLoader {
    [javac]                                                            ^
    [javac] /Users/yoav/src/foo/streambaby/ffmpeg-java/src/net/sf/ffmpeg_java/bcel/FFmpegClassLoader.java:28: cannot find symbol
    [javac] symbol  : class JavaClass
    [javac] location: class net.sf.ffmpeg_java.bcel.FFmpegClassLoader
    [javac] 	protected JavaClass modifyClass(JavaClass clazz) {
    [javac]                                         ^
    [javac] /Users/yoav/src/foo/streambaby/ffmpeg-java/src/net/sf/ffmpeg_java/bcel/FFmpegClassLoader.java:28: cannot find symbol
    [javac] symbol  : class JavaClass

....

 (cutting it short since it's a craplot of errors). This is easily fixed with this patch:



Code:


*** ffmpeg-java/custom-build.xml	2009-02-20 20:35:21.000000000 -0800
--- ../../streambaby/ffmpeg-java/custom-build.xml	2009-01-29 10:17:09.000000000 -0800
***************
*** 56,61 ****
--- 56,64 ----
  			<src path="${src}"/>
  			<classpath>
  				<pathelement path="lib/jna.jar" />
+  				<pathelement location="build/classes"/>
+  				<pathelement location="lib/jna.jar"/>
+  				<pathelement location="../lib/bcel-5.2.jar"/>
  			</classpath>			
  		</javac>

Oh hey, with just that change I can now cleanly build the code out of svn, so you must have removed the extraneous @Override's . I'll go do a completely clean re-sync .. yay (ok making diffs will be a lot easier now).


----------



## Yoav

So I have the code for the subtitle/font icon stuff, but I need to test it, and (sheepish look) I'm failing to figure out how to generate subtitles into an srt file. Are there simple mac instructions (vlc, mplayer, handbrake, whatnot)? The only thing I can find with handbrake puts the subtitles into the movie....

Alternatively, is there somewhere I can download a test movie with an srt subtitle file?


----------



## Allanon

Yoav, you can probably make a simple srt test file using this:

http://www.fluffalopefactory.com/miyu/


----------



## Yoav

Allanon said:


> Yoav, you can probably make a simple srt test file using this:
> 
> http://www.fluffalopefactory.com/miyu/


I just looked at that, it seems like I have to make the subtitles with it (which could take a while, and I'm not even sure I'd be doing it right). Is there nothing that can just pull off subtitles from a DVD?

* edit:* oh boy. It looks like the tools that do that are actually doing OCR on a dvd subtitle (I guess dvd subtitles are just images?). Anyways, I guess that means my 'easy' route is to search for an srt for a movie I have that someone else may have made.


----------



## moyekj

Yoav said:


> So I have the code for the subtitle/font icon stuff, but I need to test it, and (sheepish look) I'm failing to figure out how to generate subtitles into an srt file. Are there simple mac instructions (vlc, mplayer, handbrake, whatnot)? The only thing I can find with handbrake puts the subtitles into the movie....
> 
> Alternatively, is there somewhere I can download a test movie with an srt subtitle file?


t2sami
Or if code is checked in to svn I can give it a try with my samples.


----------



## Allanon

Yoav said:


> Is there nothing that can just pull off subtitles from a DVD?


Try this:

http://www.macupdate.com/info.php/id/18823


----------



## txporter

Also, if you have a DVD movie or TV show, you can normally google for the subtitles. There is a number of sites that store the srts.

Jason


----------



## jannlinder

Okay, weird thing...

I am using b19 of PyTivoX with StreamBaby and have some issues:

SOME versions of 16:9 items get squished in StreamBaby yet play fine in PyTivoX.

Here is the weird thing: When i tell Streambaby to play at 1201kbps (if that is the correct thing...it is abouty 1200k/s) it stretches them correctly. Here is another weird thing...If i let the incorrectly formatted 4:3 play and hit FF on my remote, the thumbnail Streambaby produces (when it is showing the timeline to fast forward to) is ALWAYS the correct 16:9 aspect ratio!

help!

J


----------



## Yoav

jannlinder said:


> Okay, weird thing...
> 
> I am using b19 of PyTivoX with StreamBaby and have some issues:
> 
> SOME versions of 16:9 items get squished in StreamBaby yet play fine in PyTivoX.
> 
> Here is the weird thing: When i tell Streambaby to play at 1201kbps (if that is the correct thing...it is abouty 1200k/s) it stretches them correctly. Here is another weird thing...If i let the incorrectly formatted 4:3 play and hit FF on my remote, the thumbnail Streambaby produces (when it is showing the timeline to fast forward to) is ALWAYS the correct 16:9 aspect ratio!
> 
> help!
> 
> J


Get out of streambaby (just watch Live TV or something) and hit the 'aspect' button on your remote. Make sure it's set to 'panel'. Then view something on streambaby, does it still stretch incorrectly?


----------



## jannlinder

Yoav said:


> Get out of streambaby (just watch Live TV or something) and hit the 'aspect' button on your remote. Make sure it's set to 'panel'. Then view something on streambaby, does it still stretch incorrectly?


Yes, it stretches incorrectly

It is set to panel.

ps: Other shows and mp4's play correctly at 16:9 even in streambaby. It is a series of mp4s that does this. Here is the mp4info output:

MP4INFO:
Track	Type	Info
1	video	H264 [email protected], 2618.118 secs, 1511 kbps, 852x480 @ 23.976001 fps
2	audio	MPEG-4 AAC LC, 2617.472 secs, 128 kbps, 48000 Hz
Metadata Name: War Crimes
Metadata Year: 2001-11-07T07:00:00Z
Metadata Album: The West Wing Season 3
Metadata track: 6 of 23
Metadata Genre: TV Show
FFMPEG INFO:
Duration: 00:43:38.11, start: 0.000000, bitrate: 1642 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 852x480, 23.98 tb(r)
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16

and another one:
MP4INFO:
Track	Type	Info
1	video	H264 [email protected], 2549.924 secs, 1511 kbps, 852x480 @ 23.976009 fps
2	audio	MPEG-4 AAC LC, 2549.312 secs, 128 kbps, 48000 Hz
Metadata Name: Gone Quiet
Metadata Year: 2001-11-14T07:00:00Z
Metadata Album: The West Wing Season 3
Metadata track: 7 of 23
Metadata Genre: TV Show
FFMPEG INFO:
Duration: 00:43:38.11, start: 0.000000, bitrate: 1642 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 852x480, 23.98 tb(r)
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16

Those are just two.

Here is one that plays correctly:
MP4INFO:
Track	Type	Info
1	video	H264 [email protected], 2560.257 secs, 1501 kbps, 852x480 @ 29.970038 fps
2	audio	MPEG-4 AAC LC, 2559.658 secs, 0 kbps, 48000 Hz
Metadata Name: In The Shadow of Two Gunmen (Part 2)
Metadata Year: 2000-10-04T07:00:00Z
Metadata Album: The West Wing Season 2
Metadata track: 2 of 22
Metadata Genre: TV Show
FFMPEG INFO:
Duration: 00:42:40.25, start: 0.000000, bitrate: 1635 kb/s
Stream #0.0(und): Video: h264, yuv420p, 852x480, 29.97 tb(r)
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16

and this one also plays correctly:
MP4INFO:
Track	Type	Info
1	video	H264 [email protected], 2560.257 secs, 1501 kbps, 852x480 @ 29.970038 fps
2	audio	MPEG-4 AAC LC, 2559.658 secs, 0 kbps, 48000 Hz
Metadata Name: In The Shadow of Two Gunmen (Part 2)
Metadata Year: 2000-10-04T07:00:00Z
Metadata Album: The West Wing Season 2
Metadata track: 2 of 22
Metadata Genre: TV Show
FFMPEG INFO:
Duration: 00:43:40.11, start: 0.000000, bitrate: 1634 kb/s
Stream #0.0(und): Video: h264, yuv420p, 852x480, 29.97 tb(r)
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16

The only diff i can see (for a large part) is that the ones that do NOT stretch correctly are all 29.97 and not 23.97

Bug?

J


----------



## Yoav

Ok just checked into svn a change to support CC text at multiple resolutions. Basically, the old setting had a variable "cc.fontsize" that defaults to 20 pixels. You can still specify that variable as pixels, but now have the option to use a value from 
<tiny, small, medium >
which will use a size that is a variable number of pixels depending on the resolution being used.

I tried it with an srt file I pulled off then internet, and seems to be working fine at both hd and regular, so checked in. Please tell me if it seems like I broke something.

Now to figure out the html scaling and use a stylesheet instead of a fixed font size there...


----------



## hooper

I am seeing a resource unavailable error when trying to play an mp4 file. Guessing the problem is with the 6 channel aac audio. Thoughts?

2/22/09 10:25:03 VideoModuleHelper: GetVidInfo: file:/M:/Videos/sample.mp4
02/22/09 10:25:03 FFmpegJavaVideoModule: vidDur:59978
02/22/09 10:25:03 FFmpegJavaVideoModule: VideoInfo:
uri: file:/M:/Videos/sample.mp4, Container: mkv, Duration: 59.978 seconds
Video: h264 720x304 23.976023976023978 fps
PixAspect: 1.0, Aspect: 2.368421
Audio: aac 48000HZ 6 channels
02/22/09 10:25:03 VideoModuleHelper: Guessing bitrate for file:/M:/Videos/sample.mp4 to: 1949

02/22/09 10:25:27 ViewScreen: error=ERROR: resource unavailable sample.mp4


----------



## moyekj

Yoav said:


> Ok just checked into svn a change to support CC text at multiple resolutions. Basically, the old setting had a variable "cc.fontsize" that defaults to 20 pixels. You can still specify that variable as pixels, but now have the option to use a value from
> <tiny, small, medium >
> which will use a size that is a variable number of pixels depending on the resolution being used.
> 
> I tried it with an srt file I pulled off then internet, and seems to be working fine at both hd and regular, so checked in. Please tell me if it seems like I broke something.
> 
> Now to figure out the html scaling and use a stylesheet instead of a fixed font size there...


 Thanks Yoav, the changes are looking good thus far. I just confirmed the cc font size fix in HD mode.


----------



## Clusty

How do I apply the patches you guys are posting?


----------



## moyekj

Clusty said:


> How do I apply the patches you guys are posting?


 Checkout the latest SVN and then use Ant to build the distribution or import the whole hierarchy into Eclipse. Unless you are familiar with SVN and Java development this may prove too hard and you are better off waiting for next release by Keary.


----------



## jannlinder

Just wondering. Does TiVo have some sort of User Interface Guideline that denotes certain background colors for certain things? I am *LOVING* the HD blue version for StreamBaby now!!! Great graphic guys! Gotta find out how to use a font size that is about 1 size higher than is normal for the description as for smaller HD TV's doing 720p it is kinda unreadable....but beautiful all the same!



J


----------



## jannlinder

ps: any idea why aspect ratio is off for StreamBaby on files that play fine on PyTivoX?

(see my posting about 5 posts back)

J


----------



## Yoav

Ok, I have a MAJOR issue with the CSS stuff, figured I'd ask here see if anyone is knowledgeable...

I put in the code change so that it uses a different CSS stylesheet depending on the vertical resolution being used (so right now, something like style-480.css and style-720.css cover the only resolutions we're likely to see). It's all well and good, except I have a HUGE annoyance:

I use css to tell it to 'float' the cover art to the right (instead of using the img attribute align=right). This is all well and good. However, before there was a 'width=30%' setting in the img attribute. That looked fine in 640x480, but at 1280x720 30% looks too big. So I pushed out the width into the CSS sheet. However, now when I specify width=5% (just for testing), instead of properly scaling the image, I get a VERY VERY thin image. I thought adding height=auto, would fix it, but no. I can do things like setting width AND height to fixed numbers, or percentages of the screen size, but all of them stretch the image to exactly that size, and so ignore aspect ratio.

So, is there a way to 'stretch while preserving aspect ratio' using CSS in a way that is supported by the html renderer? Assuming I can't figure it out, would people be 'unhappy' with a 'stretched' image? I can try 'stretching' it to a fixed 'poster-size' aspect ratio.. don't most people use that for their coverart anyways?

(keary or moyekj?)

*edit*: So I'm going to go with the 'stretched to a fixed size' since I think it will look nicer than 'shrunk to 30% of the width' anyways (some images were causing 'page down' to be needed.. I think it's better to squish those. We can easily back it out. Checking in to latest svn now.


----------



## Yoav

jannlinder said:


> Just wondering. Does TiVo have some sort of User Interface Guideline that denotes certain background colors for certain things? I am *LOVING* the HD blue version for StreamBaby now!!! Great graphic guys! Gotta find out how to use a font size that is about 1 size higher than is normal for the description as for smaller HD TV's doing 720p it is kinda unreadable....but beautiful all the same!
> 
> 
> 
> J


afaik there is no interface guideline controlling what you can use for a background.

As for the font size, unfortunately right now there's only a 'global' font size for things like 'list items' and such. It *is* possible to override it, but would take a bunch more work. I'm assuming that's not the font that is giving you problems since I can see it fine even on my monitor).

If it's only small on certain pages, like the metadata page right before you select quality and hit play, that is fixed with the latest code (it was using a very tiny tiny font size before, now it will pick an appropriate size for the resolution).

Try out the latest svn and tell me if things improved or if it still needs a larger font?


----------



## Yoav

jannlinder said:


> ps: any idea why aspect ratio is off for StreamBaby on files that play fine on PyTivoX?
> 
> (see my posting about 5 posts back)
> 
> J


Saw it, thought of the obvious solution, apparently that's not it, so no clue  Is it working fine if you choose a different quality (which should kick of a transcode, which *should* end up doing something very similar to what pytivo does).

IF it really is video only of a certain framerate, it could be that tivo is just confused about what to do with those (or is expecting some additional info about PAR or whatnot just for that framerate). but as I said "no clue"


----------



## rfryar

Yoav said:


> So, is there a way to 'stretch while preserving aspect ratio' using CSS in a way that is supported by the html renderer? Assuming I can't figure it out, would people be 'unhappy' with a 'stretched' image? I can try 'stretching' it to a fixed 'poster-size' aspect ratio.. don't most people use that for their coverart anyways?


In HTML if you just set either just the height or just the width to a fixed pixel size, it will scale the image and preserve the aspect ratio. However you mentioned that you tried this with a percentage and it did not seem to work.

So while it works in HTML, I can not say it will work with the TiVos HTML.

I feel it would be better to resize the image physically via the Java server side code instead anyways, and that way you know the exact height and width before resizing.

Regards,

Rick


----------



## cburbs

Please be easy on my ?s here....I have streambaby working with just listing a directory in the .ini file. My question pertains to all the other options and if they are needed -

In question is the stuff mentioned at these two locations -

http://code.google.com/p/streambaby/wiki/StreamBabyIni

http://code.google.com/p/streambaby/wiki/QualitySettings


----------



## Yoav

cburbs said:


> Please be easy on my ?s here....I have streambaby working with just listing a directory in the .ini file. My question pertains to all the other options and if they are needed -
> 
> In question is the stuff mentioned at these two locations -
> 
> http://code.google.com/p/streambaby/wiki/StreamBabyIni
> 
> http://code.google.com/p/streambaby/wiki/QualitySettings


The only ones you probaby need to get going are:


Code:


ip=<your IP address>
ffmpeg.path=<full path to a working ffmpeg program>
dir.1=<full directory path to where you have movies>
dir.1.name=<name you want to share it as>


----------



## cburbs

Yoav said:


> The only ones you probaby need to get going are:
> 
> 
> Code:
> 
> 
> ip=<your IP address>
> ffmpeg.path=<full path to a working ffmpeg program>
> dir.1=<full directory path to where you have movies>
> dir.1.name=<name you want to share it as>


I have it working as of right now - I don't know about all file types.

Where should this point to?

ffmpeg.path=<full path to a working ffmpeg program>

IN E:\streambaby-0.24\native there is a ffmpeg.exe and ffplay.exe file -

Is this what you mean?


----------



## jannlinder

Yoav said:


> The only ones you probaby need to get going are:
> 
> 
> Code:
> 
> 
> ip=<your IP address>
> ffmpeg.path=<full path to a working ffmpeg program>
> dir.1=<full directory path to where you have movies>
> dir.1.name=<name you want to share it as>


Just a question ... does the ffmpeg.path override the ffmpeg jar file that ships with streambaby? or is that jar file just a library that helps it control the ffmpeg you specify in the ffmpeg.path?

Just wondering



Thanks for answering so many questions.

J


----------



## Yoav

cburbs said:


> I have it working as of right now - I don't know about all file types.


Oh don't bother with that one. I forgot that on windows it will go and fetch an ffmpeg program and put it in the 'right place'.
So that's one less variable for you to set.

Practically speaking, the defaults are 'fine'. So you don't need to set anything else if it works for you. Unless you're trying to do something 'else', in which case, tell us what it is and we can try figuring out the variable for you...


----------



## Clusty

Yoav said:


> afaik there is no interface guideline controlling what you can use for a background.
> 
> As for the font size, unfortunately right now there's only a 'global' font size for things like 'list items' and such. It *is* possible to override it, but would take a bunch more work. I'm assuming that's not the font that is giving you problems since I can see it fine even on my monitor).
> 
> If it's only small on certain pages, like the metadata page right before you select quality and hit play, that is fixed with the latest code (it was using a very tiny tiny font size before, now it will pick an appropriate size for the resolution).
> 
> Try out the latest svn and tell me if things improved or if it still needs a larger font?


I'm using SVN-r98 and it's still very small on the metadata page.


----------



## kearygriffin

cburbs said:


> I have it working as of right now - I don't know about all file types.
> 
> Where should this point to?
> 
> ffmpeg.path=<full path to a working ffmpeg program>
> 
> IN E:\streambaby-0.24\native there is a ffmpeg.exe and ffplay.exe file -
> 
> Is this what you mean?


Really the only setting you should have to worry about in most situtations is dir.x to set your video directory. ffmpeg.path will default to using the ffmpeg.exe in the native directory (on windows) so that should be fine without having to set it. And you probably will only have to change the ip= if you have multiple network cards in your PC, otherwise just leave it out also and everything should be all set.


----------



## kearygriffin

jannlinder said:


> ps: any idea why aspect ratio is off for StreamBaby on files that play fine on PyTivoX?
> 
> (see my posting about 5 posts back)
> 
> J


No idea, it is interesting that the difference seems to be the FPS for the ones that work vs the ones that don't work.

And just to make sure I understand, the video is 16:9 video and is displaying (through streambaby) "squished" like the tivo thinks its 4:3?


----------



## Yoav

Clusty said:


> I'm using SVN-r98 and it's still very small on the metadata page.


Given that the fix went into the latest svn (100) I'd hazard that you haven't yet tried the latest. There should be an 'official' release that includes it soon, but until then you can wait or pull the source from svn and build it...


----------



## Clusty

Is there a guide or how-to anywhere on how to build it? What do I need to do that? I'm fairly computer-literate so I doubt it'd be too hard.


----------



## kearygriffin

Yoav said:


> Given that the fix went into the latest svn (100) I'd hazard that you haven't yet tried the latest. There should be an 'official' release that includes it soon, but until then you can wait or pull the source from svn and build it...


Just pushed up a build of SVN-r101. (Haven't tried it, just ran my script that compiles and uploads the latest SVN version)


----------



## Yoav

Clusty said:


> Is there a guide or how-to anywhere on how to build it? What do I need to do that? I'm fairly computer-literate so I doubt it'd be too hard.


*edit:* looks like Keary beat my reply with a build. So just get the build . But if you want to try for fun and profit:

Instructions for how to check out the code are at the googlecode source page: http://code.google.com/p/streambaby/source/checkout

(you will need svn).

To build it, just run 'ant' in the toplevel, or use some IDE like Eclipse.


----------



## jannlinder

kearygriffin said:


> No idea, it is interesting that the difference seems to be the FPS for the ones that work vs the ones that don't work.
> 
> Yup... for some reason the 23.9x files that are 852x480 all play at 640x480 (squished).
> 
> The 29.97 files that are 852x480 all play at 16:9 (852x480?)
> 
> No change in the aspect setting on any of the tivos I have tried (3). All tivoHD's in my house all exhibit the same behavior! They are all TivoHDs. Does this help at all?
> 
> 
> 
> Anything else I can help you with to troubleshoot, K?
> 
> Jann


----------



## Yoav

Can you try just running

ffmpeg -i <filename>

on one of the non-stretched and one of the stretched ones? I'm curious what it reports as the PAR and the DAR for them


----------



## Clusty

The version that kearygriffin uploaded fixes the small metadata text problem.

Here's a suggestion, why not use the default TiVo graphics for the folder icons and such?

It'd also be awesome if we could see DVD covers along with the metadata.


----------



## jannlinder

Yoav said:


> Can you try just running
> 
> ffmpeg -i <filename>
> 
> on one of the non-stretched and one of the stretched ones? I'm curious what it reports as the PAR and the DAR for them


Here are 2 files that are not stretched and plays incorrectly:
#1:
Duration: 00:42:29.9, start: 0.000000, bitrate: 1642 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 852x480 [PAR 0:1 DAR 0:1], 23.98 tb(r)
Stream #0.1(eng): Audio: mpeg4aac, 48000 Hz, stereo

#2:
Duration: 00:43:38.1, start: 0.000000, bitrate: 1642 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 852x480 [PAR 0:1 DAR 0:1], 23.98 tb(r)
Stream #0.1(eng): Audio: mpeg4aac, 48000 Hz, stereo

Here are 2 files that *are* stretched and DOES play correctly:
#1:
Duration: 00:43:59.1, start: 0.000000, bitrate: 1634 kb/s
Stream #0.0(und): Video: h264, yuv420p, 852x480 [PAR 0:1 DAR 0:1], 29.97 tb(r)
Stream #0.1(und): Audio: mpeg4aac, 48000 Hz, stereo
#2:
Duration: 00:42:40.2, start: 0.000000, bitrate: 1635 kb/s
Stream #0.0(und): Video: h264, yuv420p, 852x480 [PAR 0:1 DAR 0:1], 29.97 tb(r)
Stream #0.1(und): Audio: mpeg4aac, 48000 Hz, stereo

Does that help?


----------



## cburbs

OK I just tried playing a MKV file and it pauses itself every 10 seconds or so. Do I need to do something to fix this issue?


----------



## etsolow

Such a cool app! I want it to work with my S2s!


----------



## Yoav

jannlinder said:


> Here are 2 files that are not stretched and plays incorrectly:
> #1:
> Duration: 00:42:29.9, start: 0.000000, bitrate: 1642 kb/s
> Stream #0.0(eng): Video: h264, yuv420p, 852x480 [PAR 0:1 DAR 0:1], 23.98 tb(r)
> Stream #0.1(eng): Audio: mpeg4aac, 48000 Hz, stereo


Well, I *think* your files have meaningless PAR/DAR values. a PAR of 0:1 makes no sense (it would be 1:1, or 4:3, or 16:9, or 2.45, or whatnot). Possibly the tivo or ffmpeg is forcing it to a meaningful value, and that value is dependent on the framerate?

I'm wondering, what does 'vlc' do with those files?


----------



## Yoav

cburbs said:


> OK I just tried playing a MKV file and it pauses itself every 10 seconds or so. Do I need to do something to fix this issue?


You need a faster network. Are you using wireless? Upgrade to 802.11n.

Your non-improved-speed options are:

1) Leave it paused and let it buffer for longer. It will still pause every 1.1G and you will need to wait again.

2) Before 'play movie', go down to the quality setting, and pick a lower quality. The lower the quality, the faster the movie can transfer to the tivo, but also the worse it looks.

3) use pyTivo to just download the whole movie and not watch it until it's fully downloaded.


----------



## Yoav

Clusty said:


> The version that kearygriffin uploaded fixes the small metadata text problem.
> 
> Here's a suggestion, why not use the default TiVo graphics for the folder icons and such?
> 
> It'd also be awesome if we could see DVD covers along with the metadata.


Glad it's fixed 

Actually, you *CAN* see DVD covers with the metadata. You need to have the cover as the image set in the mp4 file (I use metaX, dunno what's a good tool on windows for it). If you're using another format, I think Keary was planning on adding a new .txt tag to supply an image, but I don't think that's in yet.


----------



## cburbs

Yoav said:


> You need a faster network. Are you using wireless? Upgrade to 802.11n.
> 
> Your non-improved-speed options are:
> 
> 1) Leave it paused and let it buffer for longer. It will still pause every 1.1G and you will need to wait again.
> 
> 2) Before 'play movie', go down to the quality setting, and pick a lower quality. The lower the quality, the faster the movie can transfer to the tivo, but also the worse it looks.
> 
> 3) use pyTivo to just download the whole movie and not watch it until it's fully downloaded.


It is wired and doing this. I will look at some of the other options you mentioned as well.


----------



## Yoav

cburbs said:


> It is wired and doing this. I will look at some of the other options you mentioned as well.


It's wired? then I'm curious what bitrate the mkv file is? normally pauses happen because the tivo is not getting the file fast enough...


----------



## jannlinder

Yoav said:


> Well, I *think* your files have meaningless PAR/DAR values. a PAR of 0:1 makes no sense (it would be 1:1, or 4:3, or 16:9, or 2.45, or whatnot). Possibly the tivo or ffmpeg is forcing it to a meaningful value, and that value is dependent on the framerate?
> 
> I'm wondering, what does 'vlc' do with those files?


VLC plays them at correct ratio with no errors.

Also, makes no sense that PyTivoX plays them all just fine and streambaby does not.

J


----------



## cburbs

Yoav said:


> It's wired? then I'm curious what bitrate the mkv file is? normally pauses happen because the tivo is not getting the file fast enough...


How can I find that out?


----------



## westside_guy

jannlinder said:


> VLC plays them at correct ratio with no errors.
> 
> Also, makes no sense that PyTivoX plays them all just fine and streambaby does not.


I know this doesn't actually help; but a random person I've talked to - yeah, that's it, an unidentified stranger - has seen similar issues with widescreen TV shows that were purchased from iTunes then de-DRMed using Requiem. So at least I can say it's not just you.


----------



## Clusty

I use a Mac.. it's just that I have a Windows machine that I use for stuff like PyTivo, StreamBaby, and TiVo Desktop. I'll try using MetaX on my mac and see if that does it.


----------



## Yoav

jannlinder said:


> VLC plays them at correct ratio with no errors.
> 
> Also, makes no sense that PyTivoX plays them all just fine and streambaby does not.
> 
> J


Well, not saying I *know* what is going on, but it certainly is possible since pyTivo converts it to mpeg-2 using ffmpeg, and streambaby is streaming it. I don't know for sure, but the PAR values you have are DEFINITELY weird, and since PAR is directly related to what stretching is done by the player, I don't think it's out-of-the-realm-of-possibility that your file is just confusing the tivo when streaming.

You *could* manually transcode the file using ffmpeg and see if streambaby likes it better... did changing the 'quality' to something other than same help (this thread is long, and I can't remember if you've answered that yet). That forces streambaby to transcode using ffmpeg...

It could also be that tivo, when presented with a 24fps movie at that resolution, simply doesn't deal with it right, and has nothing to do with the PAR. You could try creating a movie that matches all the other settings but has a valid PAR and see what the tivo does.


----------



## kearygriffin

Yoav said:


> Glad it's fixed
> 
> Actually, you *CAN* see DVD covers with the metadata. You need to have the cover as the image set in the mp4 file (I use metaX, dunno what's a good tool on windows for it). If you're using another format, I think Keary was planning on adding a new .txt tag to supply an image, but I don't think that's in yet.


The latest SVN version should support 
image : file_or_url
in the pyTivo .txt metadata files. You'll will need to tell streambaby to use the html version of the pytivo stylesheet to make it work. Put this in the INI:
xsl.pytivo=pytivo-html.xsl


----------



## kearygriffin

Yoav said:


> Well, not saying I *know* what is going on, but it certainly is possible since pyTivo converts it to mpeg-2 using ffmpeg, and streambaby is streaming it. I don't know for sure, but the PAR values you have are DEFINITELY weird, and since PAR is directly related to what stretching is done by the player, I don't think it's out-of-the-realm-of-possibility that your file is just confusing the tivo when streaming.


Right, pyTivo is converting the file to mpeg-2 before sending it off to the TiVo, whereas streambaby sends the file as-is. (Or pretty much as-is, there is always the possibility that there is something in the streambaby code that messes up the aspect ratio for some files)

The PAR and DAR is probably OK, as 0:1 is what I get for most of my MP4 files. (It basically means no aspect information)

I can't remember what OS jannlinder is using, but if you have the utility MP4Box, if you could post the output of:
MP4Box -info xxx.mp4, it actually does a better job of spitting out the aspect ratio information for MP4's.


----------



## Clusty

Yoav said:


> Glad it's fixed
> 
> Actually, you *CAN* see DVD covers with the metadata. You need to have the cover as the image set in the mp4 file (I use metaX, dunno what's a good tool on windows for it). If you're using another format, I think Keary was planning on adding a new .txt tag to supply an image, but I don't think that's in yet.


I added a cover to a mp4 on my mac, then moved it over to my windows machine. When I go to it on Stream Baby, it doesn't show a picture.


----------



## kearygriffin

Clusty said:


> I added a cover to a mp4 on my mac, then moved it over to my windows machine. When I go to it on Stream Baby, it doesn't show a picture.


It should  Streambaby supports the apple (iTunes) mp4 tags. I think there may be some other "standards" out there. I tested it using a couple of videos purchased from iTunes. (The metadata comes out with the image, but since the video is encrypted I can't actually play them)

Was it metaX that you used, and does it use the standard apple tags?


----------



## kearygriffin

Just got done playing with Yoav's HD stuff-- Looks great! Thanks!

Anyone going to have any issues if I make it the default in the next version? (It will fall back to 640 if the TiVo doesn't support HD)

One little question-- Where did the background come from? I just want to make sure I don't get into any problem areas with distributing stuff I shouldn't. (Although I really don't even know where the original blue.jpg came from, so maybe I should just stop asking questions.. ;-)


----------



## fred2

kearygriffin said:


> Just pushed up a build of SVN-r101. (Haven't tried it, just ran my script that compiles and uploads the latest SVN version)


Keary:

First, thanks for Streambaby - most interesting and helpful app.

I suspect that your first message still contains the link reference but for those who get occcasionally lost in these long threads, might you include, maybe, a signature with a link in your new posts - if allowed.


----------



## Clusty

kearygriffin said:


> It should  Streambaby supports the apple (iTunes) mp4 tags. I think there may be some other "standards" out there. I tested it using a couple of videos purchased from iTunes. (The metadata comes out with the image, but since the video is encrypted I can't actually play them)
> 
> Was it metaX that you used, and does it use the standard apple tags?


Yeah, it was MetaX and I imported it into iTunes and it showed it so..

How about adding support for pictures in the metadata? That'd be cool.


----------



## jannlinder

kearygriffin said:


> Right, pyTivo is converting the file to mpeg-2 before sending it off to the TiVo, whereas streambaby sends the file as-is. (Or pretty much as-is, there is always the possibility that there is something in the streambaby code that messes up the aspect ratio for some files)
> 
> The PAR and DAR is probably OK, as 0:1 is what I get for most of my MP4 files. (It basically means no aspect information)
> 
> I can't remember what OS jannlinder is using, but if you have the utility MP4Box, if you could post the output of:
> MP4Box -info xxx.mp4, it actually does a better job of spitting out the aspect ratio information for MP4's.


I is using OS X 10.5.x

Here, in order, are 2 files that play fine on StreamBaby and 2 files that do NOT get stretched to 16:9

*Plays correctly:*
File: #1


Code:


* Movie Info *
	Timescale 1000 - Duration 00:43:59.137
	Fragmented File no - 2 track(s)
	File Brand isom - version 512
	Created: GMT Fri Jan  2 00:00:00 1970

File has no MPEG4 IOD/OD

iTunes Info:
	Name: In The Shadow of Two Gunmen (Part 1)
	Album: The West Wing Season 2
	Genre: TV Show
	Created: 2000-10-04T07:00:00Z
	TrackNumber: 1 / 22

Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:43:59.136
Media Info: Language "Undetermined" - Type "vide:avc1" - 79095 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480 - Profile Main @ Level 3.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:43:58.357
Media Info: Language "Undetermined" - Type "soun:mp4a" - 123673 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

File #2:


Code:


* Movie Info *
	Timescale 1000 - Duration 00:42:40.258
	Fragmented File no - 2 track(s)
	File Brand isom - version 512
	Created: GMT Fri Jan  2 00:00:00 1970

File has no MPEG4 IOD/OD

iTunes Info:
	Name: In The Shadow of Two Gunmen (Part 2)
	Album: The West Wing Season 2
	Genre: TV Show
	Created: 2000-10-04T07:00:00Z
	TrackNumber: 2 / 22

Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:42:40.257
Media Info: Language "Undetermined" - Type "vide:avc1" - 76731 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480 - Profile Main @ Level 3.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:42:39.658
Media Info: Language "Undetermined" - Type "soun:mp4a" - 119984 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

*Plays *in*correctly:*
File: #1


Code:


* Movie Info *
	Timescale 23976 - Duration 00:43:38.118
	Fragmented File no - 2 track(s)
	File Brand mp42 - version 1
	Created: GMT Thu May 10 11:35:21 2007

File has no MPEG4 IOD/OD

iTunes Info:
	Name: War Crimes
	Album: The West Wing Season 3
	Genre: TV Show
	Created: 2001-11-07T07:00:00Z
	TrackNumber: 6 / 23

Track # 1 Info - TrackID 1 - TimeScale 23976 - Duration 00:43:38.118
Media Info: Language "English" - Type "vide:avc1" - 62772 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480 - Profile Baseline @ Level 3
NAL Unit length bits: 32
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:43:37.472
Media Info: Language "English" - Type "soun:mp4a" - 122694 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

File #2:


Code:


* Movie Info *
	Timescale 23976 - Duration 00:42:29.924
	Fragmented File no - 2 track(s)
	File Brand mp42 - version 1
	Created: GMT Thu May 10 03:47:42 2007

File has no MPEG4 IOD/OD

iTunes Info:
	Name: Gone Quiet
	Album: The West Wing Season 3
	Genre: TV Show
	Created: 2001-11-14T07:00:00Z
	TrackNumber: 7 / 23

Track # 1 Info - TrackID 1 - TimeScale 23976 - Duration 00:42:29.924
Media Info: Language "English" - Type "vide:avc1" - 61137 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 852 x 480 - Profile Baseline @ Level 3
NAL Unit length bits: 32
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:42:29.312
Media Info: Language "English" - Type "soun:mp4a" - 119499 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1

How's that?

PS: The files that play correctly have a


Code:


Timescale: 1000

 whereas the files that play INcorrectly have a


Code:


TimeScale 23976

 at the MOVIE INFO Section. The Track #1 section is correct at 23975 or 30000 (which i assume is the framerate without the decimals...)...

Also the File Brand ISOM is version 512 for those that DO play correctly and version 1 for those that do not.

Most informative is: Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480

That does not exist in the files that DO NOT play correctly.

Is this a hint?

In the same vein... if the "Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480" missing is the issue...is there another way to reinsert that "information" into the track without lossy re-encoding?

TIA

J


----------



## moyekj

Not a big deal but there are still a couple of issues I noticed with the HD setup:
1. In metadata page (txt mode, I haven't played with html mode) some low hanging characters get cut off because the height is not quite big enough. For example, the bottom of the "g" in "Coverage"
2. Long titles get chopped off at both beginning and end. This can be solved by specifying that title can wrap (in ScreenTemplate.java):
title.setFlags(RSRC_VALIGN_TOP | RSRC_TEXT_WRAP);
However, since the title font is so huge trying to accomodate another line of title text vertically is somewhat difficult. A smaller title font would probably allow for 2 lines without problem.

Like I said, no biggie and I can live with those issues but thought I would report what I noticed.


----------



## kearygriffin

jannlinder said:


> Most informative is: Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480
> 
> That does not exist in the files that DO NOT play correctly.
> 
> Is this a hint?
> 
> In the same vein... if the "Pixel Aspect Ratio 1:1 - Indicated track size 852 x 480" missing is the issue...is there another way to reinsert that "information" into the track without lossy re-encoding?


That would be my guess as to what the issue is. As with everything, it's probably possible to reinsert the aspect information into the stream, but unfortunately I believe it is encoded into a part of of the MP4 that streambaby doesn't currently parse, so it's not easy. (And from looking through the source code of MP4Box it is bit complicated to parse/change the info we would need to change)


----------



## jannlinder

kearygriffin said:


> That would be my guess as to what the issue is. As with everything, it's probably possible to reinsert the aspect information into the stream, but unfortunately I believe it is encoded into a part of of the MP4 that streambaby doesn't currently parse, so it's not easy. (And from looking through the source code of MP4Box it is bit complicated to parse/change the info we would need to change)


Keary,

Sorry if I did not make myself clear...

Is there something in particular that **I** could do on **MY** end to re-encode the files so they have this. I can write a script that looks through all of my mp4s and re-encodes (direct video and audio copy) to put this back in ... that is, if it is a "container" issue and not a direct mp4 stream issue.

J


----------



## Yoav

kearygriffin said:


> One little question-- Where did the background come from? I just want to make sure I don't get into any problem areas with distributing stuff I shouldn't. (Although I really don't even know where the original blue.jpg came from, so maybe I should just stop asking questions.. ;-)


Stop asking questions  *hides in corner*

(I think I pulled up images.google.com, and types something like 'background movie' or maybe 'background reel' or something, and that image came up. I'm fairly sure it had some CC licensing with it, but I'm not gonna vouch for that). Then I loaded it up into photoshop, cropped/resized, editted to create a darker rounded rectangle for where the text goes, and a highlighted outline. Then I took the standard tivo image, size it appropriately, added a background highlight, and pasted it....

(so yeah.. it's *mostly* kosher... if you have a background you're 100% sure is kosher I'm happy to make a different one from it).


----------



## Yoav

kearygriffin said:


> Was it metaX that you used, and does it use the standard apple tags?


Not sure if it uses the standard apple tags, but that's how I tested my mp4 metadata and I definitely had an image showing... so MetaX is doing the right thing...

I'll go make sure the pytivo.txt html stuff works too.. (if it does, it would probably be good to make it the default too -- yay consistency). Gonna make it default on pyTivoX in the meanwhile....


----------



## kearygriffin

jannlinder said:


> Keary,
> 
> Sorry if I did not make myself clear...
> 
> Is there something in particular that **I** could do on **MY** end to re-encode the files so they have this. I can write a script that looks through all of my mp4s and re-encodes (direct video and audio copy) to put this back in ... that is, if it is a "container" issue and not a direct mp4 stream issue.
> 
> J


Got it. I think I was thinking about what I could in streambaby to handle the issue even before you asked the question, so I had it on my mind.

Since I don't have any files that exhibit the issue, I am not sure if this will work, but it usually does good things to MP4 files:

MP4Box -isma in.mp4 -out out.mp4
(Double check that syntax before you run it... I think that's right, but I don't want you to accidentally clobber an MP4 because I posted the wrong command)

That command rewrites the MP4 as a ISMA compliant MP4. No idea if that means it will add the pixel aspect ratio or not, but whenever I have an iffy MP4 that command tends to take care of it.

If the issue is with the missing pixel aspect information, then it's in the MP4 container, not the video, so you should be able to find something to fix the file without reencoding, even if the above doesn't work.


----------



## kearygriffin

Just compiled a new version from the SVN:
http://streambaby.googlecode.com/files/streambaby-svn-r103.zip

Mostly just some small changes to the HD/non-HD display. Also switches to using HTML for pyTivo metadata for support of the image tag.

If this version seems to work for people, I'll compile a release version and put a new featured version defaulting to HD on the front page.


----------



## jannlinder

kearygriffin said:


> Got it. I think I was thinking about what I could in streambaby to handle the issue even before you asked the question, so I had it on my mind.
> 
> Since I don't have any files that exhibit the issue, I am not sure if this will work, but it usually does good things to MP4 files:
> 
> MP4Box -isma in.mp4 -out out.mp4
> (Double check that syntax before you run it... I think that's right, but I don't want you to accidentally clobber an MP4 because I posted the wrong command)
> 
> That command rewrites the MP4 as a ISMA compliant MP4. No idea if that means it will add the pixel aspect ratio or not, but whenever I have an iffy MP4 that command tends to take care of it.
> 
> If the issue is with the missing pixel aspect information, then it's in the MP4 container, not the video, so you should be able to find something to fix the file without reencoding, even if the above doesn't work.


Yippee -- solved it with another MP4Box thingie:

HINT: To use this you CANNOT have ripped or use ANAMORPHIC with your mp4 file. these are a bunch of older mp4's and I know i did not. If you did rip anamorphic, the 1:1 would NOT be correct.



Code:


MP4Box -par 1=1:1 FILENAME.mp4

That wrote the PAR to be correct at a 1 to 1 aspect ratio since my pixels are not anamorphic.

Fixed it!

J


----------



## moyekj

moyekj said:


> Not a big deal but there are still a couple of issues I noticed with the HD setup:
> 1. In metadata page (txt mode, I haven't played with html mode) some low hanging characters get cut off because the height is not quite big enough. For example, the bottom of the "g" in "Coverage"
> 2. Long titles get chopped off at both beginning and end. This can be solved by specifying that title can wrap (in ScreenTemplate.java):
> title.setFlags(RSRC_VALIGN_TOP | RSRC_TEXT_WRAP);
> However, since the title font is so huge trying to accomodate another line of title text vertically is somewhat difficult. A smaller title font would probably allow for 2 lines without problem.
> 
> Like I said, no biggie and I can live with those issues but thought I would report what I noticed.


 Thanks Keary, I verified both of these minor issues are solved in latest SVN (and I like the smaller title font which now wraps and fits in 2 lines).

Also, I hadn't seen the HTML rendering of metadata before - it looks very nice and a good complement to the whole HD upgrade. Ship it.


----------



## rfryar

I agree that the latest SVN version looks great. I love the new HD look. 

Great work everybody!

Rick


----------



## kearygriffin

moyekj said:


> Also, I hadn't seen the HTML rendering of metadata before - it looks very nice and a good complement to the whole HD upgrade. Ship it.


Thanks again to Yoav for the HD stuff-- The HTML font's looked pretty bad in 640x480, which is why the default was non-HTML. In HD the the font's look great.

I did notice a couple small issues in the new version that I will try to take care of, and post up a new version tomorrow. (Some preview aspect issues, I think mostly related to generated thumbnails. I think realtime preview has correct aspect). Also a couple of small positioning issues. (title a little off-center, and when pressing number keys during playback they overlap the shuttlebar).

I also wanted to mention that I haven't stopped working on some of the problematic MP4's people have had-- I'm actually taking a look at some of code cahoon wrote to do mp4 splitting, and possibly replacing my current MP4 parsing code with his code. His code was written ground-up in java, whereas the current MP4 parsing code I (badly) translated from C. I'm not sure if moving to his codebase will fix the issues, but it will certainly make debugging/fixing things a lot easier. When I do make the switch I'll probably temporarily keep both versions of the MP4 parsing in the code so people can switch between versions until one of them clearly works better than the other.


----------



## mustang1068

In the category of "wouldn't this be a really cool feature?".

How about replacing the generic movie file icons with animated icons containing a few second loop of the actual movie. ( my archos does this, and I think it is cool - even my 5 year old can pick his movies without knowing how to read )

Thanks for the great program!


----------



## kearygriffin

Just uploaded streambaby V0.25. Here is the changelog from V0.24. 

The most significant (and nice) change is Yoav's patches for HD. This version is very close to the last SVN binary release, but has a couple of display related bugfixes.

===V0.25===
* Force transcoding of MP4's if profile > High or Level > 41
* Internal reorg-- Get icon for display from parsed file type (folder, video, dvd, etc)
* Changed re-interleaving code to work based on DTS (decoding time stamp) rather than PTS (presentation time stamp)
* pytivo-html.xsl supports image : tag with URL to image to use in metadata
* Internal changes to possibly support another MP4 pseudo-streaming module
* added config option hme.res to set hme resolution to use
* Added Yoav's patches to add HD support
* Force transcode if audio is not 44100k or 48000k
* When transcoding force sample rate of 44100k or 48000k
* Change default to HD
* Change default xsl for pytivo metadata to HTML version

I probably need to update the Wiki with new configuration parameters (I'm a couple of releases behind), but will put it off again... The only parameter I will mention here is if you want to switch back to the old 640x480:
hme.res=480
But HD really does look significantly better.


----------



## Yoav

kearygriffin said:


> The only parameter I will mention here is if you want to switch back to the old 640x480:
> hme.res=640
> But HD really does look significantly better.


Small question, is it really 640 and not 480 for the old resolution?


----------



## kearygriffin

Yoav said:


> Small question, is it really 640 and not 480 for the old resolution?


Nope, not really 

As Yoav points out (and I just edited my previous post) it should be
hme.res=480

For 640x480 mode.


----------



## windracer

mustang1068 said:


> In the category of "wouldn't this be a really cool feature?".
> 
> How about replacing the generic movie file icons with animated icons containing a few second loop of the actual movie. ( my archos does this, and I think it is cool - even my 5 year old can pick his movies without knowing how to read


It would be cool, but I'm pretty sure the HME SDK doesn't support animated icons like that.


----------



## Yoav

from code right out of svn:



Code:


Wed 2009/02/25 16:13:33.530|   |master|StreamBabyStream$StreamBabyStreamFactory|uri=movie.png
Wed 2009/02/25 16:13:33.530|   |master|SelectionScreen|focusOn entry=null
Wed 2009/02/25 16:13:35.234|   |Acceptor|SelectionScreen|code=6 rawcode=16778246
javax.xml.transform.TransformerFactoryConfigurationError: Provider net.sf.saxon.TransformerFactoryImpl not found
        at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:109)
        at com.unwiredappeal.tivo.metadata.BaseMetadataModule.getXsltTransformer(BaseMetadataModule.java:68)
        at com.unwiredappeal.tivo.metadata.BaseMetadataModule.transform(BaseMetadataModule.java:107)
        at com.unwiredappeal.tivo.metadata.MP4MetadataModule.parseIsoBoxes(MP4MetadataModule.java:348)
        at com.unwiredappeal.tivo.metadata.MP4MetadataModule.setMetadata(MP4MetadataModule.java:368)
        at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
        at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
Wed 2009/02/25 16:13:46.131|   |Acceptor|Listener|
Wed 2009/02/25 16:13:46.131|   |Acceptor|Listener|connection to receiver closed

(while trying to look at metadata for an mp4 file that had metadata.. though it looks like the place it's breaking is in finding the saxon libs?)

*update:* it looks like the system javax is providing the TransformerImpl instead of saxon. If I edit CLASSPATH to use the lib directory (where saxon.jar is) it works fine. However, I'm not really the java guru.. is there a 'proper' way to indicate you want something out of saxon instead of javax without modifying the CLASSPATH variable? Or is it 'ok' to just do that?


----------



## windracer

kearygriffin said:


> The most significant (and nice) change is Yoav's patches for HD.


Wow, very nice looking! :up:


----------



## PaulS

windracer said:


> Wow, very nice looking! :up:


+1

The updated graphics, inclusion of metadata, and selectable level of quality are all really nice touches. Well done, guys!


----------



## kearygriffin

Yoav said:


> *update:* it looks like the system javax is providing the TransformerImpl instead of saxon. If I edit CLASSPATH to use the lib directory (where saxon.jar is) it works fine. However, I'm not really the java guru.. is there a 'proper' way to indicate you want something out of saxon instead of javax without modifying the CLASSPATH variable? Or is it 'ok' to just do that?


I'm going to have to look into this more tomorrow, because my testing shows weird results.

1. I can only make it happen in JDK1.5, JDK1.6 seems to work OK

The strange thing is it seems to be intermittent with JDK1.5. And it seems to happen most often when I switch JDK/JRE versions. (So once it stops happening, running, quitting, running it doesn't seem to happen again until I switch to another JDK/JRE and then switch back...)

The above doesn't make much sense to me so I am probably missing something. I wouldn't think something like this could be intermittent. (Unless somehow transformers are cached by java in some way I don't understand)


----------



## Yoav

kearygriffin said:


> I'm going to have to look into this more tomorrow, because my testing shows weird results.


Oh wow, more annoying that I thought it would be.
For now, at least on the mac pyTivoX, I seem to have it working 100% by just pointing CLASSPATH at the lib directory -- so that's what I'm having pyTivoX do.


----------



## westside_guy

I gotta echo everyone else who's commented on how nice 0.25 looks! I mean, it looked fine before; but now you guys are really making the "official" apps look bad by comparison. 

Very nice work!


----------



## rfryar

windracer said:


> It would be cool, but I'm pretty sure the HME SDK doesn't support animated icons like that.


It does not support animated GIF icons, but you can use animations from MPG files. I am not sure how to include more than one or two at a time and if the TiVo will become bogged down.

So what could be requested is a small MPG thumbnail movie for the current selected movie and have these be generated in the background perhaps?

Rick


----------



## jjburke77

Just wanted to drop a quick note of thanks in the forums to all you guys.

To all you contributed to code on this project, I am very grateful. A special thanks to windracer for his how-to on Ubuntu with Galleon, and for extra help when I screwed it up.

This is awesome and you guys have done a beautiful thing with this app.

Thanks to all.


----------



## gonzotek

rfryar said:


> It does not support animated GIF icons, but you can use animations from MPG files. I am not sure how to include more than one or two at a time and if the TiVo will become bogged down.
> 
> So what could be requested is a small MPG thumbnail movie for the current selected movie and have these be generated in the background perhaps?
> 
> Rick


I like this idea. Show a static thumbnail icon for all but the currently highlighted item; when the selection focus is moved, show the animation after a little delay (so the tivo won't try to load the animation for each item in the list as you move through them).


----------



## moyekj

Personally I wouldn't vote for for having thumbnail previews next to movie titles. In HME (at least the Java implementation) it's hard enough to deallocate resources properly for simple items such as text, images, etc so I wouldn't want additional resource overhead and potential resource leaks associated with this. I always lean towards the KISS approach.
The new Tivo Search HME application is an example to me of getting carried away with over-emphasis on graphics instead of raw functionality which just serves to slow everything down and doesn't add anything other than aesthetic value.


----------



## windracer

Yah, I don't really need DVD motion menu-like capabilities on the streambaby screens. Keep it simple, quick, and stick to the core functionality.


----------



## conan76

Thanks for the excellent app! It really is brilliant.

A couple of really minor suggestions:
a) Can you make the 'right' button on the remote bring up the info on the shows during playback? This would make the behaviour the same as the standard tivo functionality. (as I said, really minor)
b) Could the list of titles be changed to include the episode title or episode number? I'm using pytivo metadata, and my tv series are listing as just the series title - hence I can't tell which one is which.

Thanks again!


----------



## Yoav

Oh dear, it looks like that saxon transformer problem wasn't fully resolved by setting CLASSPATH.
sigh... Anyone have any suggestions for a consistent workaround?


----------



## kearygriffin

conan76 said:


> b) Could the list of titles be changed to include the episode title or episode number? I'm using pytivo metadata, and my tv series are listing as just the series title - hence I can't tell which one is which.
> 
> Thanks again!


This should be in there, although older versions did not have this and maybe you have older data cached? (When I say it should be in there it should display SERIESTITLE - EPISODETITLE in the selection screen)

Try removing cache/meta.cache and re-running streambaby, then press ENTER while on the selection screen to re-cache all of the entries for that directory.


----------



## kearygriffin

Yoav said:


> Oh dear, it looks like that saxon transformer problem wasn't fully resolved by setting CLASSPATH.
> sigh... Anyone have any suggestions for a consistent workaround?


Can you reproduce this on a semi-consistent basis (without the classpath modification)? I've gone from it happening sporadically but often last night, to not being able to reproduce it all tonight. (Fun.)

If you can reproduce it relatively frequently, can you try running streambaby with the following:


Code:


java -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl  -jar jbin/streambaby.jar

and see if it makes a difference?


----------



## kagacins

Another general question - is it possible to maintain the stream as I'm navigating through other TiVo menus or even watching another show? Right now if I navigate away from the streaming file and come back, it has both lost everything in buffer as well as hasn't continued to load additional data for viewing (would be especially useful on HD files where at live speed buffering happens every 10 seconds or so). Thanks!!


----------



## moyekj

kagacins said:


> Another general question - is it possible to maintain the stream as I'm navigating through other TiVo menus or even watching another show? Right now if I navigate away from the streaming file and come back, it has both lost everything in buffer as well as hasn't continued to load additional data for viewing (would be especially useful on HD files where at live speed buffering happens every 10 seconds or so). Thanks!!


 No not possible. Use pyTivo to download to Tivo instead for that use model.


----------



## kagacins

Ah that's a shame. I'm a big fan of pyTiVo, but it's one of these unfortunate situations where the transfer seems to happen for larger HD files much faster for some reason with Streambaby than pyTiVo, but not quite fast enough for live viewing. Oh well, sometimes you can't get the best of both worlds, but I certainly can't complain.


----------



## moyekj

kagacins said:


> Ah that's a shame. I'm a big fan of pyTiVo, but it's one of these unfortunate situations where the transfer seems to happen for larger HD files much faster for some reason with Streambaby than pyTiVo, but not quite fast enough for live viewing. Oh well, sometimes you can't get the best of both worlds, but I certainly can't complain.


 With the recent addition of native mp4 pushes in wmcbrine's pyTivo fork now you can get transfers to Tivo happening pretty quickly for HD mp4 files. Of course that won't help if you have mpeg2 HD files and don't want to spend time or quality hit to convert them to mp4.


----------



## kagacins

Without straying too much from the intent of this specific forum thread, I fear I may be getting in over my head trying to incorporate the fork into my existing pyTiVo setup. Is there some straightforward documentation on how someone could do this, or at least some jumping off point where I can appropriately get up to speed? I found wmcbrine's site, but not really sure where to start.


----------



## kearygriffin

kearygriffin said:


> Can you reproduce this on a semi-consistent basis (without the classpath modification)? I've gone from it happening sporadically but often last night, to not being able to reproduce it all tonight. (Fun.)
> 
> If you can reproduce it relatively frequently, can you try running streambaby with the following:
> 
> 
> Code:
> 
> 
> java -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl  -jar jbin/streambaby.jar
> 
> and see if it makes a difference?


And you can also try the SVN version I just compiled (and uploaded to SVN):
http://streambaby.googlecode.com/files/streambaby-svn-r118.zip

The above version doesn't use the javax.xml.transformerFactory, it uses the saxon version directly.


----------



## Yoav

kearygriffin said:


> And you can also try the SVN version I just compiled (and uploaded to SVN):
> http://streambaby.googlecode.com/files/streambaby-svn-r118.zip
> 
> The above version doesn't use the javax.xml.transformerFactory, it uses the saxon version directly.


Hmm.
When I use the -D flag that you suggest, I got no improvement. When I download the R118 that you built, it works great as is. When I then use svn to check out the latest code (r119) it breaks the same way...

So was 118 working a random fluke? Or did you do something in the build that isn't in the svn tree?

* edit: * Looks like a random fluke. I tried it again, and poof error... Although I *am* curious. You said it wasn't using the transformfactory in javax, but the error makes it sound like it still is:



Code:


javax.xml.transform.TransformerFactoryConfigurationError: Provider net.sf.saxon.TransformerFactoryImpl not found
	at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:109)
	at com.unwiredappeal.tivo.metadata.BaseMetadataModule.getXsltTransformer(BaseMetadataModule.java:68)
	at com.unwiredappeal.tivo.metadata.BaseMetadataModule.transform(BaseMetadataModule.java:107)
	at com.unwiredappeal.tivo.metadata.StandardMetadataModule.handlePyTivo(StandardMetadataModule.java:79)
	at com.unwiredappeal.tivo.metadata.StandardMetadataModule.handleTxtMetadata(StandardMetadataModule.java:160)
	at com.unwiredappeal.tivo.metadata.StandardMetadataModule.setMetadata(StandardMetadataModule.java:249)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
	at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

And right now it seems to be very very random. GRRR  Gonna see if I can figure anything useful out.


----------



## moyekj

kagacins said:


> Without straying too much from the intent of this specific forum thread, I fear I may be getting in over my head trying to incorporate the fork into my existing pyTiVo setup. Is there some straightforward documentation on how someone could do this, or at least some jumping off point where I can appropriately get up to speed? I found wmcbrine's site, but not really sure where to start.


 I don't know your current setup but you can grab wmcbrine's latest zip file and then just unzip it at top level of your pyTivo installation folder and let it override existing files.
Personally I don't use pyTivo as a service - only run it when I want to use it - so I just unzip to a new folder, put pyTivo.conf in place and double click pyTivo.py to start in console mode. That way you can have multiple different installations in different places if you want to experiment.


----------



## kearygriffin

Yoav said:


> Hmm.
> When I use the -D flag that you suggest, I got no improvement. When I download the R118 that you built, it works great as is. When I then use svn to check out the latest code (r119) it breaks the same way...
> 
> So was 118 working a random fluke? Or did you do something in the build that isn't in the svn tree?
> 
> * edit: * Looks like a random fluke. I tried it again, and poof error... Although I *am* curious. You said it wasn't using the transformfactory in javax, but the error makes it sound like it still is:
> 
> 
> 
> Code:
> 
> 
> javax.xml.transform.TransformerFactoryConfigurationError: Provider net.sf.saxon.TransformerFactoryImpl not found
> at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:109)
> at com.unwiredappeal.tivo.metadata.BaseMetadataModule.getXsltTransformer(BaseMetadataModule.java:68)
> at com.unwiredappeal.tivo.metadata.BaseMetadataModule.transform(BaseMetadataModule.java:107)
> at com.unwiredappeal.tivo.metadata.StandardMetadataModule.handlePyTivo(StandardMetadataModule.java:79)
> at com.unwiredappeal.tivo.metadata.StandardMetadataModule.handleTxtMetadata(StandardMetadataModule.java:160)
> at com.unwiredappeal.tivo.metadata.StandardMetadataModule.setMetadata(StandardMetadataModule.java:249)
> at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
> at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
> at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
> at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
> at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
> 
> And right now it seems to be very very random. GRRR  Gonna see if I can figure anything useful out.


Line 68 referenced above in the SVN version is:


Code:


                TransformerFactory factory = net.sf.saxon.TransformerFactoryImpl.newInstance();

So it seems to me that it should be the saxon factory being called, not the factory in javax.xml.xxxxx. (But then again, I've never worked with the java XML api's before, so I'm really guessing as I go).

It's really quite confusing because you would think a problem like this would at a minimum be consistent, and it doesn't seem to be.

And just to note when this error should occur, when you select a movie with metadata and go to the "play" screen it always calls this code. It may not in the selection screen if the data is already cached, but it always regenerates for the playscreen. (But it does cache the transform per-run, so if the problem doesn't happen the first time you go to a playscreen that has metadata, my guess is it won't give any problems until you quit and restart)

One other thing to try might be to download the following saxon package:
http://www.saxonica.com/download/saxonsa9-1-0-5j.zip
put all of the included libs (there are a lot more than I included, it's possible I need more than I thought, especially with Java1.5) in the lib directory and rebuild with Ant. (A rebuild is needed so it includes the jar's in the streambaby.jar classpath)

I have to give up for the night, but I'll try again to reproduce it tomorrow night and play around some more. (It was really easy last night...)


----------



## conan76

kearygriffin said:


> This should be in there, although older versions did not have this and maybe you have older data cached? (When I say it should be in there it should display SERIESTITLE - EPISODETITLE in the selection screen)
> 
> Try removing cache/meta.cache and re-running streambaby, then press ENTER while on the selection screen to re-cache all of the entries for that directory.


Thanks Kearygriffin. Tried clearing the cache and re-running streambaby. The SERIESTITLE - EPISODETITLE does display at the top of the information page when you select a video, which is great, but it doesn't show in the list of all the videos in the folder that you select from. Is this possible? Thanks again.


----------



## Yoav

Ok not gonna quote the whole mess.. But:

I changed BaseMetaDataModule.java to use code that looked more like code I could find on the net for using saxon.. specifically using TransformerFactoryImpl instead of just TransformerFactory as the class that is instantiated.

Since I made that change, the bug has not popped up again. I tried a *LOT* of times, so I'm crossing my fingers and hoping that's a fix.. Going to try a few more odd uses, but if it keeps working, I'll be checking it in...


----------



## conan76

Okay, some more info on this issue. Turns out some of the series lists are working fine... but this one isn't for some reason. Compared XML and couldn't see any significant difference?!?

As an example, the following shows up in folder lists as "A Racing Car Is Born" rather than "A Racing Car Is Born - Episode 1". It shows correctly on the info page as "A Racing Car Is Born - Episode 1". Can someone else try this and check if there is something strange with my XML?

title : A Racing Car Is Born
seriesTitle : A Racing Car Is Born
episodeTitle : Episode 1
episodeNumber : 1
description : Building a Westfield sports car
isEpisode : true


----------



## kearygriffin

conan76 said:


> Okay, some more info on this issue. Turns out some of the series lists are working fine... but this one isn't for some reason. Compared XML and couldn't see any significant difference?!?
> 
> As an example, the following shows up in folder lists as "A Racing Car Is Born" rather than "A Racing Car Is Born - Episode 1". It shows correctly on the info page as "A Racing Car Is Born - Episode 1". Can someone else try this and check if there is something strange with my XML?
> 
> title : A Racing Car Is Born
> seriesTitle : A Racing Car Is Born
> episodeTitle : Episode 1
> episodeNumber : 1
> description : Building a Westfield sports car
> isEpisode : true


Thanks Conan, that helped. Just gave the metadata you supplied a try, and ended up with the same problem as you-- Incorrect title in the selection screen.

Looks like there is a bug in streambaby where (only for selection screen title purposes, there is no problem on the play screen) it ignores the last element in the metadata (so isEpisode in this case)

I'll upload a fixed version later today.


----------



## windracer

conan76 said:


> a) Can you make the 'right' button on the remote bring up the info on the shows during playback? This would make the behaviour the same as the standard tivo functionality. (as I said, really minor)


The Info button will do this.


----------



## cahoon

Yoav said:


> Ok not gonna quote the whole mess.. But:
> 
> I changed BaseMetaDataModule.java to use code that looked more like code I could find on the net for using saxon.. specifically using TransformerFactoryImpl instead of just TransformerFactory as the class that is instantiated.
> 
> Since I made that change, the bug has not popped up again. I tried a *LOT* of times, so I'm crossing my fingers and hoping that's a fix.. Going to try a few more odd uses, but if it keeps working, I'll be checking it in...


This is certainly an odd problem. If the saxon jar files are not on the classpath, then the JDK (1.5 and1.6) should default to using the internal version, which is Xalan. The way this is supposed to work is that the classloader looks for the first TransformerFactory implementation, and then use that. (This processed is changed slightly if the javax.xml.transform.TransformerFactory system property is set explicitly).

It's not clear to me how it's deciding on using net.sf.saxon. One thing to try is to add -Djaxp.debug=true to the command-line. Or -verbose:class to see which classes are loaded.

However, explicitly specifying the saxon library in the source, as you did, fixes the problem...


----------



## kearygriffin

cahoon said:


> It's not clear to me how it's deciding on using net.sf.saxon. One thing to try is to add -Djaxp.debug=true to the command-line. Or -verbose:class to see which classes are loaded.
> 
> However, explicitly specifying the saxon library in the source, as you did, fixes the problem...


I just took a quick look (because I wasn't sure how it was ever using the saxon libraries in the first place, I just know that XSLT 2.0 didn't work before I stuck in the saxon jar, and started (well, most of the time it seems) working afterwards.

But taking a look at the docs again, for TransformerFactory.newInstance():
* Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.transform.TransformerFactory in jars available to the runtime.

And saxon9.jar contains such a file in it's META-INF directory, so my guess is that is why it works at all.

And when the problem does arise, it seems it is looking for the saxon transformerfactoryImpl, but it can't seem to find it. Which is very strange, seeing as it wouldn't even be looking for it if it hadn't loaded the jar and saw the META-INF/services/javax..... file, and that jar contains the class it is looking for. (At least the preceding was true until we started playing around with instantiating the saxon classes manually)

As I am previewing this post I noticed "services api, if available...", which may be some kind of clue, but again, if it wasn't available then it shouldn't even try to launch saxon, and default to the xalan(?) implementations. (Which would throw a different error, complaining about some XSLT elements in the stylesheets that Xalan doesn't support. I wish I could remember exactly what I couldn't get to work with Xalan. It may have been tokenize, which I think Xalan has an extension implementation for, but for some reason I couldn't get working...)

So I guess I have a few choices
1) If Yoav's patches to force saxon work, go with that.
2) Try going back to the default XSLT processor (xalan?) and see what wasn't working, and try to fix it again. (or work around it)
3) Figure out the root of the problem.

#1 is probably the easiest if it works, and #2 has the added benefit of being able to remove a 5 megabyte lib from the distribution...


----------



## cahoon

kearygriffin said:


> And when the problem does arise, it seems it is looking for the saxon transformerfactoryImpl, but it can't seem to find it. Which is very strange, seeing as it wouldn't even be looking for it if it hadn't loaded the jar and saw the META-INF/services/javax..... file, and that jar contains the class it is looking for. (At least the preceding was true until we started playing around with instantiating the saxon classes manually)


Exactly. This is the part that I think is odd. The JVM/classloader is able to open saxon9.jar to find the META-INF/services information. But, for some reason, the error occurs when trying to instantiate the net.sf.saxon.TransformerFactory class



kearygriffin said:


> As I am previewing this post I noticed "services api, if available...", which may be some kind of clue, but again, if it wasn't available then it shouldn't even try to launch saxon, and default to the xalan(?) implementations. (Which would throw a different error, complaining about some XSLT elements in the stylesheets that Xalan doesn't support. I wish I could remember exactly what I couldn't get to work with Xalan. It may have been tokenize, which I think Xalan has an extension implementation for, but for some reason I couldn't get working...)


I see. Though, I am surprised it's all working since tokenize is an XPath 2.0 function, but the stylesheet specify 1.0. I guess Saxon isn't checking that? (In general, Saxon is a better XSLT processor, in my opinion. The Sun class library is distributed with Xalan and Xerces, which are Apache projects for XSLT and XML parsing).



kearygriffin said:


> So I guess I have a few choices
> 1) If Yoav's patches to force saxon work, go with that.
> 2) Try going back to the default XSLT processor (xalan?) and see what wasn't working, and try to fix it again. (or work around it)
> 3) Figure out the root of the problem.
> 
> #1 is probably the easiest if it works, and #2 has the added benefit of being able to remove a 5 megabyte lib from the distribution...


I agree - go with #1 if that continues to work. I'm sure there are more interesting things to work on.


----------



## conan76

Thanks Kearygriffin. I just did some more testing (before reading your post) and you're spot on. I see you've uploaded a fix already 

BTW, Is there anyway to control the colour of sidebars when the picture doesn't fill the whole screen? They're coming up in a bright grey rather than black, whereas if played through TiVo Desktop it is black. Is this an option available in the ini file?


----------



## kearygriffin

conan76 said:


> Thanks Kearygriffin. I just did some more testing (before reading your post) and you're spot on. I see you've uploaded a fix already
> 
> BTW, Is there anyway to control the colour of sidebars when the picture doesn't fill the whole screen? They're coming up in a bright grey rather than black, whereas if played through TiVo Desktop it is black. Is this an option available in the ini file?


Mine are black-- I'm pretty sure that's controlled by:
Message & Settings/Settings/Video/Letterbox Color
(It gives you two options, gray or black)


----------



## Sicklybutsexy

doesn't seem like streambaby can send over mp4 videos that are deinterlaced can it? From what I've tried it's only progressive that works?


----------



## conan76

You're quite right kearygriffin! It was just in the tivo settings... surprised I haven't seen this before. Thanks.


----------



## Yoav

Sicklybutsexy said:


> doesn't seem like streambaby can send over mp4 videos that are deinterlaced can it? From what I've tried it's only progressive that works?


de-interlaced just means you took an interlaced movie and turned it into a progressive movie. So I'm not sure what you're asking. Streambaby gladly accepts interlaced and progressive formats.

Is there a particular video that is failing to play for you?


----------



## Sicklybutsexy

Yoav said:


> de-interlaced just means you took an interlaced movie and turned it into a progressive movie. So I'm not sure what you're asking. Streambaby gladly accepts interlaced and progressive formats.
> 
> Is there a particular video that is failing to play for you?


sorry, meant interlaced not deinterlaced. I'm not sure, maybe its because the bitrate is too high, but if I convert it to progessive it seems to work.:

General
Complete name : H:\Home Movies\New Home Movies\20090222094827.track_4113-muxed.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 234 MiB
Duration : 3mn 59s
Overall bit rate : 8 199 Kbps
Encoded date : UTC 2009-02-27 04:44:47
Tagged date : UTC 2009-02-27 04:44:47

Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 3mn 59s
Bit rate mode : Variable
Bit rate : 7 974 Kbps
Maximum bit rate : 8 277 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate mode : Constant
Frame rate : 29.970 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.128
Stream size : 227 MiB (97%)
Encoded date : UTC 2009-02-27 04:44:47
Tagged date : UTC 2009-02-27 04:44:57

Audio
Format : AC-3
Format/Info : Audio Coding 3
Codec ID  : ac-3
Duration : 1mn 59s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 6.39 MiB (3%)
Encoded date : UTC 2009-02-27 04:44:54
Tagged date : UTC 2009-02-27 04:44:57


----------



## moyekj

Interlaced mp4 is highly unusual - how are you creating those? Stick with progressive.


----------



## Sicklybutsexy

moyekj said:


> Interlaced mp4 is highly unusual - how are you creating those? Stick with progressive.


It's from a sony handicam that downloads to the computer as .m2ts. I then demux the video and remux as an mp4. Much quicker then converting but I guess I have to convert it to work? I'm not even sure, do you think its interlace that is the problem?


----------



## wmcbrine

I doubt it. How are you muxing?


----------



## Sicklybutsexy

wmcbrine said:


> I doubt it. How are you muxing?


I use tsmuxer gui to get the .h264 and ac3 file and then I remux into an mp4 using megui's mp4 muxer.


----------



## kearygriffin

Sicklybutsexy said:


> doesn't seem like streambaby can send over mp4 videos that are deinterlaced can it? From what I've tried it's only progressive that works?


I don't know a lot about this kind of subject (I was surprised just a couple of days ago to find out 60hz is a normal FPS for some HD content), but if you could post exactly what seems to happen it may help. (i.e. at exactly what point do you get a failure)

It may help if you edit simplelog.properties and change the first line to read:
com.unwiredappeal=Verbose

and see if there are any error messages in streambaby.log

Again, I have no idea whether or not interlaced MP4 should or should not work, as I have never tried it.


----------



## Sicklybutsexy

kearygriffin said:


> I don't know a lot about this kind of subject (I was surprised just a couple of days ago to find out 60hz is a normal FPS for some HD content), but if you could post exactly what seems to happen it may help. (i.e. at exactly what point do you get a failure)
> 
> It may help if you edit simplelog.properties and change the first line to read:
> com.unwiredappeal=Verbose
> 
> and see if there are any error messages in streambaby.log
> 
> Again, I have no idea whether or not interlaced MP4 should or should not work, as I have never tried it.


What happens is it sends it over but the audio is out of sync and the picture is moving in what seems to be slow motion. So the audio may be going at the correct rate while the picture is in slow motion. Will try like suggested above. thanks.


----------



## Yoav

Sicklybutsexy said:


> What happens is it sends it over but the audio is out of sync and the picture is moving in what seems to be slow motion. So the audio may be going at the correct rate while the picture is in slow motion. Will try like suggested above. thanks.


If none of that works, AND don't feel like re-encoding the movies, try selecting a quality other than 'same' and see what happens. It's certainly possible that the tivo's mp4 abilities are limited in some yet-unknown-ways and your file is tickling it. I'd like to know if ffmpeg correctly converts it (which is what changing the quality will do).


----------



## kearygriffin

Sicklybutsexy said:


> What happens is it sends it over but the audio is out of sync and the picture is moving in what seems to be slow motion. So the audio may be going at the correct rate while the picture is in slow motion. Will try like suggested above. thanks.


I'm jumping in way over my head here, but does anyone know if interlaced MP4's should have the frame rate set at 29.97 (as the info above shows) or 59.94? Google shows some discussions that say maybe it should be 59.94 (so I guess it would be a field rate, not frame rate in that case)

It would make sense if what you are seeing is slow-mo (half rate)


----------



## moyekj

I couldn't find interlaced h.264 clips anywhere via Google. It may be helpful Sicklybutsexy if you could possibly upload a small clip somewhere for further examination.


----------



## Yoav

svn update yields:

svn: Failed to add directory 'main/src/mp4/util/.svn': object of the same name already exists

(I'm assuming that's from a mistaken addition of an .svn directory to the repository?)


----------



## moyekj

Yoav said:


> svn update yields:
> 
> svn: Failed to add directory 'main/src/mp4/util/.svn': object of the same name already exists
> 
> (I'm assuming that's from a mistaken addition of an .svn directory to the repository?)


 I'm seeing the same error.


----------



## Yoav

moyekj said:


> I'm seeing the same error.


If what I think just happened happened, I believe the only way out of it is by doing an entire dump/restore of the database, and I'm not sure if googlesource supports it. (I think .svn/something was added and committed, then deleted and committed). I'm not an svn guru though, so I could be wrong. Either way, until it's fixed you can always do something like

svn update -r 125

Which will get you working sources but without the changes that led to this mess...


----------



## kearygriffin

Yoav said:


> If what I think just happened happened, I believe the only way out of it is by doing an entire dump/restore of the database, and I'm not sure if googlesource supports it. (I think .svn/something was added and committed, then deleted and committed). I'm not an svn guru though, so I could be wrong. Either way, until it's fixed you can always do something like
> 
> svn update -r 125
> 
> Which will get you working sources but without the changes that led to this mess...


Ugh. I was so hoping this wouldn't cause problems. I didn't notice I had accidently added a .svn directory until I commited, and was hoping the delete and re-commit would fix it.


----------



## Yoav

kearygriffin said:


> Ugh. I was so hoping this wouldn't cause problems. I didn't notice I had accidently added a .svn directory until I commited, and was hoping the delete and re-commit would fix it.


Ok I did a forced svn rm on the repository, and I *think* it's fixed now.. can anyone else verify?


----------



## kearygriffin

Yoav said:


> Ok I did a forced svn rm on the repository, and I *think* it's fixed now.. can anyone else verify?


Was able to do a full svn checkout to a new directory with no problems, and also had no problems rebase'ing my local git-repository. (Since I had been using git locally and hadn't noticed the problem before, not sure if this confirms it is fixed or not)

Thanks, I would have had no idea how to fix it


----------



## moyekj

Yup, all's good now.


----------



## Clusty

Can somebody compile the latest revision and upload it?


----------



## Yoav

Heyas keary. I'm not sure if there's a missing jar in lib, or if there's some sort of classpath/source path that is needed.. (or something else). When I use 'ant' on the latest source, I get


Code:


build-project:
     [echo] main: /Users/yoav/src/streambaby/main/build.xml
    [javac] Compiling 167 source files to /Users/yoav/src/streambaby/main/bin
    [javac] /Users/yoav/src/streambaby/main/src/mp4/util/atom/MoovAtom.java:12: cannot find symbol
    [javac] symbol  : class MP4Log
    [javac] location: package mp4.util
    [javac] import mp4.util.MP4Log;
    [javac]                 ^
    [javac] /Users/yoav/src/streambaby/main/src/mp4/util/atom/StblAtom.java:9: cannot find symbol
    [javac] symbol  : class MP4Log
    [javac] location: package mp4.util
    [javac] import mp4.util.MP4Log;
    [javac]                 ^
    [javac] /Users/yoav/src/streambaby/main/src/mp4/util/atom/TrakAtom.java:9: cannot find symbol
    [javac] symbol  : class MP4Log
    [javac] location: package mp4.util
    [javac] import mp4.util.MP4Log;

....


----------



## kearygriffin

Yoav said:


> Heyas keary. I'm not sure if there's a missing jar in lib, or if there's some sort of classpath/source path that is needed..


Should be fixed. Just forgot to put a new file under SVN control.

Just as a side note, there probably will be a lot SVN activity for the next little bit without a lot to show for it-- I'm working on integrating/trying out Cahoon's MP4 splitting/streaming code vs the original streambaby MP4 splitting/streaming code, but it's not activated by default yet. (And in fact doesn't work yet, so activating it wouldn't be a good idea ;-)


----------



## Yoav

kearygriffin said:


> Should be fixed. Just forgot to put a new file under SVN control.
> 
> Just as a side note, there probably will be a lot SVN activity for the next little bit without a lot to show for it-- I'm working on integrating/trying out Cahoon's MP4 splitting/streaming code vs the original streambaby MP4 splitting/streaming code, but it's not activated by default yet. (And in fact doesn't work yet, so activating it wouldn't be a good idea ;-)


Ok thanks for the heads up (I've been generally updating and releasing beta builds almost daily, since pytivo, streambaby, and ffmpeg are all getting a bunch of changes checked in.. I don't even know what most of the changes do -- yay betas).

Having said that, I *would* like to release a 'next release' of pyTivoX so that people who aren't using the beta can have access to many of the new features. Not yet.. but hoping to do it fairly soon.


----------



## bakerja

installed the latest this weekend and now with the addition of "quality", mp4 files that previously would only show sound with a black screen can now be seen by bumping the quality to anything but "same". Yahooo..


----------



## moyekj

bakerja said:


> installed the latest this weekend and now with the addition of "quality", mp4 files that previously would only show sound with a black screen can now be seen by bumping the quality to anything but "same". Yahooo..


 FYI, just in case you didn't realize it, quality other than "same" means recording is being transcoded to mpeg2 on the fly and then sent to your Tivo.


----------



## kearygriffin

bakerja said:


> installed the latest this weekend and now with the addition of "quality", mp4 files that previously would only show sound with a black screen can now be seen by bumping the quality to anything but "same". Yahooo..


Do you still have some MP4 files that play with sound but no video (black screen) at quality "same" in version 0.25? Version 0.25 should be better at determining which MP4's will be compatible and automatically transcode to mpeg2 even without changing the quality, but if it is still happening there must be some cases I missed. (0.25 should check that the video is high profile 4.1 or less, and if it is not transcode it)


----------



## bakerja

kearygriffin said:


> Do you still have some MP4 files that play with sound but no video (black screen) at quality "same" in version 0.25?


I do. They are 1.5 gb files though. I'll create a small one tonight and get it to you.

JAB


----------



## kearygriffin

I just compiled a new version from SVN of streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r137.zip

This version has the MP4 seeking/streaming code completely replaced. It now uses a version based on Cahoon's mp4splitter. This version is pure Java (as opposed to the original which was ported from C) and hopefully will not only work a bit better, but be a lot more maintainable.

Having said that the old version has undergone a lot more testing, and there are bound to be problems with the new implementation.

I'm hoping this fixes some issues people were having with some MP4's file not playing correctly. (westside_guy in particular had quite a few, so let me know how this does with your various problematic videos). For people who sporadically had video artifacts at the start of an MP4, I'd be curious to see if this fixes that issue also. (I had good luck with this)

For everyone else who wasn't having problems, a good sign would be that they don't notice anything different at all in this version  If not please let me know...

To turn revert to the old MP4 seeking/splitting code you can set:
java.mp4split=false

Cahoon's MP4 parsing code has also replaced the old MP4 meta-data parsing library, which has been removed, so anyone having problems in this area (MP4 metadata only, no changes to pyTivo metadata), please speak up. (the above config command does not revert to the old metadata code, it has been completely removed)


----------



## drye

@kearygriffin

Hello, I am a new MAC user. So far so good, I installed FFMPEG and set the path in the .ini file, but it still can not load it.

I also had to set the IP for my TIVO in the .ini file.

On a separate note, would it be a feasible to create an extension that would stream video content from an RSS feed for example a show from HULU has an RSS feed: "hulu.com/feed/show/105/episodes"

Maybe there is already something like this? Seems it should be possible.

Anyway, nice work!


----------



## wmcbrine

drye said:


> Hello, I am a new MAC user. So far so good, I installed FFMPEG and set the path in the .ini file, but it still can not load it.


You should probably just use pyTivoX, which includes Streambaby.



> _Maybe there is already something like this [to stream from RSS]? Seems it should be possible._


Yes, there is already something like this. But you can forget about Hulu.


----------



## westside_guy

kearygriffin said:


> I'm hoping this fixes some issues people were having with some MP4's file not playing correctly. (westside_guy in particular had quite a few, so let me know how this does with your various problematic videos). For people who sporadically had video artifacts at the start of an MP4, I'd be curious to see if this fixes that issue also. (I had good luck with this)


Okay, it appears the problem MP4s all play now, and I'm not seeing any A/V synch issues. As far as I can tell, all the issues I'd previously reported are no longer happening - great!

I did notice on a couple videos that I'd see a couple quick bursts where it seemed like the video was being fast-forwarded for a really short duration, like .1 or .2 second (just long enough for me to say "did I see that?"). That looks like a new issue. But overall everything is working much better for me now. Thanks!


----------



## bakerja

still having problems with my mp4's. New error now though. error 0xffff when attempting to play in "same" quality. reduce quality and it plays. Here's the link to download a test mp4 that will cause the errors.

http://www.mediafire.com/file/ijzem3wooew/urang-inv_480p.mp4

Thanks,
JAB


----------



## moyekj

bakerja said:


> still having problems with my mp4's. New error now though. error 0xffff when attempting to play in "same" quality. reduce quality and it plays. Here's the link to download a test mp4 that will cause the errors.
> 
> http://www.mediafire.com/file/ijzem3wooew/urang-inv_480p.mp4
> 
> Thanks,
> JAB


 This is probably why. ffmpeg -i reports:


> Seems stream 1 codec frame rate differs from container frame rate: 29970.00 (29970/1) -> 29.97 (30000/1001)


----------



## Yoav

moyekj said:


> This is probably why. ffmpeg -i reports:


I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.


----------



## moyekj

Yoav said:


> I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.


 Well, a native pyTivo push of that clip also fails. tivostream will actually pass it through (doesn't give an error) but when trying to play it there is no video or audio - it's Tivo decoder that doesn't like it.


----------



## wmcbrine

Yoav said:


> I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.


No, my fix was for a different issue. That warning indicates nothing that's a problem for pyTivo, AFAIK. I don't know if it's a problem for Streambaby, but I'd be surprised.


----------



## kearygriffin

I can't really figure out why, but TiVo really doesn't seem to like that MP4 file. I demuxed the audio/video and then remuxed it with MP4Box and tried again. This get's rid of the ffmpeg warning but TiVo still won't play it (no video/partial audio).

In general that ffmpeg warning about the FPS of the container is usually OK, as it is the FPS in the video stream itself that is important.


----------



## moyekj

Keary, the program information page in streambaby currently does not display the following metadata information that Tivo program information display (the short one) does on the bottom right of the Program page (the actual metadata key names I put in bold):
* *time* (date/time of recording) *displayMajorNumber* (channel #) and *callsign* (channel name)
* Original Air Date: *originalAirDate* (Yes I know this isn't shown in short page on Tivo but I find it useful)
* Duration: *duration*
* Episode: *episodeNumber*

Most of my metadata files are generated from kmttg and have all the above information.
Obviously there will be cases where the information is missing in the metadata so some of these are displayed only if available.
Is that something you can add to the page?
Thanks.


----------



## bakerja

The file was generated from Sorenson Squeeze v4.5. I'm going to experiment tonight with different codecs to see if I can encode one that will work.


----------



## kearygriffin

moyekj said:


> Keary, the program information page in streambaby currently does not display the following metadata information that Tivo program information display (the short one) does on the bottom right of the Program page (the actual metadata key names I put in bold):
> * *time* (date/time of recording) *displayMajorNumber* (channel #) and *callsign* (channel name)
> * Original Air Date: *originalAirDate* (Yes I know this isn't shown in short page on Tivo but I find it useful)
> * Duration: *duration*
> * Episode: *episodeNumber*


I can give it a shot, all of the above fields should be available for the XSLT stylesheet to process but I have two major problems:
1) It's painful/slow for me to work with XSLT
2) It's painful/slow for me to work with HTML
Things that should take 2 minutes take me all day.

(Don't ask why I then decided to make all of the metadata stuff XSLT/HTML. It just seemed like the right way to do it, regardless of my personal comfort level).

I started a little bit by trying to clean up some of the existing XSLT in preperation to add the feature, but immediately run across the kind of stumbling block that always seems to get me in XSLT. If someone could tell me what I am doing wrong in the following snippet, I'd appreciate it (I am testing it with xsltproc)


Code:


   <xsl:if test="count('pytivo/vActor') != 0">
    <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
   </xsl:if>

There error I get is:
XPath error : Invalid type
xmlXPathCompiledEval: 1 objects left on the stack.

It works fine if i change it to test="1 != 0" (I am using does not equals instead of greater than just to make sure it is not the way I am writing the greater than sign) The apply-templates portion has been in the XSLT for a while and has worked fine, so I am assuming it is the count() that is the problem.

While I'm on the subject, I wanted to thank Yoav for a little XSLT snippet I found searching the web today, pytivo_txt.xsl. It converts a .TiVo style xml file to pyTivo format, and is far more complete than the XSLT I wrote to do the same thing. (I only parsed certain values). I've replaced my version with his. Thanks.


----------



## pmd

kearygriffin said:


> If someone could tell me what I am doing wrong in the following snippet, I'd appreciate it (I am testing it with xsltproc)
> 
> 
> Code:
> 
> 
> <xsl:if test="count('pytivo/vActor') != 0">
> <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
> </xsl:if>
> 
> There error I get is:
> XPath error : Invalid type
> xmlXPathCompiledEval: 1 objects left on the stack.


Are you sure you need the single quotes around the XPath value that's the argument to count()? From looking at some XSLT that I did a couple of years ago I would have used:


Code:


<xsl:if test="count(pytivo/vActor) != 0">
    <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
   </xsl:if>

I think you can leave out the !=0 part as well and the test will still pass. Your way might be clearer to some people though I guess.


----------



## moyekj

Haven't looked at the code, but so the current flow is pyTivo .txt -> xml -> xslt processing -> html -> HME processing? Didn't realize this was a tough request, so sorry about that.


----------



## kearygriffin

pmd said:


> Are you sure you need the single quotes around the XPath value that's the argument to count()?
> ...
> I think you can leave out the !=0 part as well and the test will still pass. Your way might be clearer to some people though I guess.


Thanks! that did the trick. I'd tell you how long I spent trying to get this to work, but I'm too embarased. (Not to mention this isn't the first time I've tried to do something like this with count, I just gave up before...)


----------



## kearygriffin

moyekj said:


> Haven't looked at the code, but so the current flow is pyTivo .txt -> xml -> xslt processing -> html ? Didn't realize this was a tough request, so sorry about that.


No problem, it really shouldn't be a tough request. For someone who knew what they were doing it really is a 5 minute job. For whatever reason I just struggle when doing html work.

And yes, the way it works is pyTivo -> xml -> xslt -> html. This was done to make this kind of thing easier ;-)

The format of the XML that is passed to the XSLT sheet looks like this
<pytivo>
xxxx
<description>xxxx</description>
...
</pytivo>

The metadata processor is capable of handling any XML file. So if it finds an XML file:
filename.mp4.xml
It looks at the root entry (so pytivo in the above) example and looks for a streambaby.ini entry:
xsl.($root)=transform1.xsl,transform2.xsl,etc...
And runs those transformations on it. The transform end result should by either HTML or plain text, and that is displayed as the metadata.

If there is no streambaby.ini entry, it also looks for:
($root).xsl in the stylesheets directory.

pyTivo is special-cased to transform the txt into XML before calling the transform code.

The way .TiVo metadata works is there a default entry in the configuration:
xsl.tvbusenvelope=tivo-pytivo.xml,pytivo-html.xsl
Which says to transform all XML with a root entry tvbusenvelope (tivo format) first into pyTivo xml format (which is what tivo-pytivo.xsl does), and then into HTML using the pytivo-html transform (this way changes to pytivo-html affect both pyTivo and tivo XML data)

And also .txt files that are not pyTivo files by default look for "txt.xsl" to transform them. This doesn't currently exist, so .txt files are just rendered-as is, but someone could write a transform to do things like take the first line, make it a title, etc...

Sorry if the above is confusing, I always meant to write a wiki entry but never did.

Edit: And Yoav added functionality so the base stylesheet for any generated code is in meta-720.css or meta-480.css depending on resolution.


----------



## pmd

kearygriffin said:


> Thanks! that did the trick. I'd tell you how long I spent trying to get this to work, but I'm too embarased.


Don't worry about it. XSL is one of those things that I think is really cool and useful, but I just can't keep the information in my head about how to do it - there's always a few days spent ramping up to speed again. I see something that *should* take 10 minutes to do in XSL, and spend the entire day working on it!


----------



## pmd

I have a couple of files that don't work as well in svn137. The first causes a Java exception when it's parsed or streamed. The second causes ffmpeg to crash (I've not looked into that one much yet - it's a .mov file). The first file's streambaby log is:


Code:


Sat 2009/03/07 11:46:23.240|   |master|HostContext|key=mpos:file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Sat 2009/03/07 11:46:23.240|   |master|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Sat 2009/03/07 11:46:23.240|   |master|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
Sat 2009/03/07 11:46:23.240|   |master|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Sat 2009/03/07 11:46:23.243|   |master|MP4StreamFactory$2|UnknownAtom: mp4.util.atom.DatAtom
Sat 2009/03/07 11:46:23.243|   |master|MP4StreamFactory$2|UnknownAtom: mp4.util.atom.???Atom
mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:220)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:33)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:111)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:124)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:90)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:37)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:146)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStream(VideoModuleHelper.java:143)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.setupList(PlayScreen.java:511)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:139)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

ffmpeg -i output:


Code:


Seems stream 0 codec frame rate differs from container frame rate: 96000.00 (96000/1) -> 24000.00 (24000/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Store/Video/Movies/Puppy (2005).m4v':
  Duration: 01:32:08.40, start: 0.-40021, bitrate: 1295 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 720x448, PAR 529:360 DAR 529:224, 24k tbr, 48k tbn, 96k tbc
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16
    Stream #0.2(eng): Audio: ac3, 48000 Hz, stereo, s16
    Stream #0.3(eng): Subtitle: text / 0x74786574

It was encoded with an svn build of Handbrake a few months ago. Possibly just a bad encode, or maybe I was experimenting with encoding and muxing settings. Maybe it's using Handbrake's 64-bit file size support?


----------



## moyekj

Gotcha. That's pretty powerful the way you set it up which makes it flexible to apply different style sheets by simply changing xsl template. Please don't spend a lot of time on this. I can try spending some time on it if you would rather be working on something else.


----------



## moyekj

> mp4.util.atom.AtomError: Unable to handle data size larger than int


Sounds like trying to set int variable greater than maximum int size
int in Java is a signed integer => max value = 2^31-1


----------



## Rdian06

moyekj said:


> Sounds like trying to set int variable greater than maximum int size
> int in Java is a signed integer => max value = 2^31-1


I'd guess you turned on 64 bit file size support in Handbrake and the code can't handle it.

Maybe try using MP4creator to demux the video and audio into individual files and then use it again to remux it back into a new mp4 without specifying the -use64bits option.


----------



## kearygriffin

pmd said:


> I have a couple of files that don't work as well in svn137. The first causes a Java exception when it's parsed or streamed. The second causes ffmpeg to crash (I've not looked into that one much yet - it's a .mov file).
> ...
> ...Maybe it's using Handbrake's 64-bit file size support?


I'm not sure that this is a 64bit mp4 format problem (although it could be, as I haven't tested one so am not 100% sure what to expect).

The exception above is caused by actually trying to read into memory an MP4 atom that streambaby thinks is huge. This should never happen in any case. My guess is that it trying to parse garbage data (not necessarily because the file is bad, but because streambaby is somehow out-of-sync with the header data)

Do you have the utility mp4dump or MP4Box? If so, if you could post the ouput of:
mp4dump xxx.mp4
or
MP4Box -info xxx.mp4

It may help.


----------



## jannlinder

moyekj said:


> Interlaced mp4 is highly unusual - how are you creating those? Stick with progressive.


This is not valid to suggest. Changing format when it reduces quality is bad to suggest.

For instance: Some older DVDs have interlaced tv shows (like Golden Girls and many other 4x3 tv shows) on them. Converting to progressive cuts your resolution in half as well as softens the picture. I have a BUNCH of interlaced mp4s and I do not intend to change them. Many other people (who prefer the higher quality over the progressive -- which in many cases is "fake progressive" (or deinterlaced) ) feel the same way.


----------



## pmd

kearygriffin said:


> The exception above is caused by actually trying to read into memory an MP4 atom that streambaby thinks is huge. This should never happen in any case. My guess is that it trying to parse garbage data (not necessarily because the file is bad, but because streambaby is somehow out-of-sync with the header data)


MP4Box output:


Code:


MP4Box -info /Volumes/Store/Video/Movies/Puppy\ \(2005\).m4v 
* Movie Info *
	Timescale 48000 - Duration 01:32:08.362
	Fragmented File no - 4 track(s)
	File Brand mp42 - version 0
	Created: GMT Mon Oct 27 01:38:14 2008

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: ISO Reserved Profile (0x7f)
Audio PL: High Quality Audio Profile @ Level 2 (0x0f)
No streams included in root OD

iTunes Info:
	Encoder Software: HandBrake svn1456 2008051101

Track # 1 Info - TrackID 1 - TimeScale 48000 - Duration 01:32:08.328
Media Info: Language "Undetermined" - Type "vide:avc1" - 138209 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 720 x 448 - Profile Main @ Level 3
NAL Unit length bits: 32
Pixel Aspect Ratio 529:360 - Indicated track size 1058 x 448
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 01:32:08.362
Media Info: Language "English" - Type "soun:mp4a" - 259142 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
Alternate Group ID 1

Track # 3 Info - TrackID 3 - TimeScale 48000 - Duration 01:32:08.352
Track is disabled
Media Info: Language "English" - Type "soun:ac-3" - 172761 samples
	AC3 stream - Sample Rate 48000 - 2 channel(s) 16 bits per samples
Alternate Group ID 1

Track # 4 Info - TrackID 4 - TimeScale 48000 - Duration 01:32:08.328
Track is disabled
Media Info: Language "Undetermined" - Type "text:text" - 13 samples
3GPP/MPEG-4 Timed Text - Size 0 x 0 - Translation X=0 Y=0 - Layer 0


----------



## kearygriffin

Thanks PMD, nothing looks out of the ordinary from that output, so this looks like it is going to to be hard to track down.

I just uploaded a new SVN build:
http://streambaby.googlecode.com/files/streambaby-svn-r142.zip

This version spits out a lot more debugging information while parsing MP4's. If you have a chance to download that version and try it with the problematic file, and post/send the log output that may (or may not...) help. If you do try it, make sure you edit simplelog.properties and set the first line to
com.unwiredappeal=Verbose
(It actually looks like you already have this from your previous log output...)

The portion of the log i would be interested in would be the part that says something like:

Reading atom at offset 0
AtomClass: xxxx
Reading atom at offset yyyy
..
..

Up until the exception.

Sorry to ask for you to jump through these hoops to try and debug this, but without having the problematic video file myself, it's tough to track dwn these types of issues.


----------



## pmd

kearygriffin said:


> The portion of the log i would be interested in would be the part that says something like:
> 
> Reading atom at offset 0
> AtomClass: xxxx
> Reading atom at offset yyyy
> ..





Code:


03/09/09 12:03:58 SelectionScreen: action=right
03/09/09 12:03:58 SelectionScreen: name=Puppy (2005), level:2
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 0
03/09/09 12:03:58 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 24
03/09/09 12:03:58 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:1)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 25
03/09/09 12:03:58 MP4StreamFactory$2: UnknownAtom(100,97,116,0): mp4.util.atom.DatX0Atom (size:365)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 390
03/09/09 12:03:58 MP4StreamFactory$2: UnknownAtom(181,161,153,23): mp4.util.atom.?X161?X23Atom (size:3351972392)
03/09/09 12:03:58 MP4MetadataModule: Error parsing mp4 information
03/09/09 12:03:58 MP4MetadataModule: mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:232)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:115)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:128)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.parseIsoBoxes(MP4MetadataModule.java:166)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.setMetadata(MP4MetadataModule.java:251)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
	at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

03/09/09 12:03:58 VideoModuleHelper: GetVidInfo: file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v
03/09/09 12:04:02 FFmpegJavaVideoModule: vidDur:5528402
03/09/09 12:04:02 FFmpegJavaVideoModule: VideoInfo:
uri: file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v, Container: mp4, Duration: 5528.402 seconds
Video: h264 720x448 24000.0 fps
  PixAspect: 1.4694444, Aspect: 2.361607
Audio: aac 48000HZ 2 channels
03/09/09 12:04:02 HostContext: key=mpos:file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/09/09 12:04:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/09/09 12:04:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/09/09 12:04:02 HostContext: compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 0
03/09/09 12:04:02 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 24
03/09/09 12:04:02 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:1)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 25
03/09/09 12:04:02 MP4StreamFactory$2: UnknownAtom(100,97,116,0): mp4.util.atom.DatX0Atom (size:365)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 390
03/09/09 12:04:02 MP4StreamFactory$2: UnknownAtom(181,161,153,23): mp4.util.atom.?X161?X23Atom (size:3351972392)
mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:232)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:115)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:128)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:90)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:37)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:151)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStream(VideoModuleHelper.java:143)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.setupList(PlayScreen.java:511)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:139)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

I'm going out for the day now, so I won't be able to follow up for a while.


----------



## fred2

Does or maybe, can, Streambaby do FLV (you-tube) files? It did not show files with that extension in my directory.


----------



## kearygriffin

pmd said:


> I'm going out for the day now, so I won't be able to follow up for a while.


Thanks PMD, that log does the trick-- The problem is definitely one of a 64-bit MP4 file, which ends up causing streambaby to get out-of-sync with the header data and start reading garbage data. (In the log the mdat atom is showing a size of 1 which is kind of a special flag in MP4 files that means the size is 64-bit and needs to be read from a different spot. Streambaby doesn't currently handle this, so it thinks the size really is 1 byte and ends up out-of-sync)

I'll have to see how hard it is to support 64-bt MP4 files-- At a minimum I'll try to add some code to recognize them and force a transcoding.


----------



## kearygriffin

Ok-- I've compiled the latest SVN:
http://streambaby.googlecode.com/files/streambaby-svn-r148.zip

Which should have basic support for 64bit MP4's. It understands the 64 bit size for the mdat atom, and supports the Co64 atom for 64-bit offsets. It then converts the mp4 to a regular 32-bit Mp4 and sends it off the TiVo. (TiVo only supports 32 bit MP4's)

This should be fine for MP4's that really are < 4G, but have 64-bit internals.

For MP4's > 4G there are probably still going to be problems, but I don't currently have any test files that are this big to try it out. There is a slight chance they may just "work", as the "chunks" that are wrong (have incorrect offsets because they are past the 4G mark) will be by definition be past TiVo's 1.1G buffer limit.


----------



## kearygriffin

fred2 said:


> Does or maybe, can, Streambaby do FLV (you-tube) files? It did not show files with that extension in my directory.


I'll add flv to the list of extensions in the next version (I actually thought I had done this before)-- It should work, depending on how well ffmpeg can transcode FLV files. I've never really worked with them.

Until the next version comes out you can add this to streambaby.ini:
extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv


----------



## pmd

kearygriffin said:


> Ok-- I've compiled the latest SVN:
> http://streambaby.googlecode.com/files/streambaby-svn-r148.zip
> 
> Which should have basic support for 64bit MP4's..


Thanks. That's fixed the problem I was having with the Puppy m4v file. I could see from the log that it was getting lost stepping through the atoms, but didn't know that the mdat atom having a size of 1 (1 32-bit int I guess?) meant something special.

Now that's working...

The other file I mentioned having a problem with still isn't working. It's a .mov - again encoded with Handbrake a while ago.


Code:


03/09/09 22:06:17 VideoModuleHelper: GetVidInfo: file:/Volumes/Store/Video/Movies/Little%20Miss%20Sunshine%20(2006).mov
03/09/09 22:06:19 FFmpegJavaVideoModule: vidDur:5903160
03/09/09 22:06:19 FFmpegJavaVideoModule: VideoInfo:
uri: file:/Volumes/Store/Video/Movies/Little%20Miss%20Sunshine%20(2006).mov, Container: mp4, Duration: 5903.16 seconds
Video: h264 718x424 25.0 fps
  PixAspect: 1.4220123, Aspect: 2.4080303
Audio: aac 44100HZ 2 channels
03/09/09 22:06:19 MP4StreamFactory$2: Reading atom at offset: 0
03/09/09 22:06:19 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:32)
03/09/09 22:06:19 MP4StreamFactory$2: Reading atom at offset: 32
03/09/09 22:06:19 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:2431082)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 2431114
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:16)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 2431130
03/09/09 22:06:20 MP4StreamFactory$2: UnknownAtom(119,105,100,101): mp4.util.atom.WideAtom (size:8)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 2431138
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:980593490)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 983024628
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:2432605)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 985457233
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 985457341
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:973764)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 986431105
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 986431197
03/09/09 22:06:20 MP4StreamFactory$2: UnknownAtom(108,111,97,100): mp4.util.atom.LoadAtom (size:24)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 986431221
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 986431257
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 986431285
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:973592)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 987404877
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 987404909
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 987404967
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:973494)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 988378461
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 988378481
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 988378538
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 988378574
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 988378602
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:973373)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 989351975
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:157)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 989352132
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:141)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 989352273
03/09/09 22:06:20 MP4StreamFactory$2: AtomClass: class mp4.util.atom.AvcCAtom (size:51)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 989352324
03/09/09 22:06:20 MP4StreamFactory$2: UnknownAtom(0,0,0,24): mp4.util.atom.X0X0X0X24Atom (size:0)
03/09/09 22:06:20 MP4StreamFactory$2: Reading atom at offset: 989352324
03/09/09 22:06:20 MP4StreamFactory$2: UnknownAtom(0,0,0,0): mp4.util.atom.X0X0X0X0Atom (size:1937011827)
03/09/09 22:06:20 Listener: 
03/09/09 22:06:20 Listener: connection to receiver closed
03/09/09 22:06:20 Listener: 
03/09/09 22:06:20 Factory: HME receiver disconnected
03/09/09 22:06:20 Listener: 
03/09/09 22:06:20 Listener: Unexpected error: java.lang.OutOfMemoryError: Java heap space
03/09/09 22:06:20 Listener: java.lang.OutOfMemoryError: Java heap space
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:40)
	at mp4.util.atom.Atom.readData(Atom.java:258)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:141)
	at mp4.util.atom.Avc1Atom.accept(Avc1Atom.java:33)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:105)
	at mp4.util.atom.StsdAtom.accept(StsdAtom.java:91)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:93)
	at mp4.util.atom.StblAtom.accept(StblAtom.java:169)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)

Looks like it read an invalid chunk size and failed to allocate a huge chunk of memory.

Let me know what else you need. Thanks!


----------



## kearygriffin

pmd said:


> Now that's working...
> 
> The other file I mentioned having a problem with still isn't working. It's a .mov - again encoded with Handbrake a while ago.
> ...
> Looks like it read an invalid chunk size and failed to allocate a huge chunk of memory.


Yup-- It looks like that file has an avc1 chunk that is slightly different than I expect to receive. (Either that or it is corrupt)

I've made some changes to the way I handle the avc1 atom (This version only reads the parts I really need instead of trying to parse the entire atom), and posted up a new version:
http://streambaby.googlecode.com/files/streambaby-svn-r149.zip

Let me know how that works for you.


----------



## fred2

kearygriffin said:


> I'll add flv to the list of extensions in the next version (I actually thought I had done this before)-- It should work, depending on how well ffmpeg can transcode FLV files. I've never really worked with them.
> 
> Until the next version comes out you can add this to streambaby.ini:
> extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv


THANKS - it worked.


----------



## fishtank22

Hey Gang. I just stumbled upon pytivoX and am PSYCHED! I installed the latest version and also installed ffmpegs lastest version.

I have a TivoHD with the lastest software and a PPC G4 2.5DP with 5GB Ram running 10.5.6

When I try to view any videos besides MPG videos from my computer using StreamBABY, I says its failed to load stream. Any ideas why? Any help is appreciated.

Thanks

Fish


----------



## ajayabb

sounds like you are missing ffmpeg or it is failing to launch


----------



## ITGuy72

What a great little app! In case anyone is wondering, it works fine in Windows 7 beta. Streaming is also very good using pluglink powerline ethernet adapters. So far only tested MPG and AVI. I'm also pleased to see it can play individual VOB files! Thanks


----------



## moyekj

ITGuy72 said:


> What a great little app! In case anyone is wondering, it works fine in Windows 7 beta. Streaming is also very good using pluglink powerline ethernet adapters. So far only tested MPG and AVI. I'm also pleased to see it can play individual VOB files! Thanks


 In case you didn't know, you can play a group of files (like a group of VOB files). Consult this  wiki page  for a summary of all remote button functions.


----------



## ITGuy72

Liking it more by the minute. Thx again to all involved.


----------



## bakerja

Anyone had any experience with Streambaby and files recorded on the Hauppauge HD PVR? I got one yesterday and will be giving it a go tonight. I'm hoping I can record oodles of college football games on this and stream back to the TIVO without transcoding. Even if a transcode is required, recording real time mp4's to a hard drive will save a step or two.


----------



## fishtank22

ajayabb said:


> sounds like you are missing ffmpeg or it is failing to launch


Thanks for the reply. Thats kind of what I thought but I do have VisualHub installed which I believe also uses FFMPEG. I also tried to compile FFMPEG on my own and it still didnt work.

Any suggestions?

Thanks again,

Fish


----------



## cburbs

I converted most of my movies to 1 4g mpg file. Each movie I have watched has been fine though some have paused and had to buffer 1-3 times per movie. Is this normal for this. I have this running on a P4 2.8 on gigabit network. 

I am also still having issues trying to stream MKV files. It will play 10 seconds and then just sit there with nothing on the screen. If I hit play it will play again for 10 seconds roughly and pause again.


----------



## Yoav

fishtank22 said:


> Thanks for the reply. Thats kind of what I thought but I do have VisualHub installed which I believe also uses FFMPEG. I also tried to compile FFMPEG on my own and it still didnt work.
> 
> Any suggestions?
> 
> Thanks again,
> 
> Fish


VisualHub is irrelevant.

Are you using pyTivoX? that comes with ffmpeg, so that's not your problem. Installing ffmpeg is certainly nice for other things, but pytivoX is still going to use its built-in one.

I'm curious, what model of tivo do you have? What OS-X release are you using?

* edit: * oops I see you have a PPC G4 running 10.5 with a tivo HD. So that's not the problem.

Ok, so open up Terminal.app, and type


Code:


/Applications/pyTivoX.app/Contents/Resources/ffmpeg

tail -40 /tmp/pyTivoX-SB.log

and tell us what it says in there? (those are two seperate commands, each will have some output)


----------



## Yoav

bakerja said:


> Anyone had any experience with Streambaby and files recorded on the Hauppauge HD PVR? I got one yesterday and will be giving it a go tonight. I'm hoping I can record oodles of college football games on this and stream back to the TIVO without transcoding. Even if a transcode is required, recording real time mp4's to a hard drive will save a step or two.


It *should* work, but tell us what you find out


----------



## Yoav

cburbs said:


> I converted most of my movies to 1 4g mpg file. Each movie I have watched has been fine though some have paused and had to buffer 1-3 times per movie. Is this normal for this. I have this running on a P4 2.8 on gigabit network.
> 
> I am also still having issues trying to stream MKV files. It will play 10 seconds and then just sit there with nothing on the screen. If I hit play it will play again for 10 seconds roughly and pause again.


Every 1.1 Gigs of data, your movie WILL pause and rebuffer. No matter how fast your home network, or your computer, etc. This is the one downside with streambaby, and is a limitation of tivo streaming.

Your second problem is probably caused by the fact that your mkv file is at a bitrate that is faster than your home network, so the tivo is not getting data fast enough, and so pauses while its waiting for more data, then resumes, but then runs out of data again and resumes, ad-inifinitum. Alternatively, it could be because your computer is too slow at converting that file to an mpeg-2 (mkv files are all converted). Try selecting a lower quality from streambaby before you play the film and see if that helps -- if it does, your movie was just too much data. If it doesn't, you should probably use pytivo to view that movie instead.


----------



## bakerja

Yoav said:


> Every 1.1 Gigs of data, your movie WILL pause and rebuffer. No matter how fast your home network, or your computer, etc. This is the one downside with streambaby, and is a limitation of tivo streaming.


How does netflix get around this? I was home sick for the past couple of days and probably watched a dozen or more netflix movies that streamed flawlessly in both HD and one click below HD. I never had a pause to rebuffer.

If this is a stupid question, I apologize in advance!


----------



## kearygriffin

bakerja said:


> How does netflix get around this? I was home sick for the past couple of days and probably watched a dozen or more netflix movies that streamed flawlessly in both HD and one click below HD. I never had a pause to rebuffer.
> 
> If this is a stupid question, I apologize in advance!


All of the streaming stuff has been reverse engineered by various people-- As far as I know TiVo has not documented any of it. The streaming API's that have been discovered have the 1.1G buffer limit.

As of now, no one has yet reversed engineered how the Netflix stuff works. (It's complicated by the fact that the TiVo -> Netflix communication is encrypted).

So hopefully someday someone will figure out the netflix/tivo protocol and the 1.1G limit will go away. (I've said in the past I would try to look into it, but so far have done no work in this area)


----------



## mangocat1

I was trying to stream a 720p .mkv file earlier today and ran into major buffering issues. Rough calculations say that for every 1 minute of buffer time gets me 45 seconds (or less) or playback time. SD streams are flawless (less data). 

Does the TiVo HD have gigabit networking capabilities? What kind of resources should my computer be outfitted with? I'm running on a clean install of Windows Server 2008 x64 (Vista family). My network is wired.


----------



## rfryar

mangocat1 said:


> Does the TiVo HD have gigabit networking capabilities? What kind of resources should my computer be outfitted with? I'm running on a clean install of Windows Server 2008 x64 (Vista family). My network is wired.


The TiVo's network capabilities are greatly hindered by it's CPU resources. If it is busy with it's two tuners it barely gets above 10BasedT speeds. You can slightly increase the transfer speeds by switching both tuners to channels you do not receive, otherwise you are at the mercy of the under powered CPU.

Rick


----------



## moyekj

kearygriffin said:


> So hopefully someday someone will figure out the netflix/tivo protocol and the 1.1G limit will go away. (I've said in the past I would try to look into it, but so far have done no work in this area)


 What has higher priority than that? 
Do you know if Netflix is vulnerable to the MITM attack as was the case with mind.tivo.com? If so the same kind of setup you used to spy on Tivo Desktop interactions may yield something, though I guess DNS spoofing would also be necessary to send Tivo through a proxy in this case.
I do have a .pcap dump of network sniffing between TIvo/Netflix but since it's mostly encrypted it's not much use.

Having said that, the Netflix/Tivo implementation is not very nice in that it seemingly buffers very little to Tivo itself so one can't take advantage of built up buffer on the Tivo as is currently the case. Haven't tried it myself but apparently pulling the network cable during Tivo/Netflix stream you still get the stream playing fine for several seconds, so there is a built up buffer somewhere, but I'm not sure if playback then stops because HME app is no longer accessible or because stream buffer runs out.


----------



## bakerja

kearygriffin said:


> All of the streaming stuff has been reverse engineered by various people-- As far as I know TiVo has not documented any of it. The streaming API's that have been discovered have the 1.1G buffer limit.
> 
> As of now, no one has yet reversed engineered how the Netflix stuff works. (It's complicated by the fact that the TiVo -> Netflix communication is encrypted).
> 
> So hopefully someday someone will figure out the netflix/tivo protocol and the 1.1G limit will go away. (I've said in the past I would try to look into it, but so far have done no work in this area)


Thanks kearygriffin,
I appreciate yours, moyekj's and everyone who contributes efforts and in no way was I trying to be a smart mouth. I don't have time to read every single post everyday and sometimes miss when a question has been answered previously.

I'm a streambaby fan and want to help when I have time. 
Thanks!


----------



## bakerja

I mentioned earlier that I would report back about the Hauppauge mp4 files. I have not had much luck getting streambaby to play them. Here's a sample of one that will stream to the PS3 but will not stream to TIVO with streambaby.
http://www.mediafire.com/file/qgy0gmmztzz/2009_3_10_21_18_8.mp4 (284mb)

It never gets past the "please wait" screen.


----------



## moyekj

bakerja said:


> I mentioned earlier that I would report back about the Hauppauge mp4 files. I have not had much luck getting streambaby to play them. Here's a sample of one that will stream to the PS3 but will not stream to TIVO with streambaby.
> http://www.mediafire.com/file/qgy0gmmztzz/2009_3_10_21_18_8.mp4 (284mb)
> 
> It never gets past the "please wait" screen.


 The problem is that video is in transport stream container. If you remux to an mpeg4 container it probably would stream fine. AFAIK Tivo doesn't accept anything in transport stream container for either streaming or pushing mode. This  Wiki Page  summarizes what types of video files can be streamed natively to Tivo series 3.
Having said that the correct behavior for this video because of incompatible container should be to transcode to mpeg2 and send to Tivo.


----------



## pmd

kearygriffin said:


> I've made some changes to the way I handle the avc1 atom (This version only reads the parts I really need instead of trying to parse the entire atom), and posted up a new version:
> http://streambaby.googlecode.com/files/streambaby-svn-r149.zip
> 
> Let me know how that works for you.


Unfortunately it crashes in a similar manner.



Code:


03/11/09 21:50:13 SelectionScreen: action=right
03/11/09 21:50:13 SelectionScreen: name=Little Miss Sunshine (2006), level:2
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 0
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:32)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 32
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:2431082)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 2431114
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:16)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 2431130
03/11/09 21:50:14 MP4StreamFactory$2: UnknownAtom(119,105,100,101): mp4.util.atom.WideAtom (size:8)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 2431138
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:980593490)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 983024628
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:2432605)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 985457233
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 985457341
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:973764)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 986431105
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 986431197
03/11/09 21:50:14 MP4StreamFactory$2: UnknownAtom(108,111,97,100): mp4.util.atom.LoadAtom (size:24)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 986431221
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 986431257
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 986431285
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:973592)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 987404877
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 987404909
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 987404967
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:973494)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 988378461
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 988378481
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 988378538
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 988378574
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 988378602
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:973373)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989351975
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:157)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989352132
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:141)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989352273
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989352297
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:5348)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989357645
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:283072)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 989640717
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:590336)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 990231053
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:94428)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 990325481
03/11/09 21:50:14 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:12)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 990325493
03/11/09 21:50:14 MP4StreamFactory$2: UnknownAtom(0,22,61,231): mp4.util.atom.X0X22X61?Atom (size:0)
03/11/09 21:50:14 MP4StreamFactory$2: Reading atom at offset: 990325493
03/11/09 21:50:14 MP4StreamFactory$2: UnknownAtom(0,0,0,92): mp4.util.atom.X0X0X0X92Atom (size:1953653099)
java.lang.OutOfMemoryError: Java heap space
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:40)
	at mp4.util.atom.Atom.readData(Atom.java:259)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:133)
	at mp4.util.atom.UdtaAtom.accept(UdtaAtom.java:36)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:121)
	at mp4.util.atom.TrakAtom.accept(TrakAtom.java:214)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:39)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:17)
	at mp4.util.atom.MoovAtom.accept(MoovAtom.java:306)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:133)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:146)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.parseIsoBoxes(MP4MetadataModule.java:166)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.setMetadata(MP4MetadataModule.java:251)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
	at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

It's *possible* that somehow I stuffed up and didn't update to svn-149 properly, so if you're at all suspicious of that from the log then shout and I'll have another go when I have some more time.


----------



## bakerja

moyekj said:


> The problem is that video is in transport stream container.


Thanks moyekj,

I have no experience in remuxing but am looking in to it now. I'll post back with progress.


----------



## wmcbrine

moyekj said:


> If you remux to an mpeg4 container it probably would stream fine.


I wouldn't bet on that.  VLC and ffmpeg don't like that file, either. Pulling it with pyTivo (= transcoding to MPEG-2) yields a mess of green pixels, with a barely discernable Samsung logo and some intact audio.


----------



## bakerja

wmcbrine said:


> I wouldn't bet on that.  VLC and ffmpeg don't like that file, either. Pulling it with pyTivo (= transcoding to MPEG-2) yields a mess of green pixels, with a barely discernable Samsung logo and some intact audio.


Hmmm...well I guess this is not going to be as easy as "throwing money at it".

I was hoping this Hauppauge HD DVR was going to be an easy quick solution (real time recording like a VCR) for not only getting TIVO recordings archived, but a gazillion home movies as well. The ultimate goal is for all to be accessible via TIVO from a NAS whether they are SD or HD files.

What kind of HD mp4 file is streamable with TIVO? Is there a magic codec/bitrate/resolution combination that will stream in HD to the TIVO without having to transcode? Keep in mind I'm an editor by trade and my expertise is more in content than the myriad of technical choices that are available. I'm trying to absorb as much as my wee brain will allow but that bandwidth is limited.

Update: Found a "repackaging" utility on the Hauppauge website that puts the recorded files into a MP4 container. Works fairly quickly. Will test streambaby with this remuxed mp4 tonight.


----------



## Wil

bakerja said:


> was hoping this Hauppauge HD DVR was going to be an easy quick solution (real time recording like a VCR) for not only getting TIVO recordings archived, but a gazillion home movies as well.


Consider the Blackmagic Video Recorder. Takes component in (StandardDef only), as well as composite and s-video, and seems to create a pretty functional mp4.


----------



## fred2

wmcbrine said:


> I wouldn't bet on that.  VLC and ffmpeg don't like that file, either. Pulling it with pyTivo (= transcoding to MPEG-2) yields a mess of green pixels, with a barely discernable Samsung logo and some intact audio.


I've got a Hauppage (or whatever) card, too.

It creates some kind of INcompatible video file, at least, for me, too. That generally won't even play in Media Player. BUT if you edit it and cut out the beginning (maybe incompatible header info??) it will play and can be sent via pytivo (have not tried Streambaby).

I have used mpg2cut2 which I found after searching for info on this problem. Cut out the beginning and resave the file. The pytivo issue which did remain was the type where it shows ZERO time duration and will not skip/ff/rew.


----------



## kearygriffin

bakerja said:


> Thanks moyekj,
> 
> I have no experience in remuxing but am looking in to it now. I'll post back with progress.


I wasn't able to download th file (told me it was private), but was that file created with the MP4 Creator utility from hauppauge?
http://www.hauppauge.com/site/support/support_hdpvr.html

That utility (I believe) is supposed to remux the TS stream into an MP4 container.


----------



## kearygriffin

pmd said:


> Unfortunately it crashes in a similar manner.
> ...
> ...
> It's *possible* that somehow I stuffed up and didn't update to svn-149 properly, so if you're at all suspicious of that from the log then shout and I'll have another go when I have some more time.


That's the right version, and it looks like the fix did it's job, but it just allowed us to get to the next issue. It looks like the udta atom is a little odd, but after doing a little research I see that it is (probably) legal but deprecated in mov files (but illegal in MP4s).

I've made a change to handle the issue with the udta atom:
http://streambaby.googlecode.com/files/streambaby-svn-r150.zip

Let's see how far we get with that version


----------



## bakerja

kearygriffin said:


> I wasn't able to download th file (told me it was private), but was that file created with the MP4 Creator utility from hauppauge?
> http://www.hauppauge.com/site/support/support_hdpvr.html
> 
> That utility (I believe) is supposed to remux the TS stream into an MP4 container.


Thanks kearygriffin,

I had just changed the file extension from .m2ts to mp4. I downloaded the HD PVR MP4 Creator and you are correct, it remux's the ts stream into an MP4 container. I will try the new file tonight when I get home to see how it streams. I am hopeful!:up:


----------



## rfryar

Just wanted to point out a very minor bug that most people will probably never encounter..

The metadata cache file contains a hard coded path to itself. Streambaby itself loads this cache file from a local path, but when it goes to update it will use the file path that is cached in the metadata cache file.

The problem comes if you ever rename your streambaby root directory. If you do this, restart streambaby, it will load your metadata cache file fine, but the second it tries to update the file on disk it will throw an exception.

Just an FYI,

Rick


----------



## kearygriffin

rfryar said:


> The problem comes if you ever rename your streambaby root directory. If you do this, restart streambaby, it will load your metadata cache file fine, but the second it tries to update the file on disk it will throw an exception.
> 
> Just an FYI,
> 
> Rick


Thanks, taken care of in SVN.


----------



## bakerja

bakerja said:


> I downloaded the HD PVR MP4 Creator and you are correct, it remux's the ts stream into an MP4 container. I will try the new file tonight when I get home to see how it streams. I am hopeful!:up:


First remuxed mp4 would not stream. I don't remember the exact error, I didn't have a whole lot of time to mess with it. I'm going to capture a little chunk tonight and test with different settings and post the results.


----------



## pmd

kearygriffin said:


> I've made a change to handle the issue with the udta atom:
> http://streambaby.googlecode.com/files/streambaby-svn-r150.zip
> 
> Let's see how far we get with that version


I think it's now getting stuck in an infinite loop parsing the udta atom. Tivo is waiting for something to happen, and there's a Java process sitting at 98% CPU usage. The log hasn't produced anything for 6 minutes 



Code:


03/12/09 23:41:16 VideoModuleHelper: GetVidInfo: file:/Volumes/Store/Video/Movies/Little%20Miss%20Sunshine%20(2006).mov
03/12/09 23:41:17 FFmpegJavaVideoModule: vidDur:5903160
03/12/09 23:41:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/Volumes/Store/Video/Movies/Little%20Miss%20Sunshine%20(2006).mov, Container: mp4, Duration: 5903.16 seconds
Video: h264 718x424 25.0 fps
  PixAspect: 1.4220123, Aspect: 2.4080303
Audio: aac 44100HZ 2 channels
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 0
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:32)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 32
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:2431082)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 2431114
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:16)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 2431130
03/12/09 23:41:17 MP4StreamFactory$2: UnknownAtom(119,105,100,101): mp4.util.atom.WideAtom (size:8)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 2431138
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:980593490)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 983024628
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:2432605)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 985457233
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 985457341
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:973764)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 986431105
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 986431197
03/12/09 23:41:17 MP4StreamFactory$2: UnknownAtom(108,111,97,100): mp4.util.atom.LoadAtom (size:24)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 986431221
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 986431257
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 986431285
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:973592)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 987404877
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 987404909
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 987404967
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:973494)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 988378461
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 988378481
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 988378538
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 988378574
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 988378602
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:973373)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989351975
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:157)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989352132
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:141)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989352273
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989352297
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:5348)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989357645
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:283072)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 989640717
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:590336)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 990231053
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:94428)
03/12/09 23:41:17 MP4StreamFactory$2: Reading atom at offset: 990325481
03/12/09 23:41:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:12)


----------



## kearygriffin

pmd said:


> I think it's now getting stuck in an infinite loop parsing the udta atom. Tivo is waiting for something to happen, and there's a Java process sitting at 98% CPU usage. The log hasn't produced anything for 6 minutes


Funny, looking at the code I wrote to fix the udta problem, the results you get are completely consistent with the code ;-)

Sorry, it was a stupid error. Debugging these days is so easy, once I get used to the run-test-debug cycle that it's easy to get careless when I don't have a sample to work with.

Hopefully this version should at least not hang in an endless loop:
http://streambaby.googlecode.com/files/streambaby-svn-r152.zip

Thanks again for bearing with me as we try to get these issues sorted out.

Keary


----------



## rfryar

I have a MP4 file that just causes the TiVo to hang. Here is the FFmpeg info:



Code:


X:\Videos\Recordings>ffmpeg -i TheDarkKnight.mp4
FFmpeg version Sherpya-r15666, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 0. 0 / 52. 0. 0
  libavformat   52.22. 1 / 52.22. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct 22 2008 23:37:16, gcc: 4.2.5 20080919 (prerelease) [Sherpya]
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'TheDarkKnight.mp4':
  Duration: 02:32:13.29, start: 0.000000, bitrate: 9830 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1920x1080, 23.98 tb(r)
    Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16

I turned on debugging and here is that info:


Code:


03/12/09 19:30:16 ViewScreen: Desc: TheDarkKnight.mp4
03/12/09 19:30:17 PreviewWindow: pWidth: 1280
03/12/09 19:30:17 PreviewWindow: preview parent=BView[#2378,bounds=0,0,1280x720]
03/12/09 19:30:17 HostContext: key=mpos:file:/E:/Videos/Recordings/TheDarkKnight.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/12/09 19:30:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/12/09 19:30:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/12/09 19:30:17 HostContext: compKey=6520001804D6646-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/12/09 19:30:17 ViewScreen: goto position: 0, vidlen: 9133290
03/12/09 19:30:17 ViewScreen: Position not in buffer, starting new stream
03/12/09 19:30:17 ViewScreen: Openening stream at position: 0(0 secs)
03/12/09 19:30:17 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 0
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 24
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:4220653)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220677
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220785
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.IodsAtom (size:21)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 4220806
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:2112033)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 6332839
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 6332931
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:2111933)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444864
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444896
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:55)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 8444951
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:2111838)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556789
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556809
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556845
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 10556873
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:2111774)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12668647
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:186)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12668833
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:170)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12669003
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 12669027
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.CttsAtom (size:1065160)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13734187
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:11124)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13745311
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:52)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 13745363
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:875940)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 14621303
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Co64Atom (size:159280)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 14780583
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:2108098)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 16888681
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 16888773
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:2107998)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996771
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996803
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:55)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 18996858
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:2107903)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104761
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SmhdAtom (size:16)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104777
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104813
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 21104841
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:2107843)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212684
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:91)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212775
03/12/09 19:30:17 MP4StreamFactory$2: UnknownAtom(109,112,52,97): mp4.util.atom.Mp4aAtom (size:75)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212850
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23212874
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:235936)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 23448810
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:1712512)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25161322
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Co64Atom (size:159272)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25320594
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:385)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25320979
03/12/09 19:30:17 MP4StreamFactory$2: UnknownAtom(99,104,112,108): mp4.util.atom.ChplAtom (size:377)
03/12/09 19:30:17 MP4StreamFactory$2: Reading atom at offset: 25321356
03/12/09 19:30:17 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:11218969068)
03/12/09 19:30:17 MP4StreamFactory$2:    Large size atom
03/12/09 19:30:17 MP4StreamFactory$2: DBG: moov size 4220645
03/12/09 19:30:17 MP4StreamFactory$2: DBG: mdat size 11218969052
03/12/09 19:30:17 MP4StreamFactory$2: DBG: sampleNum 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new key frame 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: moov chunk 4220693
03/12/09 19:30:17 MP4StreamFactory$2: DBG: cut moov chunk 4220693
03/12/09 19:30:17 MP4StreamFactory$2: DBG: updateAmount 159289
03/12/09 19:30:17 MP4StreamFactory$2: DBG: movie skip 0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: Cut Movie time 9133 sec 
03/12/09 19:30:17 MP4StreamFactory$2: DBG: sampleNum 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new key frame 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0
03/12/09 19:30:17 MP4StreamFactory$2: DBG: media time 0
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
03/12/09 19:30:17 MP4StreamFactory$2: 	DBG: chunk 1
03/12/09 19:30:17 MP4StreamFactory$2: DBG: cutDuration 5479974
03/12/09 19:30:17 MP4StreamFactory$2: DBG: new time 0.0

Any ideas? Otherwise how does anyone else turn their Blu-Rays into Tivo playable MP4s? I used ripbot264 on this one.

Thanks,

Rick


----------



## kearygriffin

rfryar said:


> I have a MP4 file that just causes the TiVo to hang.
> ...
> ...
> Any ideas? Otherwise how does anyone else turn their Blu-Rays into Tivo playable MP4s? I used ripbot264 on this one.
> 
> Thanks,
> 
> Rick


Well, I'm sure that the current streambaby code will create an invalid MP4 for this file, as although streambaby supports 64-bit mp4 atoms (co64 & large mdat atoms), the TiVo only supports 32-bit atoms, so streambaby tries to translate. In this case since the file is > 4G any parts of the MP4 that are past the 4G point will be coded incorrectly. I was hoping (but not hopeful) that the TiVo would be OK with this, since it would never get to the invalid parts of the file anyway (since it stops buffering at 1.1G). Unfortunately it is quite possible that the TiVo is seeing the incorrect chunks in the MP4 header (which are at the beginning) and croaks, even though it would never end up playing those parts.

So, I'm not sure if this is the problem, but it very well could be.

I'll try to put together some code this weekend to take care of this, by truncating the file at the point where it would exceed 4G. This should be OK since the tivo will stop buffering at 1.1G anyway. (This doesn't mean you can't play the whole movie. As soon as the rebuffering starts at the 1.1G point or you FFWD, it is 4G from the point you are starting/restarting to play from)


----------



## rfryar

kearygriffin said:


> I'll try to put together some code this weekend to take care of this, by truncating the file at the point where it would exceed 4G. This should be OK since the tivo will stop buffering at 1.1G anyway. (This doesn't mean you can't play the whole movie. As soon as the rebuffering starts at the 1.1G point or you FFWD, it is 4G from the point you are starting/restarting to play from)


Sounds great! Let me know if there is any other information you need or if there is anything you wanted me to try on my end first.

Rick


----------



## pmd

kearygriffin said:


> Hopefully this version should at least not hang in an endless loop:
> http://streambaby.googlecode.com/files/streambaby-svn-r152.zip
> 
> Thanks again for bearing with me as we try to get these issues sorted out.


Good, no infinite loop, and it's getting a lot further (past the udta atom finally):



Code:


uri: file:/Volumes/Store/Video/Movies/Little&#37;20Miss%20Sunshine%20(2006).mov, Container: mp4, Duration: 5903.16 seconds
Video: h264 718x424 25.0 fps
  PixAspect: 1.4220123, Aspect: 2.4080303
Audio: aac 44100HZ 2 channels
03/13/09 19:02:33 MP4StreamFactory$2: Reading atom at offset: 0
03/13/09 19:02:33 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:32)
03/13/09 19:02:33 MP4StreamFactory$2: Reading atom at offset: 32
03/13/09 19:02:33 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:2431082)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431114
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FreeAtom (size:16)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431130
03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(119,105,100,101): mp4.util.atom.WideAtom (size:8)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 2431138
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:980593490)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 983024628
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MoovAtom (size:2432605)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 985457233
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MvhdAtom (size:108)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 985457341
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:973764)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431105
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431197
03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(108,111,97,100): mp4.util.atom.LoadAtom (size:24)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431221
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431257
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 986431285
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:973592)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404877
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404909
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 987404967
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:973494)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378461
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.VmhdAtom (size:20)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378481
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378538
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378574
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 988378602
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:973373)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989351975
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:157)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352132
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.Avc1Atom (size:141)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352273
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989352297
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StssAtom (size:5348)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989357645
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:283072)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 989640717
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:590336)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990231053
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:94428)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990325481
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.UdtaAtom (size:12)
03/13/09 19:02:37 MP4StreamFactory$2: Skipping extra container bytes: 4
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 990325493
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TrakAtom (size:1457639)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783132
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.TkhdAtom (size:92)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783224
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.EdtsAtom (size:36)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783260
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.ElstAtom (size:28)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 991783288
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdiaAtom (size:1457030)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240318
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdhdAtom (size:32)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240350
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:58)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 993240408
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MinfAtom (size:1456932)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697340
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SmhdAtom (size:16)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697356
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.HdlrAtom (size:57)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697413
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DinfAtom (size:36)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697449
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.DrefAtom (size:28)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 994697477
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StblAtom (size:1456815)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154292
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StsdAtom (size:203)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154495
03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(109,112,52,97): mp4.util.atom.Mp4aAtom (size:187)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154682
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.SttsAtom (size:24)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996154706
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StscAtom (size:329740)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 996484446
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StszAtom (size:1016916)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997501362
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.StcoAtom (size:109924)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997611286
03/13/09 19:02:37 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MetaAtom (size:461)
03/13/09 19:02:37 MP4StreamFactory$2: Reading atom at offset: 997611747
03/13/09 19:02:37 MP4StreamFactory$2: UnknownAtom(0,0,0,0): mp4.util.atom.X0X0X0X0Atom (size:1751411826)
03/13/09 19:02:37 Listener: 
03/13/09 19:02:37 Listener: connection to receiver closed
03/13/09 19:02:37 Listener: 
03/13/09 19:02:37 Factory: HME receiver disconnected
03/13/09 19:02:37 Listener: 
03/13/09 19:02:37 Listener: Unexpected error: com.tivo.hme.sdk.HmeException: Socket closed
03/13/09 19:02:37 Listener: com.tivo.hme.sdk.HmeException: Socket closed
	at com.tivo.hme.sdk.Application.fatalError(Application.java:937)
	at com.tivo.hme.sdk.Application.cmdViewSetResource(Application.java:1073)
	at com.tivo.hme.sdk.View.setResource(View.java:566)
	at com.tivo.hme.sdk.View.clearResource(View.java:536)
	at com.unwiredappeal.tivo.views.VText.remove(VText.java:64)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.remove(ViewScreen.java:1504)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.cleanup(ViewScreen.java:1545)
	at com.unwiredappeal.tivo.streambaby.StreamBabyStream.cleanup(StreamBabyStream.java:397)
	at com.unwiredappeal.tivo.streambaby.StreamBabyStream$StreamBabyStreamFactory.removeApplication(StreamBabyStream.java:214)
	at com.tivo.hme.sdk.Application.close(Application.java:458)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:319)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
	at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
	at java.lang.Thread.run(Thread.java:613)

03/13/09 19:02:37 Listener: ctx=HttpRequest /streambaby/ t=java.net.SocketException: Socket closed

I'm happy to keep helping you sort out my bizarre mp4 files  At some point you should just tell me how to start debugging it myself in Eclipse! I've used a fair few IDEs in my time, but not Java in Eclipse (Python and C++ yes, but ironically not Java).


----------



## cburbs

Yoav said:


> Every 1.1 Gigs of data, your movie WILL pause and rebuffer. No matter how fast your home network, or your computer, etc. This is the one downside with streambaby, and is a limitation of tivo streaming.
> 
> Your second problem is probably caused by the fact that your mkv file is at a bitrate that is faster than your home network, so the tivo is not getting data fast enough, and so pauses while its waiting for more data, then resumes, but then runs out of data again and resumes, ad-inifinitum. Alternatively, it could be because your computer is too slow at converting that file to an mpeg-2 (mkv files are all converted). Try selecting a lower quality from streambaby before you play the film and see if that helps -- if it does, your movie was just too much data. If it doesn't, you should probably use pytivo to view that movie instead.


So why do AVI files play fine but not MKV. These are show downloaded from RSS feed.


----------



## rfryar

cburbs said:


> So why do AVI files play fine but not MKV. These are show downloaded from RSS feed.


It has to do with the CPU processing required to convert. Converting XVid AVIs does not take much CPU, but decoding MKVs takes significant CPU power, so the transcoding process to MPG2 does not happen in real time.

Watch your CPU resources on the machine running Streambaby, and see the difference.

I would also take a guess that the AVI material is not as high res as the MKV video, which will also impact the time and CPU required to transocde it.

Rick


----------



## tbear334

I am using manually created pyTivo style .txt meta data files that work fine. But if I add an image file <filename>.mp4.jpg, the image will show up, but none of the other information. If I rename the image file to something else, the text data works. What am I doing wrong?

BTW, awesome job!


----------



## Sicklybutsexy

moyekj said:


> I couldn't find interlaced h.264 clips anywhere via Google. It may be helpful Sicklybutsexy if you could possibly upload a small clip somewhere for further examination.


Sorry for the late response but I was out of town. I took this m2ts file and demuxed it then remuxed it using mp4muxer.exe. I've also remuxed it using megui with the same result. You can download it here: http://www.adrive.com/public/5bb63c5fe95508313e2d54f20dc98a10d391e0f5606a3443caa317e490a4efed.html

It transfers over but is in slow motion with what sounds like normal audio speed. thanks. any help would be appreciated.

Here's mediainfo on it:

General
Complete name : I:\Sony Backup\2-22-2009\Emmy's Birthday not muxed\20090221135104.track_4113.mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 91.6 MiB
Duration : 1mn 52s
Overall bit rate : 6 815 Kbps
Encoded date : UTC 2009-03-14 14:02:39
Tagged date : UTC 2009-03-14 14:02:48
Writing application : mp4creator 1.6.1d

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 1mn 52s
Bit rate mode : Variable
Bit rate : 6 626 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate mode : Constant
Frame rate : 25.000 fps
Original frame rate : 29.970 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.128
Stream size : 89.1 MiB (97%)
Encoded date : UTC 2009-03-14 14:02:39
Tagged date : UTC 2009-03-14 14:02:47

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : ac-3
Duration : 47s 72ms
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s)  : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 2.51 MiB (3%)
Encoded date : UTC 2009-03-14 14:02:48
Tagged date : UTC 2009-03-14 14:02:48


----------



## krismast

ok im confused. i got it to show up on the tivo but when i run it it says No entries in this directory. I tried putting my directory in the ini file. Can someone please tell me exactly what to do. Im not good at this stuff.


----------



## moyekj

Sicklybutsexy said:


> Sorry for the late response but I was out of town. I took this m2ts file and demuxed it then remuxed it using mp4muxer.exe. I've also remuxed it using megui with the same result. You can download it here: http://www.adrive.com/public/5bb63c5fe95508313e2d54f20dc98a10d391e0f5606a3443caa317e490a4efed.html
> 
> It transfers over but is in slow motion with what sounds like normal audio speed. thanks. any help would be appreciated.


 Well Videolan VLC plays it back exactly as you describe - normal audio and slow motion video. Media Player Classic also plays it back in slow motion. Windows Media Player can't play it at all (I have the proper codecs since other mp4 files that stream to Tivo play in WMP fine). Until you get normal playback with VLC I wouldn't even attempt to stream/transfer to Tivo.


----------



## Sicklybutsexy

moyekj said:


> Well Videolan VLC plays it back exactly as you describe - normal audio and slow motion video. Media Player Classic also plays it back in slow motion. Windows Media Player can't play it at all (I have the proper codecs since other mp4 files that stream to Tivo play in WMP fine). Until you get normal playback with VLC I wouldn't even attempt to stream/transfer to Tivo.


I'm not sure what this means but it will play perfectly in mplayer if under options I make the setting: -fps 60000/1001

I found that out under trial and error, just don't know what I'm doing but that makes the file play correctly. That's the only setting I have under mplayer.


----------



## moyekj

Sicklybutsexy said:


> I'm not sure what this means but it will play perfectly in mplayer if under options I make the setting: -fps 60000/1001
> 
> I found that out under trial and error, just don't know what I'm doing but that makes the file play correctly. That's the only setting I have under mplayer.


 That's forcing it to play at 60 frames per second. Analyzing the file with MediaInfo or ffmpeg they specify the encoding frame rate as 25 frames per second so that's likely why it looks like slow motion when played back. Needless to say this encoding seems to have plenty of issues for several different decoders so I wouldn't expect Tivo to decode it properly either.
I would revisit your .m2ts -> .mp4 conversion process until you get to a point where VLC can play back the .mp4 file properly.


----------



## kearygriffin

tbear334 said:


> I am using manually created pyTivo style .txt meta data files that work fine. But if I add an image file <filename>.mp4.jpg, the image will show up, but none of the other information. If I rename the image file to something else, the text data works. What am I doing wrong?
> 
> BTW, awesome job!


The problem here is that streambaby supports images as "metadata" and so once it sees the <filename>.mp4.jpg file it stops looking for anymore metadata and just uses the image. (so it never gets to the pyTivo data). I'll probably change the priority in a future version so pyTivo metdata has priority over just an image.

What you want to do is edit the pyTivo .txt meta file, and add the following line:
image : img-<filename>.mp4.jpg

And rename the jpg to img-<filename>.mp4.jpg (you can use any filename, as long as it is not <filename>.mp4.jpg) Now you should get both text and image.

(When I fix it, you won't have to rename the jpg file, but you will still need to insert the image : tag in the pyTivo metadata)

The alternative to renaming the jpg files is to put them in a separate directory (images for instance) so in the .txt file:
image : images/<filename>.mp4.jpg


----------



## kearygriffin

krismast said:


> ok im confused. i got it to show up on the tivo but when i run it it says No entries in this directory. I tried putting my directory in the ini file. Can someone please tell me exactly what to do. Im not good at this stuff.


The INI should look something like the following:
dir.1=c:\path\to\my\Videos

If you have something like that and it still does not seem to work, could you post your INI settings? And also, I am assuming this is Windows?


----------



## Sicklybutsexy

moyekj said:


> That's forcing it to play at 60 frames per second. Analyzing the file with MediaInfo or ffmpeg they specify the encoding frame rate as 25 frames per second so that's likely why it looks like slow motion when played back. Needless to say this encoding seems to have plenty of issues for several different decoders so I wouldn't expect Tivo to decode it properly either.
> I would revisit your .m2ts -> .mp4 conversion process until you get to a point where VLC can play back the .mp4 file properly.


well that's just it... i can get to transfer over if I "transcode" the file using tmpgenc. I was just hoping to be able to transfer it over without transcoding (just demuxing and muxing) and therefore retaining perfect quality. I guess that doesn't look like it's possible?


----------



## moyekj

Sicklybutsexy said:


> well that's just it... i can get to transfer over if I "transcode" the file using tmpgenc. I was just hoping to be able to transfer it over without transcoding (just demuxing and muxing) and therefore retaining perfect quality. I guess that doesn't look like it's possible?


 Try  RipBot264  to convert .m2ts to .mp4. Since video is already H.264 I think it should leave it alone when converting. Audio will probably re-encode to AAC though.


----------



## Sicklybutsexy

moyekj said:


> Try  RipBot264  to convert .m2ts to .mp4. Since video is already H.264 I think it should leave it alone when converting. Audio will probably re-encode to AAC though.


Unfortunately ripbot always wants to transcode it. The lower the CQ the higher the bitrate, the higher the CQ the lower the bitrate.
I could be wrong but it certainly seems like its transcoding it. Yeah, it does. The file is now progressive after conversion and the bitrate is constant instead of variable.


----------



## kearygriffin

Sicklybutsexy said:


> Unfortunately ripbot always wants to transcode it. The lower the CQ the higher the bitrate, the higher the CQ the lower the bitrate.
> I could be wrong but it certainly seems like its transcoding it. Yeah, it does. The file is now progressive after conversion and the bitrate is constant instead of variable.


If you have MP4Box you can fix the file like this: (make sure you have a backup!) The # lines are just comments..

# Extract the video track (track 1 in the sample file)
# Can be found by looking at output of MP4Box -info file.mp4
MP4Box file.mp4 -raw 1 
# the above should create a file file_track1.h264

# Delete the video track from the mp4
MP4Box file.mp4 -rem 1

# Re-add the video track, using 59.94 as the fps
MP4Box file.mp4 -add file_track1.h264 -fps 59.94


----------



## kearygriffin

kearygriffin said:


> If you have MP4Box you can fix the file like this....


I wasn't able to test on the TiVo when I posted that, but although that seems to "fix" the MP4 file as far as mplayer was concerened, TiVo still doesn't like the file. Not sure why. Could be that TiVo just won't support that type of MP4 or because the fixing process somehow messes up something else.


----------



## Sicklybutsexy

kearygriffin said:


> I wasn't able to test on the TiVo when I posted that, but although that seems to "fix" the MP4 file as far as mplayer was concerened, TiVo still doesn't like the file. Not sure why. Could be that TiVo just won't support that type of MP4 or because the fixing process somehow messes up something else.


ok. thanks for all your help.


----------



## krismast

kearygriffin said:


> The INI should look something like the following:
> dir.1=c:\path\to\my\Videos
> 
> If you have something like that and it still does not seem to work, could you post your INI settings? And also, I am assuming this is Windows?


yes this is windows. I dont really know if im not doing something or not. this is what my ini file says:
#
# ./streambaby --help for more configuration file options
#

#dir.1=C:\Documents and Settings\Kristopher\My Documents\My Videos
#dir.1.name=Someones videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


----------



## rfryar

krismast said:


> yes this is windows. I dont really know if im not doing something or not. this is what my ini file says:
> 
> #dir.1=C:\Documents and Settings\Kristopher\My Documents\My Videos
> #dir.1.name=Someones videos


SImple fix, you just need to remove the '#' in front of the dir.1 and dir.1.name lines. The '#' at the front means to ignore that line.

Hope that helps,

Rick


----------



## ajayabb

remove the "#" for your port and directory . The commands without the "#" are those that get recognized


----------



## kearygriffin

pmd said:


> Good, no infinite loop, and it's getting a lot further (past the udta atom finally):
> ...
> I'm happy to keep helping you sort out my bizarre mp4 files


Ok, so I am pretty much stuck on this one. It's pretty clear that streambaby doesn't like the meta atom, but I can't find any kind of reference that might explain why.

It looks like I may be able to work around this issue (the debug output is slightly broken so it's a little tough to tell, Ill fix the output in the next release) by only parsing the Meta atom if it is inside of the udta atom. (It looks like the one that streambaby doesn't understand is at a different level).

However, I am a little hesitant to make that change without understanding a bit more about exactly what is causing it. I'm inclined to say that it is just a bad MOV file. (Looking back you mentioned you had one that caused ffmpeg to crash, is this that file?)


----------



## cahoon

I'm getting an incompatible video stream message when playing mp4's with the mp4module.interleave=false set in the ini file.

This started happening after revision 103 due to a change in BaseVideoHandlerModule.java



Code:


	public boolean canStream(URI uri, VideoInformation vinfo) {
		return (vinfo.getAudioBps() == 44100 || vinfo.getAudioBps() == 48000) && isFormatStreamable(vinfo));
	}

The additional checks for getAudioBps() always return 0, so this method will always return false. Looks like the audioBps field in VideoInformation.java is never set.

I removed the getAudioBps() checks, and things started working again. Though, that's probably not the best solution, but it was easier than changing the necessary files to get this information from the parsed Mp4 files.


----------



## kearygriffin

cahoon said:


> I'm getting an incompatible video stream message when playing mp4's with the mp4module.interleave=false set in the ini file.
> 
> This started happening after revision 103 due to a change in BaseVideoHandlerModule.java
> 
> 
> 
> Code:
> 
> 
> public boolean canStream(URI uri, VideoInformation vinfo) {
> return (vinfo.getAudioBps() == 44100 || vinfo.getAudioBps() == 48000) && isFormatStreamable(vinfo));
> }
> 
> The additional checks for getAudioBps() always return 0, so this method will always return false. Looks like the audioBps field in VideoInformation.java is never set.
> 
> I removed the getAudioBps() checks, and things started working again. Though, that's probably not the best solution, but it was easier than changing the necessary files to get this information from the parsed Mp4 files.


If Im thinking about this correctly, this should only happen in the case where ffmpeg is not used to gather the video information, and rather the Mp4 module is being used to gather the video information. Although this may have used to work, it's not a case that I test (and probably won't really support). Can you tell from the log file why ffmpeg (either the exe or the native library support) is not working?


----------



## cahoon

kearygriffin said:


> If Im thinking about this correctly, this should only happen in the case where ffmpeg is not used to gather the video information, and rather the Mp4 module is being used to gather the video information. Although this may have used to work, it's not a case that I test (and probably won't really support). Can you tell from the log file why ffmpeg (either the exe or the native library support) is not working?


Ah, Yes. You're right. I haven't been using ffmpeg lately. For some reason, I didn't think ffmpeg was used anymore, so I was ignoring the error message.

Thanks for the help!


----------



## ufo4sale

Can I have this and TiVo Desktop running at the same time?


----------



## Yoav

ufo4sale said:


> Can I have this and TiVo Desktop running at the same time?


yes.


----------



## ufo4sale

What does it mean when it says failed to open stream? How do I fix this?


----------



## conan76

Couple of quick questions (or feature requests):
a) Is it possible to reduce the initial buffer time? I have a wired connection and am pretty sure that it could safely be reduced... or does streambaby wait until ??mb have been buffered? That would be a good way to do it.
b) Can you allow playback of entire folders that have subfolders? When I try to do this I get an error message... which is a pity due to the directory structures for our home videos. Eg, my wife wants to play all home videos in the "2009" directory... rather than videos for just one directory under "2009"

Thanks guys. BTW, is StreamBaby an official Google app, or something that has been created by an enthusiastic individual? Either way it's awesome, thanks.


----------



## wmcbrine

conan76 said:


> a) Is it possible to reduce the initial buffer time?


It's possible (you can see that it's done in the YouTube app), but we don't know how (the API for video streaming is undocumented).



> _BTW, is StreamBaby an official Google app, or something that has been created by an enthusiastic individual?_


Oh dear. No, code.google.com is just a free hosting site, like SourceForge. I hope no one else is thinking that the programs there are Google products. (Of course a _few_ are, because they also use it themselves. But the vast majority, no.)


----------



## cburbs

rfryar said:


> It has to do with the CPU processing required to convert. Converting XVid AVIs does not take much CPU, but decoding MKVs takes significant CPU power, so the transcoding process to MPG2 does not happen in real time.
> 
> Watch your CPU resources on the machine running Streambaby, and see the difference.
> 
> I would also take a guess that the AVI material is not as high res as the MKV video, which will also impact the time and CPU required to transocde it.
> 
> Rick


Ok I can't send it using PyTivo either. Is there an easy way to convert this file without losing video quality?
It errors - "Transferring prohibited by the Copyright Holder"


----------



## kearygriffin

ufo4sale said:


> What does it mean when it says failed to open stream? How do I fix this?


1. What type of file are you trying to send? (avi/mp4/mkv/etc)
2. Does this happen for all of the files you have tried
3. What platform are you running on (windows/mac/linux)

Failed to open stream is a somewhat generic error that happens for a bunch of different reasons. (but means in general it had trouble opening the file for some reason, which more than likely means it didn't understand the format, not that it physically couldn't read it)


----------



## Yoav

cburbs said:


> Ok I can't send it using PyTivo either. Is there an easy way to convert this file without losing video quality?
> It errors - "Transferring prohibited by the Copyright Holder"


Is the file by any chance a movie you bought in the itunes store?

Those files are 'protected' by DRM (where protected means they won't allow you to do anything with the file other than viewing it on your computer or your ipod).


----------



## cburbs

Yoav said:


> Is the file by any chance a movie you bought in the itunes store?
> 
> Those files are 'protected' by DRM (where protected means they won't allow you to do anything with the file other than viewing it on your computer or your ipod).


Nope - show downloaded from ted torrent. The AVI's like I mentioned play fine and transfer fine. The MKVs wont' play or transfer so if I can convert them I am fine with that. 
*
Here is the MKV File:*
General
Complete name : Numb3rs.S05E12.720p.HDTV.X264-DIMENSION.mkv
Format : Matroska
File size : 1.09 GiB
Duration : 41mn 0s
Overall bit rate : 3 813 Kbps
Encoded date : UTC 2009-01-17 02:53:29
Writing application : mkvmerge v2.4.0 ('Fumbling Towards Ecstasy') built on Nov 7 2008 17:24:23
Writing library : libebml v0.7.8 + libmatroska v0.8.1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Muxing mode : Container [email protected]
Codec ID : V_MPEG4/ISO/AVC
Duration : 40mn 58s
Bit rate : 3 333 Kbps
Nominal bit rate : 3 490 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.151
Writing library : x264 core 65 r1057 5f8a149
Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=hex / subme=7 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=3490 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Language : English

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Codec ID : A_AC3
Duration : 41mn 0s
Bit rate mode : Constant
Bit rate : 320 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz

*
Here is the AVI File:*
General
Complete name : Rules.of.Engagement.S03E02.HDTV.XviD-LOL.[VTV].avi
Format : AVI
Format/Info : Audio Video Interleave
File size : 174 MiB
Duration : 21mn 6s
Overall bit rate : 1 155 Kbps
Writing application : VirtualDubMod 1.5.10.2 (build 2540/release)
Writing library : VirtualDubMod build 2540/release

Video
Format : MPEG-4 Visual
Format profile : Streaming [email protected]
Format settings, BVOP : Yes
Format settings, QPel : No
Format settings, GMC : No warppoints
Format settings, Matrix : Default
Codec ID : XVID
Codec ID/Hint : XviD
Duration : 21mn 6s
Bit rate : 1 009 Kbps
Width : 624 pixels
Height : 352 pixels
Display aspect ratio : 16/9
Frame rate : 23.976 fps
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.192
Stream size : 152 MiB (87%)
Writing library : XviD 1.2.1 (UTC 2008-12-04)

Audio
Format : MPEG Audio
Format version : Version 1
Format profile : Layer 3
Codec ID : 55
Codec ID/Hint : MP3
Duration : 21mn 6s
Bit rate mode : Variable
Bit rate : 133 Kbps
Nominal bit rate : 128 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 20.1 MiB (12%)
Alignment : Aligned on interleaves
Interleave, duration : 24 ms (0.58 video frame)
Interleave, preload duration : 372 ms
Writing library : LAME3.90.
Encoding settings : ABR


----------



## Yoav

well, what happens when you run ffmpeg on one of the broken files?:


Code:


ffmpeg -i (your mkv file) -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0  -sameq -ab 384k -ar 48000 tcp://127.0.0.1:8500

(hoping it might print out something interesting)


----------



## kearygriffin

cburbs said:


> Nope - show downloaded from ted torrent. The AVI's like I mentioned play fine and transfer fine. The MKVs wont' play or transfer so if I can convert them I am fine with that.
> *
> Here is the MKV File:*
> General
> Complete name : Numb3rs.S05E12.720p.HDTV.X264-DIMENSION.mkv
> Format : Matroska
> File size : 1.09 GiB
> Duration : 41mn 0s
> Overall bit rate : 3 813 Kbps
> Encoded date : UTC 2009-01-17 02:53:29
> Writing application : mkvmerge v2.4.0 ('Fumbling Towards Ecstasy') built on Nov 7 2008 17:24:23
> Writing library : libebml v0.7.8 + libmatroska v0.8.1
> 
> Video
> ID : 1
> Format : AVC
> Format/Info : Advanced Video Codec
> Format profile : [email protected]
> Format settings, CABAC : Yes
> Format settings, ReFrames : 4 frames
> Muxing mode : Container [email protected]
> Codec ID : V_MPEG4/ISO/AVC
> Duration : 40mn 58s
> Bit rate : 3 333 Kbps
> Nominal bit rate : 3 490 Kbps
> Width : 1 280 pixels
> Height : 720 pixels
> Display aspect ratio : 16/9
> Frame rate : 23.976 fps
> Resolution : 24 bits
> Colorimetry : 4:2:0
> Scan type : Progressive
> Bits/(Pixel*Frame) : 0.151
> Writing library : x264 core 65 r1057 5f8a149
> Encoding settings : cabac=1 / ref=4 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=hex / subme=7 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=3490 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
> Language : English
> 
> Audio
> ID : 2
> Format : AC-3
> Format/Info : Audio Coding 3
> Codec ID : A_AC3
> Duration : 41mn 0s
> Bit rate mode : Constant
> Bit rate : 320 Kbps
> Channel(s) : 2 channels
> Channel positions : L R
> Sampling rate : 48.0 KHz
> 
> *
> Here is the AVI File:*
> General
> Complete name : Rules.of.Engagement.S03E02.HDTV.XviD-LOL.[VTV].avi
> Format : AVI
> Format/Info : Audio Video Interleave
> File size : 174 MiB
> Duration : 21mn 6s
> Overall bit rate : 1 155 Kbps
> Writing application : VirtualDubMod 1.5.10.2 (build 2540/release)
> Writing library : VirtualDubMod build 2540/release
> 
> Video
> Format : MPEG-4 Visual
> Format profile : Streaming [email protected]
> Format settings, BVOP : Yes
> Format settings, QPel : No
> Format settings, GMC : No warppoints
> Format settings, Matrix : Default
> Codec ID : XVID
> Codec ID/Hint : XviD
> Duration : 21mn 6s
> Bit rate : 1 009 Kbps
> Width  : 624 pixels
> Height : 352 pixels
> Display aspect ratio : 16/9
> Frame rate : 23.976 fps
> Resolution : 24 bits
> Colorimetry : 4:2:0
> Scan type : Progressive
> Bits/(Pixel*Frame) : 0.192
> Stream size : 152 MiB (87%)
> Writing library : XviD 1.2.1 (UTC 2008-12-04)
> 
> Audio
> Format : MPEG Audio
> Format version : Version 1
> Format profile : Layer 3
> Codec ID : 55
> Codec ID/Hint : MP3
> Duration : 21mn 6s
> Bit rate mode : Variable
> Bit rate : 133 Kbps
> Nominal bit rate : 128 Kbps
> Channel(s) : 2 channels
> Sampling rate : 48.0 KHz
> Resolution : 16 bits
> Stream size : 20.1 MiB (12%)
> Alignment : Aligned on interleaves
> Interleave, duration : 24 ms (0.58 video frame)
> Interleave, preload duration : 372 ms
> Writing library : LAME3.90.
> Encoding settings : ABR


From looking at the output I think it's probably as simple as not being able to keep up with the HD MKV. It's starting as a HD h264 video and getting transcoded to a HD MPEG2 before sending off to TiVo, which is going to take double the bitrate (I'm guessing, but the original is ~3400kbs so the MPEG2 may end up around ~7000kbs). This may be just to much for the either the CPU or the TiVo handle. (Not sure which, could be either)

I looked back in previous posts, but am not sure if I saw this suggested (or what the results) were. I would simply try to select a different quality in streambaby before playing. I'd try 2000kbs just to see what happens, and move up from there.

(note that the AVI is SD, a lower bitrate, and a lower quality codec at that bitrate so when it gets transcoded it would not end up near the 7000kbs mark)


----------



## Sicklybutsexy

kearygriffin said:


> From looking at the output I think it's probably as simple as not being able to keep up with the HD MKV. It's starting as a HD h264 video and getting transcoded to a HD MPEG2 before sending off to TiVo, which is going to take double the bitrate (I'm guessing, but the original is ~3400kbs so the MPEG2 may end up around ~7000kbs). This may be just to much for the either the CPU or the TiVo handle. (Not sure which, could be either)
> 
> I looked back in previous posts, but am not sure if I saw this suggested (or what the results) were. I would simply try to select a different quality in streambaby before playing. I'd try 2000kbs just to see what happens, and move up from there.
> 
> (note that the AVI is SD, a lower bitrate, and a lower quality codec at that bitrate so when it gets transcoded it would not end up near the 7000kbs mark)


I don't know if it's just my set up but I play videos that are 16 Mbps just fine. It usually "stutters" a bit when it first starts but continues fine until the next rebuffering. Of course these are files that are not being transcoded (mp4's).


----------



## Yoav

Sicklybutsexy said:


> I don't know if it's just my set up but I play videos that are 16 Mbps just fine. It usually "stutters" a bit when it first starts but continues fine until the next rebuffering. Of course these are files that are not being transcoded (mp4's).


Playing is a LOT easier on the CPU than encoding.

There is a 'quality' setting that you can use which lets you control the outgoing bitrate. Set it to something like 1.5Mbps and see if it works better?


----------



## jcthorne

Load that mkv file in handbrake and transcode it to an mp4 and it should stream fine without on the fly recode. Most mkv files are not interleaved to allow streaming. At least not in a way decoded directly by tivo. The video and audio content look fine, its the container that is flubbing this up for you.


----------



## Sicklybutsexy

Yoav said:


> Playing is a LOT easier on the CPU than encoding.
> 
> There is a 'quality' setting that you can use which lets you control the outgoing bitrate. Set it to something like 1.5Mbps and see if it works better?


I don't want to. I love the 16 Mbps, looks great. I can take the stuttering early on if that's the price to pay for video looking like that! Thanks though...


----------



## Yoav

jcthorne said:


> Load that mkv file in handbrake and transcode it to an mp4 and it should stream fine without on the fly recode. Most mkv files are not interleaved to allow streaming. At least not in a way decoded directly by tivo. The video and audio content look fine, its the container that is flubbing this up for you.


Unless you have discovered a 'don't re-encode' setting in handbrake, I don't believe that's possible.

ffmpeg with the -copy and mencoder with -copy both seem to generate invalid mp4s when I do this. So I'm sure there's SOME way to do this, but haven't figure out how.

Have you TRIED using a lower quality setting. even 5Mbps? really you shouldn't notice a difference (and it'll probably look MUCH better than a stuttery video). If nothing else, it will at least let us figure out if our theory about the transcoding is correct.


----------



## starks9630

New at this, so pardon my stupidity. What is the easiest way to take a dvd, rip it to my pc, then stream to my tivo? This program is amazing (if I could get it to work right)


----------



## moyekj

starks9630 said:


> New at this, so pardon my stupidity. What is the easiest way to take a dvd, rip it to my pc, then stream to my tivo? This program is amazing (if I could get it to work right)


 There are countless solutions, I'll mention 1. DVDFab is pretty popular since it can rip both DVD and Blu Ray titles.
(From initial window pick "Start DVDFab HD Decrypter" to run free version).

streambaby can play a group of VOB files in sequence so you don't necessarily have to join the main title VOB files together and in fact because of the 1.1GB file size limitation it's probably best to leave them split up anyway.


----------



## reneg

I'm having a couple issues with streambaby that I don't understand.
1) The filename changes names when displayed on the Tivo after I stream a video and exit it. For example, the filename "Lost.S03E20-The Man Behind the Curtain" becomes "Lost - The Man Behind the Curtain" after I stream and exit the video. Is there a way to stop this file renaming behavior?
2) I'm having aspect ratio problems on some files with Streambaby that work fine with pytivo. What I expect is 16:9 display, but what I get is 4:3 scrunched up video with cropping on the top and bottom.

Edit: I should have double checked before I posted. Second problem turned out to be a loose nut behind the keyboard. The problem video and a few others are displaying scrunched up under pytivo too, so I will just re-rip and re-encode them.


----------



## harley3k

This app rocks... thanks!


----------



## moyekj

reneg said:


> I'm having a couple issues with streambaby that I don't understand.
> 1) The filename changes names when displayed on the Tivo after I stream a video and exit it. For example, the filename "Lost.S03E20-The Man Behind the Curtain" becomes "Lost - The Man Behind the Curtain" after I stream and exit the video. Is there a way to stop this file renaming behavior?


 I like to keep my filenames showing as well instead of the Title names. Set the following in your streambaby.ini to achieve what you want. (Second setting is not really needed once you set 1st but I have it in case I do set use.title=true I still like them sorted by filename so that the episode order is still correct).

*use.title=false
sort.filename=true*


----------



## ITGuy72

Anyone have issues FFwding through a VOB file? Can't seem to get past the buffer, maybe this is expected? TIA


----------



## cburbs

kearygriffin said:


> From looking at the output I think it's probably as simple as not being able to keep up with the HD MKV. It's starting as a HD h264 video and getting transcoded to a HD MPEG2 before sending off to TiVo, which is going to take double the bitrate (I'm guessing, but the original is ~3400kbs so the MPEG2 may end up around ~7000kbs). This may be just to much for the either the CPU or the TiVo handle. (Not sure which, could be either)
> 
> I looked back in previous posts, but am not sure if I saw this suggested (or what the results) were. I would simply try to select a different quality in streambaby before playing. I'd try 2000kbs just to see what happens, and move up from there.
> 
> (note that the AVI is SD, a lower bitrate, and a lower quality codec at that bitrate so when it gets transcoded it would not end up near the 7000kbs mark)


I need to try this. I played with it one day and went down to I believe medium and it still did the same thing.


----------



## cburbs

reneg said:


> I'm having a couple issues with streambaby that I don't understand.
> 
> 2) I'm having aspect ratio problems on some files with Streambaby that work fine with pytivo. What I expect is 16:9 display, but what I get is 4:3 scrunched up video with cropping on the top and bottom.
> [/CODE]


Does it look the same if you use Full Screen, Panel or Zoom on the Tivo?


----------



## jcthorne

Yoav said:


> Unless you have discovered a 'don't re-encode' setting in handbrake, I don't believe that's possible.
> 
> ffmpeg with the -copy and mencoder with -copy both seem to generate invalid mp4s when I do this. So I'm sure there's SOME way to do this, but haven't figure out how.
> 
> Have you TRIED using a lower quality setting. even 5Mbps? really you shouldn't notice a difference (and it'll probably look MUCH better than a stuttery video). If nothing else, it will at least let us figure out if our theory about the transcoding is correct.


Nope, Handbrake will re-encode but its the easy way out. If you really want to do it without re-encoding. eac3to to demux and convert the audio to ac3 at less than or = 448kbps. Then MeGUI/MP4box to remux into a streaming compatible MP4. Works MOST of the time. There is a bug somwhere in mp4box that crashes about 25% of the time for me in this sequence. I mostly let handbrake do its thing and have been happy with the output.


----------



## reneg

moyekj said:


> I like to keep my filenames showing as well instead of the Title names. Set the following in your streambaby.ini to achieve what you want. (Second setting is not really needed once you set 1st but I have it in case I do set use.title=true I still like them sorted by filename so that the episode order is still correct).
> 
> *use.title=false
> sort.filename=true*


Thanks, this worked exactly how I like.



cburbs said:


> Does it look the same if you use Full Screen, Panel or Zoom on the Tivo?


It looks the same. 99.9% of the time, I use panel mode.


----------



## starks9630

moyekj said:


> There are countless solutions, I'll mention 1. DVDFab is pretty popular since it can rip both DVD and Blu Ray titles.
> (From initial window pick "Start DVDFab HD Decrypter" to run free version).
> 
> streambaby can play a group of VOB files in sequence so you don't necessarily have to join the main title VOB files together and in fact because of the 1.1GB file size limitation it's probably best to leave them split up anyway.


I tried to play the VOB files, but an error came up on the screen. I change the quality, and now the video and audio are very distorted.


----------



## Saxion

This is a GREAT program! Thanks so much to the developers!

This has probably been asked before, but: why does TiVo have a 1.1Gb limit on streaming? Is it some misplaced attempt to control file sharing? Is it likely to get fixed someday?


----------



## wmcbrine

Saxion said:


> This has probably been asked before, but: why does TiVo have a 1.1Gb limit on streaming?


The stream buffer uses disk space. (Otherwise, you couldn't rewind, or buffer ahead.) Since it's not associated with an NPL program, it has to use temporary space, like the Live Buffer does, so it has to be limited in the same way.

The feature was originally designed for use with YouTube, where the videos are all well under the limit.



> _Is it some misplaced attempt to control file sharing?_


Not even close. How would that work, anyway? 



> _Is it likely to get fixed someday?_


Netflix-style streaming works in a completely different way, and the limit doesn't apply there (and as a result, you can't really rewind Netflix streams). Other than that, don't hold your breath. But who knows?


----------



## moyekj

starks9630 said:


> I tried to play the VOB files, but an error came up on the screen. I change the quality, and now the video and audio are very distorted.


 Works fine for me and others. You'll have to post more details for debugging purposes, such as:
1. Change to com.unwiredappeal=debug in simplelog.properties file to turn on verbose output and restart the program and try playing back the VOB file that is failing, then post output in streambaby.log file here.
2. Post the output of MediaInfo on VOB file that is not playing back.
Only reason I can think of it may not play back correctly is if primary audio track is DTS audio instead of AC3. If that's the problem solution is to make sure you rip only with AC3 audio track.


----------



## Saxion

wmcbrine said:


> The stream buffer uses disk space. (Otherwise, you couldn't rewind, or buffer ahead.) Since it's not associated with an NPL program, it has to use temporary space, like the Live Buffer does, so it has to be limited in the same way.


Thanks for the info wmcbrine! True streaming protocols like RTSP don't need to buffer data to support scale changes; the client just sends a SET_PARAMETER to the server with a new Scale factor, and the server changes the rate (including rewind). I guess TiVo isn't implementing a full streaming protocol like this.


wmcbrine said:


> Not even close. How would that work, anyway?


I could see someone having the misguided logic that by limiting the streaming size to short-form video, it decreases the likelihood that it is copyrighted. Thank goodness it appears no such reasoning is behind this .


----------



## alexander123

Okay was looking for something like this. Hope it works.


----------



## orangeboy

Ok, I spent a couple of hours reading this thread, and got up to page 11 without finding what I was looking for. My apologies if the answer is on page 12, but is this expected behavior?


03/21/09 11:48:11 Listener: 192.168.0.105 I/O Exception handling HTTP GET 139d3fc5-4fe6-40bb-86e7-848519ce786b.stream: Connection reset by peer: socket write error
03/21/09 11:48:18 Listener: connection to receiver closed
03/21/09 11:48:18 Factory: HME receiver disconnected


This occurs after stopping a stream, and "leaving" the application. The app is no longer found in Music, Photos, & Showcases, unless I CTRL-C and restart streambaby.bat in Windows. How do I keep the app persistent in the M,P,&S menu?

I'm using:

Microsoft Windows XP SP3,
Streambaby-0.25,
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)


----------



## carios23

I ran the batch but could not find anything in the folder

My ini

#!/bin/bash
DIRNAME=`dirname $0`
java -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" [email protected]
dir.1=C:\Users\Christian\Documents\My TiVo Recordings


----------



## moyekj

carios23, see my post in Coffee House thread you started...


----------



## moyekj

orangeboy said:


> My apologies if the answer is on page 12, but is this expected behavior?
> 03/21/09 11:48:11 Listener: 192.168.0.105 I/O Exception handling HTTP GET 139d3fc5-4fe6-40bb-86e7-848519ce786b.stream: Connection reset by peer: socket write error
> 03/21/09 11:48:18 Listener: connection to receiver closed
> 03/21/09 11:48:18 Factory: HME receiver disconnected
> 
> This occurs after stopping a stream, and "leaving" the application. The app is no longer found in Music, Photos, & Showcases, unless I CTRL-C and restart streambaby.bat in Windows. How do I keep the app persistent in the M,P,&S menu?


All those messages are normal. However, you should still be able to see Streambaby in Music, Photos & Showcases if you don't terminate the streambaby console. Also, you should get messages such as these when entering Music, Photos & Showcases:
03/21/09 15:50:19 Listener: 192.168.1.107 icon.png HTTP GET - to factory /streambaby/


----------



## orangeboy

moyekj said:


> However, you should still be able to see Streambaby in Music, Photos & Showcases if you don't terminate the streambaby console.


I agree! I _should_ still see the app!  
My concern is with this message: "Connection reset by peer: socket write error." Should my Tivo try and reconnect after a period of time? I have the same issue with pyTivo disappearing after use as well. 

And yes, I do get the HTTP GET messages as well. Here's the entire log file from this morning's session:

03/21/09 11:23:36 Listener: added factory
03/21/09 11:23:36 Main: streambaby ready & listening.
03/21/09 11:23:48 Factory: HME receiver connected
03/21/09 11:26:14 Listener: 192.168.0.105 1fca5253-99db-47e3-a3d1-bc403759aa3a.stream HTTP GET - to factory /streambaby/
03/21/09 11:26:35 Listener: 192.168.0.105 I/O Exception handling HTTP GET 1fca5253-99db-47e3-a3d1-bc403759aa3a.stream: Connection reset by peer: socket write error
03/21/09 11:26:42 Listener: 192.168.0.105 139d3fc5-4fe6-40bb-86e7-848519ce786b.stream HTTP GET - to factory /streambaby/
03/21/09 11:48:11 Listener: 192.168.0.105 I/O Exception handling HTTP GET 139d3fc5-4fe6-40bb-86e7-848519ce786b.stream: Connection reset by peer: socket write error
03/21/09 11:48:18 Listener: connection to receiver closed
03/21/09 11:48:18 Factory: HME receiver disconnected

I have no problems once I'm in the app. So far, all files appear to play without issue. It definitely is a great app - My hat's off to the developer(s). I would just like it to last more than a session at a time.

I had thought about searching the log file for "HME receiver disconnected" or "Connection reset by peer" via a batch file, and if found, restarting streambaby. The logistics of setting such automation in place may be a bit beyond my limited programming skills.

Any suggestions to help debug the situation? Should my Tivo be forcefully closing the connection?

Additional information:
Unhacked/factory Tivo Series 3 connected to:
Wireless G network using:
Tivo's wireless USB adapter


----------



## moyekj

The "Connection reset by peer" messages occur every time you stop a video - it's just a message that Tivo terminated the stream. Normal and not part of your problem.
The "HME receiver disconnected" message is Tivo disconnecting from the HME application. Again normal and I see the same.

It appears that with your networking setup certain network discovery broadcasts are not making it to your Tivo consistently. This HME app uses JmDNS to "advertise" itself on your network but your Tivo is not consistently picking up the broadcasts. The fact you mentioned pyTivo also has a similar issue where it disappears from your NPL further suggests a networking issue. It looks like when you 1st start the app your Tivo sees it so looks like some broadcasts are making it through. Don't really know what's happening but I will say all the console messages you posted above are fine/normal.
You will probably see the same issue with any other 3rd party HME application since they all "advertise" themselves in a similar manner to streambaby.


----------



## orangeboy

moyekj said:


> The "Connection reset by peer" messages occur every time you stop a video - it's just a message that Tivo terminated the stream. Normal and not part of your problem.
> The "HME receiver disconnected" message is Tivo disconnecting from the HME application. Again normal and I see the same.
> 
> It appears that with your networking setup certain network discovery broadcasts are not making it to your Tivo consistently. This HME app uses JmDNS to "advertise" itself on your network but your Tivo is not consistently picking up the broadcasts. The fact you mentioned pyTivo also has a similar issue where it disappears from your NPL further suggests a networking issue. It looks like when you 1st start the app your Tivo sees it so looks like some broadcasts are making it through. Don't really know what's happening but I will say all the console messages you posted above are fine/normal.
> You will probably see the same issue with any other 3rd party HME application since they all "advertise" themselves in a similar manner to streambaby.


Hmmm. Interesting. So if I set up a sniffer (such as wireshark) on my network, I should be able to see JmDNS broadcasting? I'll set up wireshark on a pc that's not running the HME apps, and hope that I see it!


----------



## moyekj

Keary, this sample mp4 came up in another thread related to PAR settings (setting PAR=1:1 with MP4Box fixes aspect ratio for this one). Anyway, the problem is that streambaby crashes on this one but I'm able to stream it fine with tivostream and push it via pyTivo natively without any issues.
I can post debug log if you wish but it's probably easier for debugging if you just download yourself:
http://rapidshare.com/files/206525855/ST09_1_Vision.rar
(If you want you can fix aspect ratio using MP4Box -par 2=1:1)


----------



## starks9630

if I have a folder of vob files, should it automatically go to the next file? I ripped "The Departed" and I had to manually go to the next file to continue the movie. The 3rd file was in spanish.


----------



## moyekj

starks9630 said:


> if I have a folder of vob files, should it automatically go to the next file? I ripped "The Departed" and I had to manually go to the next file to continue the movie. The 3rd file was in spanish.


 To play a group of files with streambaby while in file browser mode you have to select "play" on a folder or "FF" with the cursor on the 1st file in the group (it will play from that file down). See this Wiki page for summary of all remote control functions.


----------



## kearygriffin

moyekj said:


> Keary, this sample mp4 came up in another thread related to PAR settings (setting PAR=1:1 with MP4Box fixes aspect ratio for this one). Anyway, the problem is that streambaby crashes on this one but I'm able to stream it fine with tivostream and push it via pyTivo natively without any issues.
> I can post debug log if you wish but it's probably easier for debugging if you just download yourself:
> http://rapidshare.com/files/206525855/ST09_1_Vision.rar
> (If you want you can fix aspect ratio using MP4Box -par 2=1:1)


Thanks, I see the problem-- It may take a bit to fix however. The problem is that there are two different types of "cprt" atoms in MP4s, so I am decoding the copyright atom in this file incorrectly (as an iTunes cprt atom as opposed to a mp4 style cprt atom). The problem is the code needs to differentiate between the two based on the parent atoms, and it is not designed to do this. (It assumes that an XXX atom is the same no matter where in the file it is, but I guess this is not always the case...)


----------



## moyekj

kearygriffin said:


> Thanks, I see the problem-- It may take a bit to fix however. The problem is that there are two different types of "cprt" atoms in MP4s, so I am decoding the copyright atom in this file incorrectly (as an iTunes cprt atom as opposed to a mp4 style cprt atom). The problem is the code needs to differentiate between the two based on the parent atoms, and it is not designed to do this. (It assumes that an XXX atom is the same no matter where in the file it is, but I guess this is not always the case...)


 OK thanks. FYI using the featured streambaby-0.25 release works fine (I think that has older translated-from-C version of mp4 parsing if I recall correctly).


----------



## orangeboy

Hi,
I'm further exploring the ins and outs of this app. When I run Streambaby as a Service, I am unable to navigate sub-directories, and receive the message "No entries in this Directory". When I run the Streambaby bat file, I can navigate around with no issues. I can see that Streambaby as a Service is correctly reading the .ini file, because it hid password protected folders after I added 'remember.password=false' in the .ini. 

Why the difference?


----------



## cburbs

kearygriffin said:


> From looking at the output I think it's probably as simple as not being able to keep up with the HD MKV. It's starting as a HD h264 video and getting transcoded to a HD MPEG2 before sending off to TiVo, which is going to take double the bitrate (I'm guessing, but the original is ~3400kbs so the MPEG2 may end up around ~7000kbs). This may be just to much for the either the CPU or the TiVo handle. (Not sure which, could be either)
> 
> I looked back in previous posts, but am not sure if I saw this suggested (or what the results) were. I would simply try to select a different quality in streambaby before playing. I'd try 2000kbs just to see what happens, and move up from there.
> 
> (note that the AVI is SD, a lower bitrate, and a lower quality codec at that bitrate so when it gets transcoded it would not end up near the 7000kbs mark)


The low quality will play but looks worse than a VCR tape -- so any recommendations on conversion of these MKV files I am having problems with that will work?


----------



## grantsa4

Anyone have any idea why I am getting these IO exceptions?

03/22/09 15:36:26 Listener: added factory
03/22/09 15:36:26 Main: streambaby ready & listening.
03/22/09 15:36:35 Listener: 192.168.16.102 icon.png HTTP GET - to factory /streambaby/
03/22/09 15:36:39 Factory: HME receiver connected
03/22/09 15:37:00 Listener: 192.168.16.102 f720258a-30bf-462e-a118-066e79fb40e5.stream HTTP GET - to factory /streambaby/
03/22/09 15:38:41 Listener: connection to receiver closed
03/22/09 15:38:41 Factory: HME receiver disconnected
03/22/09 15:38:52 Listener: 192.168.16.102 icon.png HTTP GET - to factory /streambaby/
03/22/09 15:38:55 Factory: HME receiver connected
03/22/09 15:38:58 Listener: 192.168.16.102 I/O Exception handling HTTP GET f720258a-30bf-462e-a118-066e79fb40e5.stream: Connection reset by peer: socket write error
03/22/09 15:39:45 Listener: 192.168.16.102 189fc10e-e346-4f99-ad3a-d26f18a35416.stream HTTP GET - to factory /streambaby/
03/22/09 15:40:36 Listener: 192.168.16.102 I/O Exception handling HTTP GET 189fc10e-e346-4f99-ad3a-d26f18a35416.stream: Connection reset by peer: socket write error
03/22/09 15:40:37 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe closed
03/22/09 15:40:37 Listener: connection to receiver closed
03/22/09 15:40:37 Factory: HME receiver disconnected
03/22/09 15:40:55 Listener: 192.168.16.102 icon.png HTTP GET - to factory /streambaby/
03/22/09 15:41:08 Factory: HME receiver connected
03/22/09 15:41:44 Listener: 192.168.16.102 0b7cdd9e-0da2-4058-a98d-81c16d4d32c5.stream HTTP GET - to factory /streambaby/
03/22/09 15:42:14 Listener: 192.168.16.102 I/O Exception handling HTTP GET 0b7cdd9e-0da2-4058-a98d-81c16d4d32c5.stream: Connection reset by peer: socket write error
03/22/09 15:42:27 Listener: connection to receiver closed
03/22/09 15:42:27 Factory: HME receiver disconnected
03/22/09 15:42:50 Listener: 192.168.16.102 icon.png HTTP GET - to factory /streambaby/


----------



## kearygriffin

orangeboy said:


> Hi,
> I'm further exploring the ins and outs of this app. When I run Streambaby as a Service, I am unable to navigate sub-directories, and receive the message "No entries in this Directory". When I run the Streambaby bat file, I can navigate around with no issues. I can see that Streambaby as a Service is correctly reading the .ini file, because it hid password protected folders after I added 'remember.password=false' in the .ini.
> 
> Why the difference?


One possibility is that windows services (without special configuration) can't access network shares. Are your directories on a network folder?

Having said that, it's been a while since I have played with streambaby as a windows service, so it's conceivable it just don't work


----------



## kearygriffin

grantsa4 said:


> Anyone have any idea why I am getting these IO exceptions?
> ..
> ..


All of that is normal-- Are you experiencing any specific problem?


----------



## grantsa4

Thanks for the response.

Well everything was working fine on Friday. Now when I start streaming it plays for not even 30 seconds and stops. I can't pause or fast forward or get any further in the file.


----------



## Wraith

Hi all,

just downloaded streambaby and everything works fine from the windows side. I can browse my folders on the tivo but when I press play on a file it gives me an 'ERROR 0x2e006a \n {FILENAME}' error (replace filename with the filename I am trying to play, and \n with a newline, obviously).

I am using a HD tivo!

I couldn't find anyone else with this issue, I hope I didn't just miss the post in my readthrough!


----------



## orangeboy

kearygriffin said:


> One possibility is that windows services (without special configuration) can't access network shares. Are your directories on a network folder?


Yes, exactly. I have a remote machine with a smaller processor but much harddrive space (some drives raided) that I dump my files to.

Thanks

Update: Being in a workgroup and not a domain, I created a pseudo Service account by adding a local user with the same name and password on all of my machines that participate in the workgroup. Hopefully this will work! I'll see when I get home from work and can sit in front of the Tivo.


----------



## orangeboy

Still a no go with the Service using a local account on the remote machine. Oh well.


----------



## comandercody

Wow this is cool, can I have more than "Two" directories?


----------



## moyekj

comandercody said:


> Wow this is cool, can I have more than "Two" directories?


 I don't think there's any limit. Just add more entries in streambaby.ini:
dir.1=xxx
dir.2=xxx
dir.3=xxx
dir.4=xxx
(and optionally accompanying dir.n.name=xxx titles)


----------



## orangeboy

Is there a setting to transcode audio if it's lpcm? I have some VOB files I'd like to enjoy on my S3, but I can only get video. VLC player indicates the audio is lpcm. Another VOB that does sound correct is encoded with a52(?). 

Thanks!


----------



## Yoav

orangeboy said:


> Is there a setting to transcode audio if it's lpcm? I have some VOB files I'd like to enjoy on my S3, but I can only get video. VLC player indicates the audio is lpcm. Another VOB that does sound correct is encoded with a52(?).
> 
> Thanks!


don't know the answer to your main question, but a52 is dolby digital (aka AC-3)


----------



## kearygriffin

orangeboy said:


> Is there a setting to transcode audio if it's lpcm? I have some VOB files I'd like to enjoy on my S3, but I can only get video. VLC player indicates the audio is lpcm. Another VOB that does sound correct is encoded with a52(?).
> 
> Thanks!


You can try this in streambaby.ini: (I should probably have it in there by default)

mpegmod.streamformats=mpeg,*,mp2;mpeg,*,ac3;mpeg,*,aac

That tells it to only allow mpeg that has any video, and mpeg-2,ac3,or aac audio. Otherwise transcode.

(Is AAC audio allowed in mpeg and does tivo support it? I really have no idea, but the above is better than the default of allowing any audio type)


----------



## comandercody

moyekj said:


> I don't think there's any limit. Just add more entries in streambaby.ini:
> dir.1=xxx
> dir.2=xxx
> dir.3=xxx
> dir.4=xxx
> (and optionally accompanying dir.n.name=xxx titles)


I tried that, here is my .ini:

#
# ./streambaby --help for more configuration file options
#
dir.1=J:\pyTIVO\Howard Stern on Demand
dir.1.name=Howard Stern on Demand
dir.2=J:\pyTIVO\Movies and TV Shows
dir.2.name=Movies and TV Shows
dir.3=J:\Tivo Good Stuff
dir.3.name=Stuff
dir.3.password=2007
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

but only the first two show up.


----------



## kearygriffin

comandercody said:


> I tried that, here is my .ini:
> 
> #
> # ./streambaby --help for more configuration file options
> #
> dir.1=J:\pyTIVO\Howard Stern on Demand
> dir.1.name=Howard Stern on Demand
> dir.2=J:\pyTIVO\Movies and TV Shows
> dir.2.name=Movies and TV Shows
> dir.3=J:\Tivo Good Stuff
> dir.3.name=Stuff
> dir.3.password=2007
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290
> 
> but only the first two show up.


It's not showing up because it is password protected.

Remove the password from dir.3 in the INI, or press the "clear" while on the selection screen to return to the password screen, and then enter the password


----------



## orangeboy

kearygriffin said:


> You can try this in streambaby.ini: (I should probably have it in there by default)
> 
> mpegmod.streamformats=mpeg,*,mp2;mpeg,*,ac3;mpeg,*,aac
> 
> That tells it to only allow mpeg that has any video, and mpeg-2,ac3,or aac audio. Otherwise transcode.
> 
> (Is AAC audio allowed in mpeg and does tivo support it? I really have no idea, but the above is better than the default of allowing any audio type)


That did the trick - I can hear the audio! Is ffmpeg smart enough to leave the video alone (since it is compatible) and focus only on the audio? Sorry for being so lazy and not looking this up myself


----------



## orangeboy

moyekj said:


> The "Connection reset by peer" messages occur every time you stop a video - it's just a message that Tivo terminated the stream. Normal and not part of your problem.
> The "HME receiver disconnected" message is Tivo disconnecting from the HME application. Again normal and I see the same.
> 
> It appears that with your networking setup certain network discovery broadcasts are not making it to your Tivo consistently. This HME app uses JmDNS to "advertise" itself on your network but your Tivo is not consistently picking up the broadcasts. The fact you mentioned pyTivo also has a similar issue where it disappears from your NPL further suggests a networking issue. It looks like when you 1st start the app your Tivo sees it so looks like some broadcasts are making it through. Don't really know what's happening but I will say all the console messages you posted above are fine/normal.
> You will probably see the same issue with any other 3rd party HME application since they all "advertise" themselves in a similar manner to streambaby.


It seems that all my problems of the app disappearing were resolved when I installed Streambaby on a machine attached by wire to the network. This machine still uses a network share as it's source for media, but I believe the airwaves are less clogged with traffic required by the other (wireless) machine fetching the data from the share drive, then pushing it to the Tivo.

Yeesh, thinking about it, the resource requirements for my router when using a wireless pc to host streambaby must have been incredible! Using a wireless pc to host streambaby would have required the same data to traverse over the air 3 times to get to Tivo

data source > router > pc (hosting streambaby)
pc > router 
router > tivo

Maybe it's time to ditch wireless altogether and go with a powerline network...


----------



## moyekj

kearygriffin said:


> (Is AAC audio allowed in mpeg and does tivo support it? I really have no idea, but the above is better than the default of allowing any audio type)


 No mpeg2 doesn't allow AAC audio. I tried a short encoding with mpeg2 video & 2 channel AAC audio just for kicks and VLC plays it back without any audio as does Tivo.


----------



## moyekj

orangeboy said:


> Maybe it's time to ditch wireless altogether and go with a powerline network...


 MoCA (IP over coax) is another alternative to wireless as well. See this thread for more details:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=379206


----------



## kearygriffin

moyekj said:


> No mpeg2 doesn't allow AAC audio. I tried a short encoding with mpeg2 video & 2 channel AAC audio just for kicks and VLC plays it back without any audio as does Tivo.


Thanks, I'll make the default for streambaby:
mpegmod.streamformats=mpeg,mp2v,mp2;mpeg,mp2v,ac3;mpeg,mp1v,mp2;mpeg,mp1v,ac3

Which is mpeg-ps with MPEG1/2 video and mpeg-2/ac3 audio. (I haven't tried MPEG-1 video myself, but I seem to recall that pyTivo supports it as long as it is in an MPEG-2 container)


----------



## moyekj

kearygriffin said:


> Which is mpeg-ps with MPEG1/2 video and mpeg-2/ac3 audio. (I haven't tried MPEG-1 video myself, but I seem to recall that pyTivo supports it as long as it is in an MPEG-2 container)


 Confirmed that mpeg2 program stream container + mpeg1 video + mp2 or ac3 audio streams fine natively. I've updated the video compatibility video page accordingly.


----------



## comandercody

kearygriffin said:


> It's not showing up because it is password protected.
> 
> Remove the password from dir.3 in the INI, or press the "clear" while on the selection screen to return to the password screen, and then enter the password


Great!! That did it, thanks again.


----------



## wmcbrine

kearygriffin said:


> (I haven't tried MPEG-1 video myself, but I seem to recall that pyTivo supports it as long as it is in an MPEG-2 container)


It does, as of the last few days. Before that, it was transcoding it. Or rather... The TiVo will accept MPEG-1 video. If you put it into an MPEG-2 program stream, it will work as expected. If you use MPEG-1/VCD-style muxing, it will work, but with no timeline on a Series 3. And while ffmpeg can do either kind of muxing on output, it doesn't distinguish between them on input. So the old pyTivo behavior was to reencode any mpeg1video file. Now, since I've finally separated the video reencoding from the remuxing, it will only remux them.

There may or may not have been a time in the distant past when pyTivo passed MPEG-1 without even remuxing it; I don't recall.

In HME/VLC, I always encode to MPEG-1 (in a program stream) when transcoding, since it was having some problems with MPEG-2.


----------



## sysin

Great job on this Keary. 

I just wish there was a remote shortcut that would take me directly to the app from TivoCentral. Loading all the TivoSpam on the Music, Photos.. screen and scrolling past it takes a while.


----------



## herbman

moyekj said:


> No mpeg2 doesn't allow AAC audio. I tried a short encoding with mpeg2 video & 2 channel AAC audio just for kicks and VLC plays it back without any audio as does Tivo.


AAC is indeed part of both the mpeg-2 and mpeg-4 standards. It should be handled in mpeg2.

http://en.wikipedia.org/wiki/Advanced_Audio_Coding


----------



## moyekj

Keary, this testcase (again generated for testing aspect ratio stuff) is interesting as well. Using streambaby-svn-r152 playback fails - I get the red error text as when Tivo rejects the stream. tivostream plays it fine*. Reverting to streambaby-0.25 plays fine*.

* This clip plays with blank video on S3s but video is fine on THDs so it's also an interesting one in that regard.

http://tivostream.googlecode.com/files/test_h264_1280x544_ac3.mp4


----------



## moyekj

herbman said:


> AAC is indeed part of both the mpeg-2 and mpeg-4 standards. It should be handled in mpeg2.
> 
> http://en.wikipedia.org/wiki/Advanced_Audio_Coding


 OK, but neither DVD or ATSC standards support it AFAIK so no doubt many codecs can't handle it. Regardless Tivo mpeg2 decoder doesn't handle it, so for the purposes of this thread/application it's not supported.


----------



## orangeboy

I don't know if this has been discussed before, but has there been any thought about combining Streambaby with PyTivo? I like being able to navigate to any video source. What would be great is having an option to either 'stream now' for instant gratification, or saying 'save to dvr' for those videos whose bitstreams are too much for less robust networks. :up:


----------



## moyekj

orangeboy said:


> I don't know if this has been discussed before, but has there been any thought about combining Streambaby with PyTivo? I like being able to navigate to any video source. What would be great is having an option to either 'stream now' for instant gratification, or saying 'save to dvr' for those videos whose bitstreams are too much for less robust networks. :up:


 That kind of integration would have to be driven from HME (streambaby) side of things. These are 2 very different applications (one in Java & HME protocol, other in python & HMO protocol) and integrating all of pyTivo in Java would be quite significant undertaking - probably easier to start with Galleon.

However, perhaps an easy starting point would be if you have both applications running separately you could conceivably have streambaby initiate a push and then pyTivo server would be available to serve up the video once Tivo asks for it. i.e. Add an option in streambaby selection screen to "download" (or push or whatever you want to call it) and mimic what is done in pyTivo "mind.py" in Java to initiate the push (or perhaps even easier just have Java execute a python script to do it).


----------



## Yoav

orangeboy said:


> I don't know if this has been discussed before, but has there been any thought about combining Streambaby with PyTivo? I like being able to navigate to any video source. What would be great is having an option to either 'stream now' for instant gratification, or saying 'save to dvr' for those videos whose bitstreams are too much for less robust networks. :up:


Nothing is stopping you from running both applications at the same time. They do not conflict with each other at all. Then you can easily choose 'download' from the now playing list, or stream from the photos,music, etc.


----------



## wmcbrine

orangeboy said:


> I don't know if this has been discussed before, but has there been any thought about combining Streambaby with PyTivo?


Yoav already did this, after a fashion, when he bundled Streambaby into pyTivoX. It makes a certain kind of sense, since they can (I assume -- I haven't looked into the internals of pyTivoX) share an ffmpeg binary, as well as some config. It doesn't do what you want, though.

But for myself, the answer is "no". If I were going to combine a video streamer into pyTivo, it would be my own HME/VLC, which at least is written in Python. Then again, it depends on VLC instead of ffmpeg, so that's another problem.



moyekj said:


> Add an option in streambaby selection screen to "download" (or push or whatever you want to call it) and mimic what is done in pyTivo "mind.py" in Java to initiate the push (or perhaps even easier just have Java execute a python script to do it).


Even easier than that: make an HTTP request to pyTivo to initiate the transfer. That's how the Push works already.


----------



## orangeboy

Yoav said:


> Nothing is stopping you from running both applications at the same time. They do not conflict with each other at all. Then you can easily choose 'download' from the now playing list, or stream from the photos,music, etc.


Yep, I do have both apps running. I think you are missing the point though concerning the flexibility. There are times when I know immediately if the video I want to watch will be able to stream with or without problems. If I watch a video for a second or two and it has to pause to wait for more data, then it would be a good candidate for 'download' with pyTivo. If Streambaby already has the path & filename stored in a variable, from the other replies, it sounds like it wouldn't be too difficult to construct an HTTP request to pyTivo. Otherwise navigating (all the way) back the NPL to set up pyTivo and navigating back to where you were to puruse other content is your other option. End of the world? Not at all! Inconvenient? Maybe if it could not be done in one app (or one app calling another). I'm just saying what I think would be great


----------



## moyekj

orangeboy said:


> Yep, I do have both apps running. I think you are missing the point though concerning the flexibility. There are times when I know immediately if the video I want to watch will be able to stream with or without problems. If I watch a video for a second or two and it has to pause to wait for more data, then it would be a good candidate for 'download' with pyTivo. If Streambaby already has the path & filename stored in a variable, from the other replies, it sounds like it wouldn't be too difficult to construct an HTTP request to pyTivo. Otherwise navigating (all the way) back the NPL to set up pyTivo and navigating back to where you were to puruse other content is your other option. End of the world? Not at all! Inconvenient? Maybe if it could not be done in one app (or one app calling another). I'm just saying what I think would be great


 Since I thought this was a good idea I developed a working prototype today. If pyTivo is detected and the currently selected video in PlayScreen with same file name is found under a pyTivo video container then an extra option called "pyTivo push" is given. When you navigate to that option you can then choose a Tivo and press Select to initiate push to pyTivo.
I submitted the prototype to Keary so he can add it to distribution if he wishes. There is some cleanup/refinement needed still but the basic functionality is there.


----------



## Sicklybutsexy

that sounds really cool!


----------



## wmcbrine

moyekj said:


> When you navigate to that option you can then choose a Tivo and press Select to initiate push to pyTivo.


Since you're making this request _from_ a TiVo, I wonder if it wouldn't make more sense to skip that step, and just push to the requesting TiVo.


----------



## orangeboy

wmcbrine said:


> Since you're making this request _from_ a TiVo, I wonder if it wouldn't make more sense to skip that step, and just push to the requesting TiVo.


I like the option of choosing which Tivo to push to! Say you are in the living room and find a video that isn't (easily) streamable, sending it to a bedroom Tivo for later viewing sounds like an ideal option (if absolutely intent on watching the content that day!)

Thanks moyekj, and all the other developers that make Tivo even better!


----------



## bradleys

I like this option as well. Often we will be sitting in the family room trying to decide what movie we want to watch in the Media room. It would be great to be able to initiate the push immediately.


----------



## Sicklybutsexy

I've used everything imaginable from ffmpeg to mp4 creator to mp4 box and I can't seem to get an MKV file demuxed and remuxed into an mp4 streamable file. The closest I've come is to using XvidPsP which works very well, however once I get about an hour into a movie I get a black screen and these screaching audio. Is this a 64 bit addressing problem? Anyone have a solution that works for them for converting mkv to mp4 without renencoding and streaming over with streambaby?


----------



## Sicklybutsexy

here's what the log shows: is it a problem with streambaby on large files? this one is about 6 gb.

03/29/09 17:58:41 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
03/29/09 17:58:41 Listener: added factory
03/29/09 17:58:41 Main: streambaby ready & listening.
03/29/09 17:59:27 Listener: 192.168.1.104 icon.png HTTP GET - to factory /streambaby/
03/29/09 17:59:32 Factory: HME receiver connected
03/29/09 18:00:55 Listener: 192.168.1.104 3435cb0b-3779-4ad2-99bd-2964b1455bd4.stream HTTP GET - to factory /streambaby/
03/29/09 18:01:26 Listener: 192.168.1.104 I/O Exception handling HTTP GET 3435cb0b-3779-4ad2-99bd-2964b1455bd4.stream: Connection reset by peer: socket write error
03/29/09 18:01:26 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe closed
03/29/09 18:01:27 Listener: 192.168.1.104 2a863c9c-e468-4a28-9ac8-9c7d9281011f.stream HTTP GET - to factory /streambaby/
03/29/09 18:01:43 Listener: 192.168.1.104 I/O Exception handling HTTP GET 2a863c9c-e468-4a28-9ac8-9c7d9281011f.stream: Connection reset by peer: socket write error
03/29/09 18:01:44 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe closed
03/29/09 18:01:47 Listener: connection to receiver closed
03/29/09 18:01:47 Factory: HME receiver disconnected
03/29/09 18:01:52 Listener: 192.168.1.104 icon.png HTTP GET - to factory /streambaby/


----------



## wesleygriffin

I'm in the process of creating a bunch of m4v files using Handbrake on Windows. I picked the high profile, constant quality preset which passes through the 5.1 ac3 audio and uses x264 to encode 61%. I'm pasting in the mediainfo output below.

My first small problem is that by default streambaby was transcoding these files. I ended up disabling transcoding and the video looks great.

My larger problem is that VLC plays these files just fine, but when I try to stream them via streambaby, the audio is never synced. It actually appears to start pretty close, slow down some, catch back up and then slow down again, repeating the cycle.

I tried turning off interleaving, but that didn't work at all and even the video didn't play correctly. I'm serving these from a core duo mac mini with 2gb of ram running revision 154 directly from the svn repository.

I would appreciate any suggestions on how to get the audio to play synced. Could it be an issue on the tivo? I set the tivo to pass dolby digital, and my receiver is indicating its receiving the dolby digital 5.1 track, so I'm pretty sure there is no transcoding of the audio.

Thanks,
Wes



Code:


General
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 2.20 GiB
Duration                         : 1h 56mn
Overall bit rate                 : 2 704 Kbps
Encoded date                     : UTC 2009-03-24 12:12:10
Tagged date                      : UTC 2009-03-24 13:50:01
Writing application              : HandBrake 0.9.3 2008112300

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : Yes
Format settings, ReFrames        : 3 frames
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 1h 56mn
Bit rate mode                    : Variable
Bit rate                         : 2 317 Kbps
Width                            : 720 pixels
Height                           : 480 pixels
Display aspect ratio             : 16/9
Frame rate mode                  : Variable
Frame rate                       : 23.976 fps
Minimum frame rate               : 13.319 fps
Maximum frame rate               : 29.981 fps
Standard                         : NTSC
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.280
Stream size                      : 1.88 GiB (86%)
Writing library                  : x264 core 65
Encoding settings                : cabac=1 / ref=3 / deblock=1:-2:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=1.0:1.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-4 / threads=6 / nr=0 / decimate=0 / mbaff=0 / bframes=3 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / keyint=240 / keyint_min=24 / scenecut=40(pre) / rc=crf / crf=19.9 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Encoded date                     : UTC 2009-03-24 12:12:10
Tagged date                      : UTC 2009-03-24 13:50:01

Audio
ID                               : 2
Format                           : AC-3
Format/Info                      : Audio Coding 3
Codec ID                         : ac-3
Duration                         : 1h 56mn
Bit rate mode                    : Constant
Bit rate                         : 384 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Surround: L R, LFE
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 320 MiB (14%)
Language                         : English
Encoded date                     : UTC 2009-03-24 12:12:10
Tagged date                      : UTC 2009-03-24 13:49:58

Text
ID                               : 3
Format                           : Apple text
Codec ID                         : text
Duration                         : 1h 56mn
Bit rate mode                    : Variable
Stream size                      : 735 Bytes (0%)
Encoded date                     : UTC 2009-03-24 12:12:10
Tagged date                      : UTC 2009-03-24 13:50:01


----------



## moyekj

Sicklybutsexy said:


> I've used everything imaginable from ffmpeg to mp4 creator to mp4 box and I can't seem to get an MKV file demuxed and remuxed into an mp4 streamable file. The closest I've come is to using XvidPsP which works very well, however once I get about an hour into a movie I get a black screen and these screaching audio. Is this a 64 bit addressing problem? Anyone have a solution that works for them for converting mkv to mp4 without renencoding and streaming over with streambaby?


Haven't tried it, but perhaps this flow may achieve something useable:
http://oddmanout.wordpress.com/2008...e-to-ps3-mp4-without-re-encoding-on-mac-os-x/

i.e. something like:
1. mkvinfo file.mkv
Note videoTrackNumber, audioTrackNumber and videoFramerate

2. mkvextract tracks file.mkv videoTrackNumber:video.h264

3. mkvextract tracks file.mkv audioTrackNumber:audio.ac3

4. mp4creator -create=video.h264 -rate=videoFramerate file.mp4

5. mp4creator -hint=1 file.mp4

6. mp4creator -c audio.ac3 -interleave -optimize file.mp4


----------



## Sicklybutsexy

don't think that's it as I have been making sure the file is optimized and interleaved with mp4 creator as well. In fact, I find that with mp4 creator there are a lot of audio sync issues but no audio sync issues with mp4box. Not sure what -hint does but maybe that's it? The video works perfectly for the first hour on just about every file and then all of the sudden a black screen and screeching audio. Do you think it's something with streambaby...


----------



## Sicklybutsexy

ok so this is what a hint is..."hint tracks contain general instructions for streaming servers as to how to form packet streams, from media tracks, for a specific protocol." Are these necesssary for streambaby?


----------



## wesleygriffin

I have another example, this time the audio is 2-channel AAC and it plays just fine until I hit the 1.1GB buffer limit and a new stream is buffered. Once this happens, the audio is very out of sync, I would estimate it is more than 2 seconds ahead of the video. I'm including the mediainfo on this file as well.

Again, if anyone has any suggestions on what I could do, I would appreciate it. Even re-encoding is an option available to me.

Thanks,
Wes



Code:


General
Format                           : MPEG-4
Format profile                   : Base Media / Version 2
Codec ID                         : mp42
File size                        : 1.30 GiB
Duration                         : 1h 52mn
Overall bit rate                 : 1 666 Kbps
Encoded date                     : UTC 2009-03-16 15:47:10
Tagged date                      : UTC 2009-03-16 18:18:19
Writing application              : HandBrake 0.9.3 2008112300

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : Yes
Format settings, ReFrames        : 2 frames
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 1h 52mn
Bit rate mode                    : Variable
Bit rate                         : 1 500 Kbps
Width                            : 720 pixels
Height                           : 480 pixels
Display aspect ratio             : 1.500
Frame rate mode                  : Variable
Frame rate                       : 29.970 fps
Minimum frame rate               : 29.963 fps
Maximum frame rate               : 29.981 fps
Standard                         : NTSC
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.145
Stream size                      : 1.17 GiB (90%)
Writing library                  : x264 core 65
Encoding settings                : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=5 / psy_rd=0.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=2 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=0 / keyint=300 / keyint_min=30 / scenecut=40(pre) / rc=2pass / bitrate=1500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Encoded date                     : UTC 2009-03-16 15:47:10
Tagged date                      : UTC 2009-03-16 18:18:19

Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : No
Codec ID                         : 40
Duration                         : 1h 52mn
Bit rate mode                    : Variable
Bit rate                         : 160 Kbps
Maximum bit rate                 : 237 Kbps
Channel(s)                       : 2 channels
Channel positions                : L R
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 128 MiB (10%)
Language                         : English
Encoded date                     : UTC 2009-03-16 15:47:10
Tagged date                      : UTC 2009-03-16 18:18:16

Text
ID                               : 3
Format                           : Apple text
Codec ID                         : text
Duration                         : 1h 52mn
Bit rate mode                    : Constant
Stream size                      : 576 Bytes (0%)
Encoded date                     : UTC 2009-03-16 15:47:10
Tagged date                      : UTC 2009-03-16 18:18:19


----------



## Sicklybutsexy

wesleygriffin said:


> I have another example, this time the audio is 2-channel AAC and it plays just fine until I hit the 1.1GB buffer limit and a new stream is buffered. Once this happens, the audio is very out of sync, I would estimate it is more than 2 seconds ahead of the video. I'm including the mediainfo on this file as well.
> 
> Again, if anyone has any suggestions on what I could do, I would appreciate it. Even re-encoding is an option available to me.
> 
> Thanks,
> Wes
> 
> 
> 
> Code:
> 
> 
> General
> Format                           : MPEG-4
> Format profile                   : Base Media / Version 2
> Codec ID                         : mp42
> File size                        : 1.30 GiB
> Duration                         : 1h 52mn
> Overall bit rate                 : 1 666 Kbps
> Encoded date                     : UTC 2009-03-16 15:47:10
> Tagged date                      : UTC 2009-03-16 18:18:19
> Writing application              : HandBrake 0.9.3 2008112300
> 
> Video
> ID                               : 1
> Format                           : AVC
> Format/Info                      : Advanced Video Codec
> Format profile                   : [email protected]
> Format settings, CABAC           : Yes
> Format settings, ReFrames        : 2 frames
> Codec ID                         : avc1
> Codec ID/Info                    : Advanced Video Coding
> Duration                         : 1h 52mn
> Bit rate mode                    : Variable
> Bit rate                         : 1 500 Kbps
> Width                            : 720 pixels
> Height                           : 480 pixels
> Display aspect ratio             : 1.500
> Frame rate mode                  : Variable
> Frame rate                       : 29.970 fps
> Minimum frame rate               : 29.963 fps
> Maximum frame rate               : 29.981 fps
> Standard                         : NTSC
> Resolution                       : 24 bits
> Colorimetry                      : 4:2:0
> Scan type                        : Progressive
> Bits/(Pixel*Frame)               : 0.145
> Stream size                      : 1.17 GiB (90%)
> Writing library                  : x264 core 65
> Encoding settings                : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=5 / psy_rd=0.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=2 / b_pyramid=0 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=0 / keyint=300 / keyint_min=30 / scenecut=40(pre) / rc=2pass / bitrate=1500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
> Encoded date                     : UTC 2009-03-16 15:47:10
> Tagged date                      : UTC 2009-03-16 18:18:19
> 
> Audio
> ID                               : 2
> Format                           : AAC
> Format/Info                      : Advanced Audio Codec
> Format version                   : Version 4
> Format profile                   : LC
> Format settings, SBR             : No
> Codec ID                         : 40
> Duration                         : 1h 52mn
> Bit rate mode                    : Variable
> Bit rate                         : 160 Kbps
> Maximum bit rate                 : 237 Kbps
> Channel(s)                       : 2 channels
> Channel positions                : L R
> Sampling rate                    : 48.0 KHz
> Resolution                       : 16 bits
> Stream size                      : 128 MiB (10%)
> Language                         : English
> Encoded date                     : UTC 2009-03-16 15:47:10
> Tagged date                      : UTC 2009-03-16 18:18:16
> 
> Text
> ID                               : 3
> Format                           : Apple text
> Codec ID                         : text
> Duration                         : 1h 52mn
> Bit rate mode                    : Constant
> Stream size                      : 576 Bytes (0%)
> Encoded date                     : UTC 2009-03-16 15:47:10
> Tagged date                      : UTC 2009-03-16 18:18:19


not sure if this is it but have you tried not using a variable frame rate?


----------



## reneg

I'm using the .25 version of Streambaby. I've got a couple of minor feature requests that I'd like to see added if possible.

1) When you are playing a video with Streambaby, enter the Slow key, the video goes into slow motion, if you press the pause key, the video resumes play at normal speed. I'd like to request that Streambaby emulate Tivo playback such that when playing a video, enter the slow key, the video goes into slow motion, and if you press the pause key, the video pauses. All other combinations of play/slow/pause seem to work like Tivo playback except this one.

2) When you navigate into a folder and select a file. Before you select play, or change quality, it would be nice if Streambaby would respond to the Channel up/Channel down keys to bring up the previous/next file in the directory similar to the way that the Now Playing list behaves for Tivo.

Keep up the good work, I'm really enjoying this app.


----------



## moyekj

wesleygriffin said:


> I have another example, this time the audio is 2-channel AAC and it plays just fine until I hit the 1.1GB buffer limit and a new stream is buffered. Once this happens, the audio is very out of sync, I would estimate it is more than 2 seconds ahead of the video. I'm including the mediainfo on this file as well.
> 
> Again, if anyone has any suggestions on what I could do, I would appreciate it. Even re-encoding is an option available to me.
> 
> Thanks,
> Wes


 Have you tried pyTivo push of the file instead? That's another way to get native mp4 videos to the Tivo without the bothersome 1.1GB buffer limit. My guess is with continuous uninterrupted play the sync would be OK.


----------



## Sicklybutsexy

moyekj said:


> Have you tried pyTivo push of the file instead? That's another way to get native mp4 videos to the Tivo without the bothersome 1.1GB buffer limit. My guess is with continuous uninterrupted play the sync would be OK.


"pushing" using pytivo solves my problem as well. I think the problem arise with about an hour into any 5 gb or greater movie that I have (haven't tried smaller). Has anyone been able to watch or even seek past the 1 to 1:15 hour mark on HD mp4's?


----------



## eochs

hmmmmmm, not seeing it on my TiVo HD... Running Ubuntu 8.10... streambaby.ini seems correctly configured, and when i launch i get:

[email protected]:~/downloads/streambaby/streambaby-0.25$ ./streambaby
Initializing...
03/30/09 22:29:21 Listener: added factory
03/30/09 22:29:21 Main: streambaby ready & listening.

Galleon works for TiVO apps, but streambaby isn't found... any hints?


----------



## eochs

with more logging turned on:

Initializing...
03/30/09 22:40:52 Listener: added factory
03/30/09 22:40:52 Main: streambaby ready & listening.
^[email protected]:~/downloads/streambaby/streambaby-0.25$ sudo ./streambaby
Initializing...
03/30/09 22:50:17 StreamBabyConfig: WorkingDir: /home/eochs/downloads/streambaby/streambaby-0.25
03/30/09 22:50:17 StreamBabyConfig: StreamBabyDir: /home/eochs/downloads/streambaby/streambaby-0.25
03/30/09 22:50:17 StreamBabyConfig: CurDir: /home/eochs/downloads/streambaby/streambaby-0.25
03/30/09 22:50:17 FFmpegJavaConfig$1: Loading avutil, default: avutil
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded: /usr/lib/libavutil.so.49.6.0
03/30/09 22:50:17 FFmpegJavaConfig$1: Loading avcodec, default: avcodec
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded: /usr/lib/libavcodec.so.51.50.0
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded avCodec version: 51 (3355136)
03/30/09 22:50:17 FFmpegJavaConfig$1: Loading avformat, default: avformat
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded: /usr/lib/libavformat.so.52.7.0
03/30/09 22:50:17 FFmpegJavaConfig$1: avformat_version function not available, will attempt to guess version
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3407872)
03/30/09 22:50:17 FFmpegJavaConfig$1: Loading swscale, default: swscale
03/30/09 22:50:17 FFmpegJavaConfig$1: Loaded: /usr/lib/libswscale.so.0.5.0
03/30/09 22:50:17 FFmpegJavaConfig$1: Marking libswscale as available.
03/30/09 22:50:17 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
03/30/09 22:50:17 FFmpegExeVideoModule: FFmpegPath: ffmpeg
03/30/09 22:50:17 FFmpegExeVideoModule: FFmpegExeModule: Loaded
03/30/09 22:50:18 StreamBabyMain: STARTING StreamBaby v0.25...
03/30/09 22:50:18 Main: args= start=true
03/30/09 22:50:18 Main: args= [email protected]
03/30/09 22:50:18 Listener: [email protected] [email protected]
03/30/09 22:50:18 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
03/30/09 22:50:18 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
03/30/09 22:50:18 Listener: name=/streambaby/
03/30/09 22:50:18 Listener: 
03/30/09 22:50:18 Listener: added factory
03/30/09 22:50:18 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
03/30/09 22:50:18 Main: MDNS: http://192.168.2.55:7290/streambaby/
03/30/09 22:50:18 Main: streambaby ready & listening.
03/30/09 22:50:18 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
03/30/09 22:50:26 Listener: http=HttpRequest /streambaby/
03/30/09 22:50:26 Listener: path=/streambaby/ uri=/streambaby/
03/30/09 22:50:26 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]


----------



## eochs

btw, the httpRequests at the end are me trying to hit it from firefox, which i can...


----------



## Sicklybutsexy

eochs said:


> btw, the httpRequests at the end are me trying to hit it from firefox, which i can...


on your tivo go to music, pictures, etc...


----------



## eochs

I did... It is the same place I go to when i tried Galleon and saw the different Galleon apps, but Stream Baby Stream does not show up on there...


----------



## moyekj

eochs said:


> I did... It is the same place I go to when i tried Galleon and saw the different Galleon apps, but Stream Baby Stream does not show up on there...


Is 192.168.2.55 the correct primary IP for the computer running streambaby? Is port 7290 being used by some other application?
If it's not correct or there is a port conflict you can tell streambaby what ip & port to use by putting following in streambaby.ini:
ip=xxx.xxx.xxx.xxx
port=xxxx


----------



## eochs

System definitely only has one network card and a single IP of 192.168.2.55... A netstat -an doesn't show anything running on 7290 when streambaby is not started... I even tried hardcoding those in the .ini file as you suggested, but had no luck... Also tried changing to a different port or 3 with no luck... hmmmmmmmmmmmmmmmmmmmm...

I'll spend more time trying this tonight... There is no firewall running, so i don't think anything is being blocked... I do have a slightly odd setup, but it should work fine I think... The TiVo is connected pretty standard:

cable modem -> linksys wrt160n router -> Tivo wireless network adapter

But the PC with Ubuntu is slightly odd:

Ubuntu -> WRT54G with DD-WRT firmware connected in bridged mode to the 160n

Basically using the WRT54G as an ethernet bridge as the USB wireless-n card I had connected to the PC did not work well in Ubuntu (it is removed and not connected to the computer anymore)... I have no problems with connecting to other apps on my Ubuntu box from anywhere in my house (Galleon, apache) or connecting out to the internet or even to the TiVO (https://192.168.2.100) to download .tivo files...


----------



## wmcbrine

eochs said:


> hmmmmmm, not seeing it on my TiVo HD... Running Ubuntu 8.10...


I'd assume it's the IPv6 problem... or does Streambaby have a fix for that? Anyway, disable IPv6 in Ubuntu, and see if that helps.

Ubuntu enables IPv6 by default, and TiVo's HME server from the SDK prefers to bind to the IPv6 interface instead of IPv4, even when you tell it not to. I think it still answers requests on IPv4, but the MDNS broadcasts only go to IPv6... i.e., nowhere.


----------



## eochs

jackpot!! disabling ipv6 did it... Thanks wmcbrine...

Now, how do I get these videos to show up at the correct aspect ratio on my HDTV? An XVid at 656x272 is stretched so people look very thin and tall


----------



## rfryar

I started over with SVN version 152 and am receiving this error when it is trying to download the FFMPEG. I worked around this issue by copying the native directory from an older working version of Streambaby. The reason I started over is that I thought my FFMPEG binaries may have been out of date.



Code:


03/31/09 19:18:14 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
umber in .class file
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at bsh.classpath.BshClassLoader.findClass(Unknown Source)
        at bsh.classpath.BshClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at bsh.classpath.ClassManagerImpl.classForName(Unknown Source)
        at bsh.NameSpace.classForName(Unknown Source)
        at bsh.NameSpace.getImportedClassImpl(Unknown Source)
        at bsh.NameSpace.getClassImpl(Unknown Source)
        at bsh.NameSpace.getClass(Unknown Source)
        at bsh.Name.toClass(Unknown Source)
        at bsh.BSHAmbiguousName.toClass(Unknown Source)
        at bsh.BSHType.getType(Unknown Source)
        at bsh.BSHTypedVariableDeclaration.eval(Unknown Source)
        at bsh.Interpreter.eval(Unknown Source)
        at bsh.Interpreter.source(Unknown Source)
        at bsh.Interpreter.source(Unknown Source)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.beanShell(StreamBaby
Main.java:163)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:39)
Exited.

Also I have several MP4 movies that I can not seem to get to play with Streambaby. I do not have PyTivo installed anymore so have not tested pushing them with any other tool. These MP4s will play fine on my PC, but will not stream, even if I force them to transcode they still fail. What details should I post about these?

Thanks,

Rick.


----------



## moyekj

eochs said:


> jackpot!! disabling ipv6 did it... Thanks wmcbrine...
> 
> Now, how do I get these videos to show up at the correct aspect ratio on my HDTV? An XVid at 656x272 is stretched so people look very thin and tall


 See this thread on discussions related to mp4 aspect ratios:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=421873
The short summary is for S3 mp4 decoders they do not deal very well with resolutions other than 1920x1080 or 1280x720. THD/HDXL seem better behaved in that regard but you still need to specifically set PAR/DAR for them to display properly with tools such as MP4Box.


----------



## moyekj

Keary has made a new build from latest SVN (170) that includes pyTivo push integration into streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r170.zip

There's a couple of new streambaby.ini options available if your pyTivo ip and/or port are different than the defaults:

pytivo.ip=IP_ADDRESS_OF_PYTIVO (default is localhost)
pytivo.port=PORT_OF_PYTIVO (default is 9032)

Some notes on using this feature:
* You should have pyTivo up and running before starting streambaby. When you first start streambaby is when pyTivo server is polled to get full list of videos available from pyTivo.
* Videos you are browsing to in streambaby must obviously also be included in one of video hierarchies you specify in pyTivo.conf.
* From streambaby selection screen when you go to a video Play Screen if that video is available to pyTivo (full path file names match) then you will see an extra option called pyTivo push. From there you can select a Tivo to push to (using left and right arrows) and then press select on desired Tivo to initiate the push.

There are still some short term and longer term improvements needed, such as:
* Add config option to turn off pyTivo checking completely for those that don't want/like it
* Probably should be more periodic polling of pyTivo server of available videos rather than only when starting streambaby.
* Keary had good idea of eliminating some clutter in Play Screen to merge pyTivo push with Play From Beginning button (a push option to each Tivo would be there)
* Longer term perhaps eliminate need for pyTivo server completely for doing pushes (by setting up basic HMO server capabilities for video pushes in streambaby).


----------



## Sicklybutsexy

moyekj said:


> Keary has made a new build from latest SVN (170) that includes pyTivo push integration into streambaby:
> http://streambaby.googlecode.com/files/streambaby-svn-r170.zip
> 
> There's a couple of new streambaby.ini options available if your pyTivo ip and/or port are different than the defaults:
> 
> pytivo.ip=IP_ADDRESS_OF_PYTIVO (default is localhost)
> pytivo.port=PORT_OF_PYTIVO (default is 9032)
> 
> Some notes on using this feature:
> * You should have pyTivo up and running before connecting to streambaby with your Tivo. When you first connect to streambaby from Tivo is when pyTivo server is polled to get full list of videos available from pyTivo.
> * Videos you are browsing to in streambaby must obviously also be included in one of video hierarchies you specify in pyTivo.conf.
> * From streambaby selection screen when you go to a video Play Screen if that video is available to pyTivo (full path file names match) then you will see an extra option called pyTivo push. From there you can select a Tivo to push to (using left and right arrows) and then press select on desired Tivo to initiate the push.
> 
> There are still some short term and longer term improvements needed, such as:
> * Add config option to turn off pyTivo checking completely for those that don't want/like it
> * Probably should be more periodic polling of pyTivo server of available videos rather than just first time you connect to streambaby from a Tivo.
> * Keary had good idea of eliminating some clutter in Play Screen to merge pyTivo push with Play From Beginning button (a push option to each Tivo would be there)
> * Longer term perhaps eliminate need for pyTivo server completely for doing pushes (by setting up basic HMO server capabilities for video pushes in streambaby).


That's so cool. Thanks for a great app! Still no luck on fixing seeking on mp4's past the hour mark?


----------



## moyekj

Sicklybutsexy said:


> Still no luck on fixing seeking on mp4's past the hour mark?


 Don't know. I think Keary has some mp4 related fixes in r170 but don't know if any of them address your issues or not. If it's 64 bit mp4 related then it's likely not yet addressed but I don't know anything about the mp4 code so cannot comment on it. Keary is the expert but he's been tied up with real (paying) job lately which obviously takes priority over anything streambaby related.


----------



## kearygriffin

rfryar said:


> I started over with SVN version 152 and am receiving this error when it is trying to download the FFMPEG. I worked around this issue by copying the native directory from an older working version of Streambaby. The reason I started over is that I thought my FFMPEG binaries may have been out of date.
> 
> 
> 
> Code:
> 
> 
> 03/31/09 19:18:14 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
> Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n
> umber in .class file
> ...


I haven't tried this myself, but it looks like some of the code used to download ffmpeg from the streambaby website requires Java 1.6. (Only the windows version downloads ffmpeg automatically, so only windows would have this issue)

Simply putting ffmpeg+libraries in the native directory manually should take care of the problem (as you mention you have already done).

I haven't updated the ffmpeg version for windows since the initial release in any case. (I go under the assumption if ain't broke...)

If you want to you can grab a newer ffmpeg version from:
http://ffmpeg.arrozcru.org/builds/
You will want the GPL shared version of the distribution.
And just extract all the files from the bin directory into the streambaby native directory.


----------



## pmd

moyekj said:


> Keary has made a new build from latest SVN (170) that includes pyTivo push integration into streambaby:
> http://streambaby.googlecode.com/files/streambaby-svn-r170.zip


Does pyTivo's 'push' functionality require you to have a Desktop Plus key?


----------



## wmcbrine

pmd said:


> Does pyTivo's 'push' functionality require you to have a Desktop Plus key?


No. But you have to have an account on tivo.com (free), and put the info into your pyTivo.conf (tivo_username, tivo_password).



moyekj said:


> Longer term perhaps eliminate need for pyTivo server completely for doing pushes (by setting up basic HMO server capabilities for video pushes in streambaby).


Push doesn't even use HMO, really.


----------



## orangeboy

You guys rock.


----------



## cburbs

Sicklybutsexy said:


> I've used everything imaginable from ffmpeg to mp4 creator to mp4 box and I can't seem to get an MKV file demuxed and remuxed into an mp4 streamable file. The closest I've come is to using XvidPsP which works very well, however once I get about an hour into a movie I get a black screen and these screaching audio. Is this a 64 bit addressing problem? Anyone have a solution that works for them for converting mkv to mp4 without renencoding and streaming over with streambaby?


Give Winff a try - I am in the process of trying this as I have some MKV stuff and it will pause Roughly every 10 seconds. I tried Handbrake and XvidPsP but then with the settings I used the video looked worse than a VCR Tape.

http://www.tivocommunity.com/tivo-vb/showthread.php?p=6844399#post6844399


----------



## Sicklybutsexy

cburbs said:


> Give Winff a try - I am in the process of trying this as I have some MKV stuff and it will pause Roughly every 10 seconds. I tried Handbrake and XvidPsP but then with the settings I used the video looked worse than a VCR Tape.
> 
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=6844399#post6844399


I will thanks. I really think though that the tivo mp4 decoder isn't sophisticated enough. Every file I've converted, no matter what method, 64 bit addressing, etc...it goes black around the 4 gb mark. It must be a 64 bit addressing problem and I haven't found a solution yet.


----------



## fatespawn

Howdy.

I'm trying to use iTivo (I know other thread) to create some high quality HD mp4's with ac3 passthrough to stream back to my TivoHD. Unfortunately, the presets in iTivo don't have a high quality option that passes through ac3 (except for native/decode of course and that doesn't work with comskip....). 

Anyway, I've successfully, created a HandBrakeCli option that DOES work. I can transcode the mpeg2's from the Tivo, Passthrough the ac3 into a mp4 container, and then use pytivo (I'm using pytivox) to send the file back to the tivo. The problem so far is file size - it's pretty LARGE (larger than the original mpeg2) and I'm playing with options to reduce the footprint. The files I'm ending up with are in the 13000-14000 kb/s range. That seems a bit too much for mp4's, but I'm pretty much a noob at this. 

Streambaby seems to be choking on it. I can stream the file at original bitrate and get AC3 but no picture. If I choose "5000 highest" on the Tivo, I get a macroblocked picture and a downmixed audio (there are 2 audio tracks in my conversions AC3, AAC) 

In any case, pytivo seems to send it straight back, but are there some upper limits to streambaby that I'm hitting? Obviously I need to lower the bitrate, but how much can streambaby handle? 5000 kb/s seemed too low for the 1080i but am I talking apples and oranges? Is the 5000kb/s referring to the resulting mpeg2 or the original mp4. 

Thanks.

If anyone is interested, here's the CLI argument that I'm using creating a .m4v file.

-e x264 -q 0.575 -f mp4 -4 -P -m -a 1,1 -E ac3,faac -B auto,160 -R auto,48 -6 auto,dpl2 -x level=30:cabac=0:ref=2:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=5:analyse=all


----------



## MikeAndrews

Streambaby worked great for me on Windows. THANKS!!!!

I missed any docs about how to expect Streambaby to work on TiVo, if there are any. Like how it just works - The TiVo will find the server, and where you'll see the menu item.

You want a volunteer to add that to the Wiki?

Not that I won't get a round tuit to decrypt all of mine to .mpg, but is there any way it can be made to work with .tivo files?


----------



## moyekj

netringer said:


> Not that I won't get a round tuit to decrypt all of mine to .mpg, but is there any way it can be made to work with .tivo files?


 You can stream .TiVo files with streambaby. However you will get limited functionality since you can't jump ahead of stream buffer or resume playing from where you last left off, etc. like you get with .mpg or .mp4 streaming.


----------



## Sicklybutsexy

With the newest download, 170, push works great. However, now I can't get any mp4's to stream over as I could with the previous versions.


----------



## moyekj

fatespawn said:


> Howdy.
> Anyway, I've successfully, created a HandBrakeCli option that DOES work. I can transcode the mpeg2's from the Tivo, Passthrough the ac3 into a mp4 container, and then use pytivo (I'm using pytivox) to send the file back to the tivo. The problem so far is file size - it's pretty LARGE (larger than the original mpeg2) and I'm playing with options to reduce the footprint. The files I'm ending up with are in the 13000-14000 kb/s range. That seems a bit too much for mp4's, but I'm pretty much a noob at this.
> 
> Streambaby seems to be choking on it. I can stream the file at original bitrate and get AC3 but no picture. If I choose "5000 highest" on the Tivo, I get a macroblocked picture and a downmixed audio (there are 2 audio tracks in my conversions AC3, AAC)
> 
> In any case, pytivo seems to send it straight back, but are there some upper limits to streambaby that I'm hitting? Obviously I need to lower the bitrate, but how much can streambaby handle? 5000 kb/s seemed too low for the 1080i but am I talking apples and oranges? Is the 5000kb/s referring to the resulting mpeg2 or the original mp4.
> 
> Thanks.
> 
> If anyone is interested, here's the CLI argument that I'm using creating a .m4v file.
> 
> -e x264 -q 0.575 -f mp4 -4 -P -m -a 1,1 -E ac3,faac -B auto,160 -R auto,48 -6 auto,dpl2 -x level=30:cabac=0:ref=2:mixed-refs=1:bframes=6:weightb=1:direct=auto:no-fast-pskip=1:me=umh:subq=5:analyse=all


For pyTivo, unless you are doing a so-called "pyTivo push" (which pyTivoX doesn't support easily) then it's being transcoded to mpeg2 on the fly when being fed back to your Tivos. i.e. If you are requesting the file via Tivo Now Playing List->pyTivo share it's being transcoded to mpeg2 and that would explain why it works via pyTivo and not streambaby.
streambaby on the other hand is feeding a native mp4 stream to your Tivo if you use same quality setting.
I tried your Handbrake recipe above starting from a 720p mpeg2 file and while I did get video to show when streaming it back via streambaby to my S3 the playback was choppy.
Though I haven't tried much I have yet to find a Handbrake recipe for H.264 + AC3 that yields good, clean, smooth playback when streaming to my S3s. This wiki page lists a known working ffmpeg recipe that has worked for me so if you are stuck with using Handbrake for some reason then perhaps a translated version of that for Handbrake may do the trick.
(NOTE: As part of pyTivoX installation you do have ffmpeg binary so you should be able to use ffmpeg)
If someone else has a good/working Handbrake recipe for H.264 + AC3 that works well for tivo streaming please post so I can add it to the wiki.


----------



## moyekj

Sicklybutsexy said:


> With the newest download, 170, push works great. However, now I can't get any mp4's to stream over as I could with the previous versions.


 So you're saying that pyTivo push of an mp4 file yields good/proper playback on Tivo but streaming same mp4 file is failing? First thing to check is that you have ffmpeg properly installed under the "native" folder. It also helps to set the following in simplelog.properties file to generate verbose debug output in streambaby.log:
com.unwiredappeal=verbose
com.unwiredappeal=debug
Then run streambaby again and try streaming and then examine or post streambaby.log here to get a better clue of what is happening.


----------



## Sicklybutsexy

moyekj said:


> So you're saying that pyTivo push of an mp4 file yields good/proper playback on Tivo but streaming same mp4 file is failing? First thing to check is that you have ffmpeg properly installed under the "native" folder. It also helps to set the following in simplelog.properties file to generate verbose debug output in streambaby.log:
> com.unwiredappeal=verbose
> Then run streambaby again and try streaming and then examine or post streambaby.log here to get a better clue of what is happening.


It does. Will do when I get home, thanks.


----------



## moyekj

Sicklybutsexy said:


> It does. Will do when I get home, thanks.


 I corrected my post, it should be:
com.unwiredappeal=debug


----------



## kearygriffin

Sicklybutsexy said:


> With the newest download, 170, push works great. However, now I can't get any mp4's to stream over as I could with the previous versions.


I haven't had a chance to keep up with this thread as closely as I should for the last couple of weeks, but are we talking about talking about the > 4G mp4's that would only partially played before? If so, it is to be expected as the svn-170 version has > 4G support in progress. (Meaning it won't work, but I'm not exactly sure what will happen...)

Also, what was the previous version you were using that did work? (0.25 or one of the SVN versions)


----------



## moyekj

Keary, are mp4 files > 4GB required to be 64 bit? My understanding is that Tivo decoder doesn't support 64 bit mp4 files so native pyTivo push of a 64 bit mp4 should not work either which is why I ask.


----------



## kearygriffin

moyekj said:


> Keary, are mp4 files > 4GB required to be 64 bit? My understanding is that Tivo doesn't support 64 bit mp4 files so native pyTivo push of a 64 bit should not work either which is why I ask.


Good point, didn't think of that. So 64-bit is most likely not the issue. (I can't think of a way to have a > 4G mp4 without 64-bit pointers). Sorry.


----------



## Sicklybutsexy

kearygriffin said:


> Good point, didn't think of that. So 64-bit is most likely not the issue. (I can't think of a way to have a > 4G mp4 without 64-bit pointers). Sorry.


Hey Keary, does that mean we're screwed for streaming >4 gb mp4's for now or pretty much until tivo changes the software?


----------



## moyekj

Sicklybutsexy said:


> Hey Keary, does that mean we're screwed for streaming >4 gb mp4's for now or pretty much until tivo changes the software?


 So are the mp4 files you are trying > 4GB? If so, are you positive that pyTivo push (not a pull which gets transcoded) of those files results in proper playback on Tivos? If so, perhaps playback is screwed up on Tivos only after the 4GB mark?


----------



## kearygriffin

Sicklybutsexy said:


> Hey Keary, does that mean we're screwed for streaming >4 gb mp4's for now or pretty much until tivo changes the software?


No, since the TiVo really only supports files ~1G in length, I can take a > 4G file and split it up into < 4G pieces and pass the pieces to the TiVo. I've been working on this, but haven't finished. (The hard part is the MP4 code only supports splitting from time XX:XX:XX to the end, and I now need to split it from time XX:XX:XX to time YY:YY:YY, where time YY:YY:YY is the point where the file would go > 4G)

(When I say the TiVo only supports ~1G what I mean is the TiVo will only buffer up to around 1.1G of the video, and at that point streambaby has to tell the TiVo to start over again at the exact-point it left off. This works fine in streambaby right now up to 4G file size)


----------



## Sicklybutsexy

moyekj said:


> So are the mp4 files you are trying > 4GB? If so, are you positive that pyTivo push (not a pull which gets transcoded) of those files results in proper playback on Tivos? If so, perhaps playback is screwed up on Tivos only after the 4GB mark?


I am absolutely positive that > 4gb mp4 files get pushed without a problem to the end of the file. It plays back perfectly, to the end of the file. I've confirmed it on at least 2 separate occaisions by checking the size of the file after the full push which equaled the original size of the mp4 file. Plus during the push ffmpeg wasn't working hard at all and it came over very fast, much faster than real time.


----------



## kearygriffin

Sicklybutsexy said:


> I am absolutely positive that > 4gb mp4 files get pushed without a problem to the end of the file. It plays back perfectly, to the end of the file. I've confirmed it on at least 2 separate occaisions by checking the size of the file after the full push which equaled the original size of the mp4 file. Plus during the push ffmpeg wasn't working hard at all and it came over very fast, much faster than real time.


Could be I'm wrong about > 4G Mp4 files, the only one I tried I generated myself. I could have just screwed something else up when generating the file and assumed it was 64-bit problem... Let me make some quick changes to streambaby to pass-through 64 bit and see what happens with your files... I'll post a link a bit.


----------



## kearygriffin

kearygriffin said:


> Could be I'm wrong about > 4G Mp4 files, the only one I tried I generated myself. I could have just screwed something else up when generating the file and assumed it was 64-bit problem... Let me make some quick changes to streambaby to pass-through 64 bit and see what happens with your files... I'll post a link a bit.


Here is the link, let me know how it goes.
http://streambaby.googlecode.com/files/streambaby-svn-r171.zip


----------



## Sicklybutsexy

kearygriffin said:


> Here is the link, let me know how it goes.
> http://streambaby.googlecode.com/files/streambaby-svn-r171.zip


Keary, that fixes it, thanks! Can play at least 2 mp4's that I tested to the very end.


----------



## kearygriffin

Sicklybutsexy said:


> Keary, that fixes it, thanks! Can play at least 2 mp4's that I tested to the very end.


Nice. Sorry about the confusion I caused about TiVo not supporting 64-bit (co64 atom) MP4 files. Looks like there is no problem.

I also just created another small (< 4G) video, but created it with co64 chunks, that also worked fine for me (not a complete test, but this was the same initial test I thought I had run before that made me think incorrectly that the TiVo didn't support the Co64 chunk). I'll leave my PC tonight transcoding a > 4G file and triple-check.

And I'm pretty happy I'm wrong, as it means I don't have the work ahead of me that I thought I did


----------



## Sicklybutsexy

The 2 that I use:

1. Use Xvid4psp. Download free http://www.winnydows.com/news.php. It uses mp4box to mux an mkv to an mp4. Just make sure that under format you pick mp4 and that under video encoding pick "copy". Unfortunately, because it uses mp4box you will have to convert the audio to aac or mp3, etc...Just set the audio encoding. Takes about 20 minutes for a high def mkv to be converted, untouched, except for audio, to an mp4 that can be streamed using streambaby.

2. Use mp4muxer. Download free http://www.dvbportal.de/projects/mp4muxer/. It uses mp4creator which means you can add ac3 audio to mp4 files. I'm still having some audio sync problems with this one but to fix it you have to change the timescale to something else. I've been using 30,000 with some luck but it's not perfect. Make sure under streaming you click "optimize". You can also change the aspect ratio which is a good idea if they're not 1920x1080 or 1280x720.


----------



## fyodor

Hi

I came back to this after not using it for a while and I'm really impressed with how slick and stable it's become.

I'm using Streambaby to stream MP4 files with embedded metadata. Right now, I have my files titled with the episode number in the file title. I've noticed that if I view/open a file, when I go back to directory-browsing, the directory lists the embedded title information, rather than the file name. 

While this is a neat feature, it means that I can no longer see the episode number when browsing, which makes it difficult to keep the episode sequences straight. Is there any way to disable this feature, while keeping the other metadata features working?


----------



## moyekj

fyodor, put the following in your streambaby.ini:
use.title=false


----------



## moyekj

kearygriffin said:


> Nice. Sorry about the confusion I caused about TiVo not supporting 64-bit (co64 atom) MP4 files. Looks like there is no problem.
> 
> I also just created another small (< 4G) video, but created it with co64 chunks, that also worked fine for me (not a complete test, but this was the same initial test I thought I had run before that made me think incorrectly that the TiVo didn't support the Co64 chunk). I'll leave my PC tonight transcoding a > 4G file and triple-check.
> 
> And I'm pretty happy I'm wrong, as it means I don't have the work ahead of me that I thought I did


 Keary, so what's the final verdict on 64 bit? I guess it's established Tivo supports without a problem. Is there anything left to do in streambaby to properly support it? (i.e. full random access to anywhere in the file works, etc)


----------



## Sicklybutsexy

moyekj said:


> Keary, so what's the final verdict on 64 bit? I guess it's established Tivo supports without a problem. Is there anything left to do in streambaby to properly support it? (i.e. full random access to anywhere in the file works, etc)


In my testing full random access anywhere in the file works when prior to the latest version it did not...


----------



## rfryar

Any help on this video? It pushes fine with the new stream baby, pyTivo integration. But will error with a resource unavailable error with streambaby.

I get a similar error when I adjust the bitrate to try to transcode it.

Oh, one last thing, I say it transferred fine with pytivo, it plays back fine, but the time bar is incorrect. I think this is due to the film 23.98 frame rate?

Here is the output from FFMPEG:


Code:


FFmpeg version SVN-r16573, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthr
eads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora
--enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-lib
schroedinger --enable-avisynth --enable-swscale --enable-gpl --enable-shared --d
isable-static
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52.10. 0 / 52.10. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Jan 13 2009 03:17:03, gcc: 4.2.4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '10000bc.mp4':
  Duration: 01:48:55.76, start: 0.000000, bitrate: 1191 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 1920x792, 23.98 tb(r)
    Stream #0.1(und): Audio: aac, 24000 Hz, 5.1, s16

Rick


----------



## fyodor

Thanks!



moyekj said:


> fyodor, put the following in your streambaby.ini:
> use.title=false


----------



## moyekj

rfryar said:


> Any help on this video? It pushes fine with the new stream baby, pyTivo integration. But will error with a resource unavailable error with streambaby.
> 
> I get a similar error when I adjust the bitrate to try to transcode it.
> 
> Oh, one last thing, I say it transferred fine with pytivo, it plays back fine, but the time bar is incorrect. I think this is due to the film 23.98 frame rate?
> 
> Rick


 Some more debug information (aside from ffmpeg -i which you already provided) would be useful. See  debugging_problems wiki page  for details on how to generate more debug info.


----------



## rfryar

moyekj said:


> Some more debug information (aside from ffmpeg -i which you already provided) would be useful. See  debugging_problems wiki page  for details on how to generate more debug info.


Ok, here is the details.. Looks like it is deciding to transcode, at least that is what I am reading from the logs and it fails unexpectedly or something.

If I try transcoding myself with FFMPEG it does not like the audio and returns warnings as it transcode, it eventually finishes and the video is playable. But first question is why is it trying to transcode.



Code:


04/04/09 07:52:30 pyTivo: matchFiles: f1=e:/Videos/Rentals/10000BC.mp4 f2=e:/Videos/Rentals/10000BC.mp4
04/04/09 07:52:41 PlayScreen: action=right
04/04/09 07:52:41 HostContext: key=mpos:file:/E:/Videos/Rentals/10000BC.mp4 value=0
04/04/09 07:52:41 HostContext: key=mpos:file:/E:/Videos/Rentals/10000BC.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/04/09 07:52:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/04/09 07:52:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:41 HostContext: compKey=65200018046333A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:41 HostContext: compKey=65200018046333A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:41 HostContext: compKey=65200018046333A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:41 ViewScreen: Desc: 10000BC.mp4
04/04/09 07:52:41 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1132,height=293]
04/04/09 07:52:42 PreviewWindow: pWidth: 1280
04/04/09 07:52:42 PreviewWindow: preview parent=BView[#2517,bounds=0,0,1280x720]
04/04/09 07:52:42 HostContext: key=mpos:file:/E:/Videos/Rentals/10000BC.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/04/09 07:52:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/04/09 07:52:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:42 HostContext: compKey=65200018046333A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/04/09 07:52:42 ViewScreen: goto position: 0, vidlen: 6535765
04/04/09 07:52:42 ViewScreen: Position not in buffer, starting new stream
04/04/09 07:52:42 ViewScreen: Openening stream at position: 0(0 secs)
04/04/09 07:52:42 VideoModuleHelper: quality setting is above quality of video, streaming normally
04/04/09 07:52:42 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -sameq -ab 192k -ar 48000
04/04/09 07:52:42 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files\streambaby\native\ffmpeg.exe -ss 0.0 -i E:\Videos\Rentals\10000BC.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
04/04/09 07:52:42 NamedStream: Registering named stream: 40dc4e5f-4834-4bb6-9183-206d87534e5c.stream
04/04/09 07:52:43 Listener: http=HttpRequest /streambaby/40dc4e5f-4834-4bb6-9183-206d87534e5c.stream
04/04/09 07:52:43 Listener: path=/streambaby/40dc4e5f-4834-4bb6-9183-206d87534e5c.stream uri=/streambaby/
04/04/09 07:52:43 Listener: 
04/04/09 07:52:43 Listener: 192.168.1.53 40dc4e5f-4834-4bb6-9183-206d87534e5c.stream HTTP GET - to factory /streambaby/
04/04/09 07:52:43 StreamBabyStream$StreamBabyStreamFactory: uri=40dc4e5f-4834-4bb6-9183-206d87534e5c.stream
04/04/09 07:52:43 NamedStream: Getting mapped stream for named stream: 40dc4e5f-4834-4bb6-9183-206d87534e5c.stream
04/04/09 07:52:43 NamedStream: Getting mapped stream for named stream: 40dc4e5f-4834-4bb6-9183-206d87534e5c.stream
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4
04/04/09 07:53:04 ViewScreen: error=ERROR: resource unavailable
10000BC.mp4

Thanks,

Rick


----------



## kearygriffin

moyekj said:


> Keary, so what's the final verdict on 64 bit? I guess it's established Tivo supports without a problem. Is there anything left to do in streambaby to properly support it? (i.e. full random access to anywhere in the file works, etc)


Final verdict is TiVo does support it. The initial sample I tested with (with tivostream) was just bad, and my newer samples work fine.

As of the latest SVN-171 streambaby should support these files without a problem. Older versions do not as they didn't correctly handle the co64 Atom. (which is the 64-bit version of the stco MP4 atom which contains the offsets of data-chunks in the file)


----------



## kearygriffin

rfryar said:


> If I try transcoding myself with FFMPEG it does not like the audio and returns warnings as it transcode, it eventually finishes and the video is playable. But first question is why is it trying to transcode.


Currently streambaby will transcode video files that do not have an audio bitrate of 44Khz or 48Khz. (This video seems to have 24khz audio).

I am not sure if streambaby needs to do this or not-- I am still unclear as to exactly what bitrates the tivo does/does not support natively. Before streambaby checked for the audio bitrate people were having problems with non-standard bitrates.


----------



## moyekj

I generated a video with 2 channel AAC 24KHz audio and played it back after pyTivo push and everyone sounded like Mickey Mouse (and the timeline was not right either).
Same problem with 2 channel AC3 24KHz audio.


----------



## jimbob111

general question on streambaby... newb...
does streambaby prevent the 'transfer' of the video from the pc to the tivo? 
if yes, does pytivo interfere with streambaby as an app? thanks!
j


----------



## wmcbrine

I sometimes have trouble even with 44100 Hz AAC, but it seems to be corrected after playing something with 48000 Hz AAC.

jimbob111, I don't quite understand your question; but no, they don't interfere. If you look back over the last few posts, you'll see where Streambaby has even added a feature that _cooperates_ with pyTivo to do a transfer.

But if you're talking about transferring with pyTivo in the background while you stream in the foreground, then yes, they would "interfere", in the sense that each would be trying to take up a large share of the TiVo's very limited incoming bandwidth.


----------



## Yoav

jimbob111 said:


> general question on streambaby... newb...
> does streambaby prevent the 'transfer' of the video from the pc to the tivo?
> if yes, does pytivo interfere with streambaby as an app? thanks!
> j


No. you can use streambaby and pytivo side-by-side happily. HOWEVER if you have a transfer going AND are streaming a video, both things are going to suck up the limited bandwidth of the tivo. If your streambaby stream is high bandwidth, you will probably end up seeing a lot of pausing in your video.


----------



## jimbob111

thanks yoav! can you point me to a VERY BASIC instructions as to how to implement this in my system. i'm a pretty low level guy but can follow directions... thanks again. j


----------



## rfryar

moyekj said:


> I generated a video with 2 channel AAC 24KHz audio and played it back after pyTivo push and everyone sounded like Mickey Mouse (and the timeline was not right either).
> Same problem with 2 channel AC3 24KHz audio.


The one I transfered has good audio on the 2 channels that did play. For some reason the other channels did not play, so I did not have any speach. But the audio that was there was in synch and sounded fine. The timeline was off quite a bit, but I do not really care about that.

I will recode the AAC audio to 44K and try transfering that.

Also I tried a true HD MP4, 10 Gig file. It just timed out playing. Below is the log from that one.

Regards,

Rick



Code:


04/04/09 13:08:56 VideoModuleHelper: quality setting is above quality of video, streaming normally
04/04/09 13:08:56 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
04/04/09 13:08:56 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:4220653)
04/04/09 13:08:56 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
04/04/09 13:08:56 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:21)
04/04/09 13:08:56 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 161, size:2112033)
04/04/09 13:08:56 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 169, size:92)
04/04/09 13:08:56 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 261, size:2111933)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 269, size:32)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 301, size:55)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 356, size:2111838)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 364, size:20)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 384, size:36)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 392, size:28)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 420, size:2111774)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 428, size:186)
04/04/09 13:08:56 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 444, size:170)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 614, size:24)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 638, size:1065160)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 1065798, size:11124)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1076922, size:52)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1076974, size:875940)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 1952914, size:159280)
04/04/09 13:08:56 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 2112194, size:2108098)
04/04/09 13:08:56 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 2112202, size:92)
04/04/09 13:08:56 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 2112294, size:2107998)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 2112302, size:32)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 2112334, size:55)
04/04/09 13:08:56 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 2112389, size:2107903)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 2112397, size:16)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 2112413, size:36)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 2112421, size:28)
04/04/09 13:08:56 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 2112449, size:2107843)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 2112457, size:91)
04/04/09 13:08:56 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 2112473, size:75)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 2112548, size:24)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 2112572, size:235936)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 2348508, size:1712512)
04/04/09 13:08:56 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 4061020, size:159272)
04/04/09 13:08:56 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 4220292, size:385)
04/04/09 13:08:56 MP4StreamFactory$2:   mp4.util.atom.UnknownAtom(99,104,112,108): ChplAtom (offset: 4220300, size:377)
04/04/09 13:08:56 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 4220677, size(LRG):11218969068)
04/04/09 13:08:56 MP4StreamFactory$2: DBG: moov size 4220645
04/04/09 13:08:56 MP4StreamFactory$2: DBG: mdat size 11218969052
04/04/09 13:08:56 MP4StreamFactory$2: DBG: sampleNum 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new key frame 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: media time 0
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: chunk 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: cutDuration 5479974
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new time 0.0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: media time 0
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: chunk 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: cutDuration 5479974
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new time 0.0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: moov chunk 4220693
04/04/09 13:08:56 MP4StreamFactory$2: DBG: cut moov chunk 4220693
04/04/09 13:08:56 MP4StreamFactory$2: DBG: updateAmount 29
04/04/09 13:08:56 MP4StreamFactory$2: DBG: movie skip 0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: Cut Movie time 9133 sec 
04/04/09 13:08:56 MP4StreamFactory$2: DBG: sampleNum 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new key frame 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: track 1 spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: track 2 spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: Movie time 9133 sec, cut at 0.0sec
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: media time 0
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: chunk 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: cutDuration 5479974
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new time 0.0
04/04/09 13:08:56 MP4StreamFactory$2: DBG: media time 0
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/04/09 13:08:56 MP4StreamFactory$2: 	DBG: chunk 1
04/04/09 13:08:56 MP4StreamFactory$2: DBG: cutDuration 5479974
04/04/09 13:08:56 MP4StreamFactory$2: DBG: new time 0.0
04/04/09 13:14:15 Listener: 
04/04/09 13:14:15 Listener: connection to receiver closed


----------



## kearygriffin

rfryar said:


> I will recode the AAC audio to 44K and try transfering that.


I put 44khz in my previous post, but it's actually 44.1khz (44100) and 48khz (48000).



> Also I tried a true HD MP4, 10 Gig file. It just timed out playing. Below is the log from that one.


Hmm... I did notice while doing some testing that it sometimes takes a long time during the re-interleave phase of large files. I never had anything time out, but I also never looked at exactly what spot in the code the delay was, and whether an extra-long pause would cause a problem. I'll have to take a look.

Assuming it is a well formatted MP4 you can try it with interleaving disabled by setting the following in streambaby.ini:
mp4module.interleave=false

EDIT: Also just noticed that it was 6 minutes before it got disconnected. Can't explain why it would be that long (large MP4's can take 20 seconds or so on my laptop, but never seen anything close to 6 minutes)


----------



## moyekj

jimbob111 said:


> thanks yoav! can you point me to a VERY BASIC instructions as to how to implement this in my system. i'm a pretty low level guy but can follow directions... thanks again. j


 This getting_started wiki page has illustrated step by step to get going with streambaby. If you still find there is not information there let me know and I can clarify further.


----------



## Yoav

moyekj said:


> This getting_started wiki page has illustrated step by step to get going with streambaby. If you still find there is not information there let me know and I can clarify further.


And the document at http://pytivo.armooo.net/wiki/WindowsInstall describes how to install pytivo on windows.


----------



## moyekj

As mentioned recently starting at this post I have yet to find a Handbrake H.264 encoding profile that generates good, smooth playback on my S3 Tivos. So just curious if anyone as found a Handbrake recipe that works well? So far I have found ffmpeg can do it (and I'm sure mencoder as well using translated version of same ffmpeg recipe).
If you have found one please post it here. You can go to Query Editor tab and click on Generate Query button to have it spit out the recipe.


----------



## rfryar

I think I have uncovered a bug in the FFMPEG version we are using. Since kearygriffin mentioned that the MP4 I was using had only 24000Hz audio, I looked into it. I did not think I encoded it to that level. I demuxed them, reencoded the audio which forced 48000Hz. Remuxed it using MP4Box. FFMPEG would still report 24000Hz.

After reencoding the audio several different ways I came across the fact that if I encoded it using HE-AAC, FFMpeg would report the 48000 stream as 24000. When I switched to using AAC-LC then FFMPEG would report the audio correctly.

And now the MP4s which would not stream (And I could not transocde) can stream!

So an issue with HE-AAC audio and FFMPEG.

Rick


----------



## txporter

moyekj said:


> As mentioned recently starting at this post I have yet to find a Handbrake H.264 encoding profile that generates good, smooth playback on my S3 Tivos. So just curious if anyone as found a Handbrake recipe that works well? So far I have found ffmpeg can do it (and I'm sure mencoder as well using translated version of same ffmpeg recipe).
> If you have found one please post it here. You can go to Query Editor tab and click on Generate Query button to have it spit out the recipe.


I only have TivoHD, so I haven't tested any of my profiles on a S3. Handbrake defaults to using VFR when using detelecine, and I have been a bit concerned about this but haven't seen any playback issues on my HDs. Here is the profile that I am using now.



Code:


 -i "source" -t 2 -c 1-17 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -b 2000 -2  -T  -a 1 -E faac -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="C:\Users\Jason\AppData\Local\Temp\VIDEO_TS-2-chapters.csv" -x ref=3:mixed-refs=1:bframes=3:weightb=1:direct=auto:b-pyramid=1:me=umh:subq=9:analyse=all:8x8dct=1:no-fast-pskip=1:psy-rd=1,0.2:keyint=24:min-keyint=2:no-dct-decimate=1 -v

Jason


----------



## rfryar

kearygriffin said:


> Assuming it is a well formatted MP4 you can try it with interleaving disabled by setting the following in streambaby.ini:
> mp4module.interleave=false


This fixed it. Works like a charm now. I will leave this set to false as all my MP4s are properly interleaved.

Thanks again!!

Rick


----------



## moyekj

txporter said:


> I only have TivoHD, so I haven't tested any of my profiles on a S3. Handbrake defaults to using VFR when using detelecine, and I have been a bit concerned about this but haven't seen any playback issues on my HDs. Here is the profile that I am using now.
> 
> 
> 
> Code:
> 
> 
> -i "source" -t 2 -c 1-17 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -b 2000 -2  -T  -a 1 -E faac -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="C:\Users\Jason\AppData\Local\Temp\VIDEO_TS-2-chapters.csv" -x ref=3:mixed-refs=1:bframes=3:weightb=1:direct=auto:b-pyramid=1:me=umh:subq=9:analyse=all:8x8dct=1:no-fast-pskip=1:psy-rd=1,0.2:keyint=24:min-keyint=2:no-dct-decimate=1 -v
> 
> Jason


 Tried it out from both an SD & HD mpeg2 source and it worked very nicely on my S3s, thanks! I tried it with both AAC (-E faac) and AC3 (-E ac3) audio and both worked well, and of course for Tivo playback AC3 is better. I updated the video_compatiblity wiki to include your handbrake recipe (with AC3 audio).


----------



## txporter

moyekj said:


> Tried it out from both an SD & HD mpeg2 source and it worked very nicely on my S3s, thanks! I tried it with both AAC (-E faac) and AC3 (-E ac3) audio and both worked well, and of course for Tivo playback AC3 is better. I updated the video_compatiblity wiki to include your handbrake recipe (with AC3 audio).


Just to add for folks that are more interested in speed of conversion than target size, you can use a target quality profile of ~61% to achieve around 2000 kbps encodes. I had some DVD material that must have had a lot of noise in the video and the 61% quality encode was using a bitrate of ~3800 kbps which was really overkill for SD material. Because of that, I switched to 2-pass. Currently, it takes me about 50 mins to re-encode a 42-43 min episode whereas the single pass constant quality encode was 35 mins.

Jason


----------



## m_jonis

Maybe I'm doing something wrong. I followed the article on how to turn your Tivo into a DVR jukebox. Basically ripped a DVD with dvd decrypter so that I could get one .VOB file with the audio encoded. I renamed to .MPG

I use streambaby to point to that folder.

TivoHD sees the video and I can play it.

However, three issues:

1) It shows as 0:00 for the time
2) I cannot fast forward, as it pauses and flashes up a black screen that says: 0:00:00
3) If I pause the playback on the Tivo for longer than say, 30 seconds, it generates an error on the Tivo and I have to start watching all over again (because I cannot fast forward).

Streambaby shows this for items #1 and #2:

Initializing...
04/05/09 10:43:18 Listener: added factory
04/05/09 10:43:18 Main: streambaby ready & listening.
04/05/09 11:13:26 Listener: 10.10.1.103 icon.png HTTP GET - to factory /streamba
by/
log after close : initContext version=47
04/05/09 11:13:37 Factory: HME receiver connected
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
04/05/09 11:13:47 Listener: 10.10.1.103 51a575c3-0f6b-47f9-bc4a-efdaf80bee67.str
eam HTTP GET - to factory /streambaby/
04/05/09 11:14:31 Listener: connection to receiver closed
04/05/09 11:14:31 Factory: HME receiver disconnected
04/05/09 11:14:32 Listener: 10.10.1.103 I/O Exception handling HTTP GET 51a575c
3-0f6b-47f9-bc4a-efdaf80bee67.stream: Connection reset by peer: socket write err
or


----------



## moyekj

m_jonis, sounds like you need to run your ripped mpeg files through VideoRedo QuickStream fix or some other mpeg2 GOP fixer.
As it is now if even if you transfer the video to your Tivo using Tivo Desktop or pyTivo you will likely see the same playback issues.


----------



## m_jonis

moyekj said:


> m_jonis, sounds like you need to run your ripped mpeg files through VideoRedo QuickStream fix or some other mpeg2 GOP fixer.
> As it is now if even if you transfer the video to your Tivo using Tivo Desktop or pyTivo you will likely see the same playback issues.


Thanks.

However, playback is fine (no audio problems no sync issues, etc.)

I was able to fast forward the very first time I tried it, but not since.

However, I'll try the videoredo and see what happens.


----------



## Sicklybutsexy

m_jonis said:


> Thanks.
> 
> However, playback is fine (no audio problems no sync issues, etc.)
> 
> I was able to fast forward the very first time I tried it, but not since.
> 
> However, I'll try the videoredo and see what happens.


You can also try mpegstreamclip which is free. Just follow the directions on how to install it.


----------



## m_jonis

I tried mpegstreamclip but it didn't fix it, so I tried the trial of videoredo and that fixed it. So I'll probably be buying the video redo.

Thanks for all the help and the free app is pretty cool.


----------



## kearygriffin

rfryar said:


> This fixed it. Works like a charm now. I will leave this set to false as all my MP4s are properly interleaved.
> 
> Thanks again!!
> 
> Rick


I've updated the re-interleaving code to make it exponentially faster. (The video I use for large file testing went from 44 seconds to .5 seconds...)

If you feel like trying it again with the new version with the interleaving turned back on (commenting out or removing the interleave line from streambaby.ini) I'd be interested in hearing your results. (I'm curious to see if it was a speed-issue, which this should fix, or if there is some kind of bug causing the video to get stuck in some kind infinite loop)

Here is the link to the new version:
http://streambaby.googlecode.com/files/streambaby-svn-r198.zip


----------



## philby85

Hi Keary,

I use streambaby via pytivox. 

I wanted to change the look of the graphics when using streambaby.

I changed the background and icons etc. Is it possible to do this, have different folder icons for different folders. ie i have folders like action, comedy, drama.
I would love to have a folder icon for each folder that contains a type of genre. i have attached some examples.

Also when entering a folder say for a tv series could we have a different background for that folder.

Another request can we make the default folder size bigger than 32x32?

I really love streambaby and I am changing the look to make it more like individual app that tivo runs, hope I am explaining that well enough.

There are some amazing folders and background images and icons made for the tvix series of media players i would love to use those.

cheers

phil


----------



## moyekj

kearygriffin said:


> I've updated the re-interleaving code to make it exponentially faster. (The video I use for large file testing went from 44 seconds to .5 seconds...)
> 
> If you feel like trying it again with the new version with the interleaving turned back on (commenting out or removing the interleave line from streambaby.ini) I'd be interested in hearing your results. (I'm curious to see if it was a speed-issue, which this should fix, or if there is some kind of bug causing the video to get stuck in some kind infinite loop)
> 
> Here is the link to the new version:
> http://streambaby.googlecode.com/files/streambaby-svn-r198.zip


 Keary, FYI with r198 some of my mp4 videos no longer play when interleaving is left off (I get the red 0xffff error screen). I had to turn off interleaving for them to play with streambaby:
mp4module.interleave=false
(I can make a short sample available if you need one)


----------



## rfryar

kearygriffin said:


> I've updated the re-interleaving code to make it exponentially faster. (The video I use for large file testing went from 44 seconds to .5 seconds...)


That resolved the full res 1080p 9000k video I had. So it just must have been taking too long to interleave, and did not have any other problems.

Did you have a chance to look at the HE-AAC verses AAC-LE issue I reported with the windows FFMpeg build? I am curious if it is an issue on Unix as well, or strictly a Windows issue?

Thanks,

Rick


----------



## moyekj

rfryar said:


> Did you have a chance to look at the HE-AAC verses AAC-LE issue I reported with the windows FFMpeg build? I am curious if it is an issue on Unix as well, or strictly a Windows issue?


 ffmpeg probably would need to be compiled with libaacplus support in order to support decoding of HE-AAC. I haven't yet seen an ffmpeg build with libaacplus.


----------



## Sicklybutsexy

Sometimes when I "back-in" to streambaby from live tv, meaning I press left on the remote from live TV when I was previously using streambaby...streambaby looks a lot different. It's got a background with movie reels and everything looks a lot cooler. Just something I've noticed. But is there a way to make streambaby look like that all the time? Nothing runs into one another, metadata etc...


----------



## Yoav

Sicklybutsexy said:


> Sometimes when I "back-in" to streambaby from live tv, meaning I press left on the remote from live TV when I was previously using streambaby...streambaby looks a lot different. It's got a background with movie reels and everything looks a lot cooler. Just something I've noticed. But is there a way to make streambaby look like that all the time? Nothing runs into one another, metadata etc...


It looks like that all the time here. I think something is messed up with your installation or your streambaby.ini .

OR

what is the resolution you have specified on your tivo? It only uses the dark blue reel background when it detects your tivo is using an HD output... so it might be related to your resolution settings (although I'm more inclined to think the streambaby.ini file or just your actual code is messed up).


----------



## jimbob111

newb question, first time running streambaby, my screen shows 'top level' and then 'no entries at this level' in the main screen. what do i need to fix? thanks! j


----------



## rfryar

jimbob111 said:


> newb question, first time running streambaby, my screen shows 'top level' and then 'no entries at this level' in the main screen. what do i need to fix? thanks! j


Did you edit the streambaby.ini and set the path to your video share? Also you need to remove the # at the beginning of the line.

See the wiki for more info on this file.

Regards,

Rick


----------



## Sicklybutsexy

Yoav said:


> It looks like that all the time here. I think something is messed up with your installation or your streambaby.ini .
> 
> OR
> 
> what is the resolution you have specified on your tivo? It only uses the dark blue reel background when it detects your tivo is using an HD output... so it might be related to your resolution settings (although I'm more inclined to think the streambaby.ini file or just your actual code is messed up).


Hey Yoav, could you post you streambaby.ini file so I could see where mine is messed up? It's weird because I don't think I have that much listed on my ini file.


----------



## kearygriffin

Sicklybutsexy said:


> Hey Yoav, could you post you streambaby.ini file so I could see where mine is messed up? It's weird because I don't think I have that much listed on my ini file.


An bare-bones INI (with say just the directory entries) should default to the HD streambaby screen with nice graphics/fonts.

Are you running through galleon by any chance? I'm not sure what will happen as far as setting the correct resolution in that case.


----------



## fyodor

Hi Keary,

I have been playing around with the PyTivo push feature, which is really quite fantastic. I had a few questions-

1. Is there any reason that for two files in the same directory, that the Pytivo Push feature would only be available for one? Both files show up as streamable, but I only get the push option with one of them.

2. This got me thinking, one of the big pains in the ass of pushing (which you've now overcome) is the annoyance of leaving the Tivo to send from your computer. How hard would it be to implement some other Tivo-initiated functions from Streambaby? For example, it seems that a lot of people have various remuxes, etc, that they need to run to make their files work. How hard would it be to implement some sort of command that runs a user-designated program with the media file as an argument? Or use it to delete the source file afterwards?

3. I understand that Streambaby can utilize PyTivo metadata. Is there any way to get streambaby to pass metadata to PyTivo for pushes? I have some MP4s with embedded metadata, where Streambaby can see the title, but PyTivo cannot. Is there some way I can use Streambaby to create PyTivo compliant metadata files.

Thanks, much, and again, great work. This is a fantastic program.


----------



## moyekj

fyodor said:


> 1. Is there any reason that for two files in the same directory, that the Pytivo Push feature would only be available for one? Both files show up as streamable, but I only get the push option with one of them.


 Could possibly be a bug, perhaps with some special characters in file name or something of that nature. If you can put streambaby in debug mode (see debugging_problems wiki) and then run streambaby and navigate into the Play Screen of the file for which pyTivo push option does not show, then post the streambaby.log contents here (or via PM) that may provide some insight. Also post the full path to the file in question.


----------



## Yoav

Sicklybutsexy said:


> Hey Yoav, could you post you streambaby.ini file so I could see where mine is messed up? It's weird because I don't think I have that much listed on my ini file.


Keary answered better, but just in case you still care:



Code:


# Created by pyTivoX, edits here WILL BE OVERWRITTEN

title=pyTivoX - Yoavs-iMac.local
preview.cache=/tmp/pyTivoCache/
autogenerate.delete=true
port=7290
ip=192.168.0.110
ffmpeg.path=/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
ffmpegjava.avutil=/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
ffmpegjava.avcodec=/Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
ffmpegjava.avformat=/Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
ffmpegjava.swscale=/Applications/pyTivoX.app/Contents/Resources/libswscale.dylib

ffmpegexe.transcode=-acodec ac3 -vcodec mpeg2video -f vob -async 1 -r ${closest.mpeg.fps} -v 0 -threads 2
ffmpegexe.transcode.sameqargs=-sameq -ab 384k -ar ${asamplerate}

pytivo.port=9032
quality.highestabr=384
quality.highres=1080
quality.select=true
trimextensions=true

dir.1=/Volumes/External Disk/movies
dir.1.name=Movies
dir.2=/Users/yoav/Desktop/tivo
dir.2.name=TiVo


----------



## Sicklybutsexy

kearygriffin said:


> An bare-bones INI (with say just the directory entries) should default to the HD streambaby screen with nice graphics/fonts.
> 
> Are you running through galleon by any chance? I'm not sure what will happen as far as setting the correct resolution in that case.


I'll post my .ini file when I get home but mine is pretty bare bones and I'm getting the bare background. No Galleon here...


----------



## rfryar

fyodor said:


> 1. Is there any reason that for two files in the same directory, that the Pytivo Push feature would only be available for one? Both files show up as streamable, but I only get the push option with one of them.


I have seen this, and it has to do with PyTivo only updates its cache occasionally. So if there is a new file placed in the file system, PyTivo's cache does not update to see it.

See if stopping and restarting pytivo, then navigate into streambaby and see if the same item is missing.

But as mentioned before with debugging enabled you can see streambaby "walk" through the pytivo cache to find the item in the logs

Rick


----------



## fyodor

yeah, I tried starting and stopping PyTivo to no avail. I'm going to try playing around with the file names tonight.



rfryar said:


> I have seen this, and it has to do with PyTivo only updates its cache occasionally. So if there is a new file placed in the file system, PyTivo's cache does not update to see it.
> 
> See if stopping and restarting pytivo, then navigate into streambaby and see if the same item is missing.
> 
> But as mentioned before with debugging enabled you can see streambaby "walk" through the pytivo cache to find the item in the logs
> 
> Rick


----------



## moyekj

fyodor said:


> yeah, I tried starting and stopping PyTivo to no avail. I'm going to try playing around with the file names tonight.


 Note that currently to get full refresh you would need to completely stop both pyTivo and streambaby, then re-start pyTivo, then re-start streambaby. One current limitation of the implementation is that streambaby only queries pyTivo server for video files when it first starts up. That needs some improvement obviously. When I originally implemented it I actually was querying pyTivo server every time when entering play screen for a file, but I thought that was overkill in the other direction which can slow things down depending how big your file structure is. Perhaps a fairly easy short term workaround is to have a remote control button in streambaby in selection (file browser) mode to refresh pyTivo available video list. That would be a fairly trivial addition.


----------



## Sicklybutsexy

Here's my .ini file. Don't see anything obvious. Am I the only one not seeing the nicer graphics and fonts?:

#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\jay\Videos\HD Movies
dir.1.name=HD Movies
dir.2=H:\TV Media Encoded
dir.2.name=TV
dir.3=H:\Home Movies
dir.3.name=Home Movies
dir.4=I:\Jay's movies
dir.4.name=Jay's Movies
dir.5=I:\Sony Backup
dir.5.name=Sony Backup
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
port=7290
title=Jay's streamer
ffmpeg.path=C:\Users\jay\Downloads\streambaby-svn-r170\streambaby-svn-r170\native\ffmpeg.exe
quality.select=true
quality.highestvbr=8000
use.title
cc.fontsize=30
meta.vidinfo.disable=false
use.title.cachedonly=false


Do you think it's because I'm using native format on my tivo?


----------



## Sicklybutsexy

I had my tivo in "native" mode and with that it looks like you can't get the graphics, etc...


----------



## moyekj

Sicklybutsexy said:


> I had my tivo in "native" mode and with that it looks like you can't get the graphics, etc...


 So setting a fixed output mode of 720p or 1080i fixes the problem right? Note that Tivo UI in general is in 720p, so if you enter streambaby from UI it should start at 720p mode so you would think that should be OK. Sounds like by bypassing Tivo UI mode and entering directly from a 720p and/or 1080i playback using left button solves the issue. So there seems to be something about entering from Tivo UI that is forcing 480i, perhaps just temporarily.
I used native for quite a long while but then it just got too annoying with constant resolution changes and temporary screen flicker while TV re-syncs. The S3 seems to do a good job scaling anyway so I really don't see a big difference between using native or fixed for my setup so I just bit the bullet and switched to 1080i fixed.


----------



## abnersnell

Should I expect to be able to stream HD mpg from output of kmttg with Streambaby in real-time? Or should I see pausing/buffering pretty regularly?

Thanks!

Abner


----------



## moyekj

abnersnell said:


> Should I expect to be able to stream HD mpg from output of kmttg with Streambaby in real-time? Or should I see pausing/buffering pretty regularly?
> 
> Thanks!
> 
> Abner


 Depends on a lot of factors. In general though the stream speeds seem to be no faster than transfer speeds. So, if your transfer speed from Tivo->PC for those HD shows happen >= real time then you should expect streaming to be pausing/buffering a lot if you try and view real time.
Note that for whatever reason transfer speeds of native mp4 files are quite significantly faster than mpeg2, and of course the bit rates for those are quite a bit smaller compared to mpeg2 as well, so if streaming real time or better is a high priority then making HD mp4 versions is a good option since you can stream them back >> real time to your Tivos.

I really like the streaming option because it provides true random access anywhere in the file and other features you can't get with native Tivo playback. For example, jumping ahead or jumping back n minutes is not something you can do with native Tivo playback (you have to use FF/REW/skip).


----------



## abnersnell

Thanks for the quick reply! I have been using Streambaby from the beginning and I just wanted to make sure there wasn't some "magic" I missed somewhere along the line to just play the HD mpg back after kmttg smoothly. 

I don't mind encoding to h.264 it just takes a long time. Is 8Mbps the going bitrate for HD like you use in your default kmttg encode profile? Can I speed up encoding with -threads 4 on a quad-core processor? 

Just making sure everyone is in the same boat when it comes to encoding times, it sure does take a while! 

Thanks again!

Abner

PS - I tried your latest version of kmttg, but I still have the left-over .edl files after videredo adcut process. I can post over there if need be.


----------



## Sicklybutsexy

moyekj said:


> So setting a fixed output mode of 720p or 1080i fixes the problem right? Note that Tivo UI in general is in 720p, so if you enter streambaby from UI it should start at 720p mode so you would think that should be OK. Sounds like by bypassing Tivo UI mode and entering directly from a 720p and/or 1080i playback using left button solves the issue. So there seems to be something about entering from Tivo UI that is forcing 480i, perhaps just temporarily.
> I used native for quite a long while but then it just got too annoying with constant resolution changes and temporary screen flicker while TV re-syncs. The S3 seems to do a good job scaling anyway so I really don't see a big difference between using native or fixed for my setup so I just bit the bullet and switched to 1080i fixed.


Are you sure Tivo UI is in 720p? Why would when I have it in native format would it be showing 480? When I make the format 720p or 1080i fixed that does fix it though.


----------



## moyekj

Sicklybutsexy said:


> Are you sure Tivo UI is in 720p? Why would when I have it in native format would it be showing 480? When I make the format 720p or 1080i fixed that does fix it though.


 If I go to Tivo Central, Now Playing List, etc. with Tivo set to native output all those show 720p from my TV Info when I use Tivo native output.


----------



## moyekj

abnersnell said:


> I don't mind encoding to h.264 it just takes a long time. Is 8Mbps the going bitrate for HD like you use in your default kmttg encode profile? Can I speed up encoding with -threads 4 on a quad-core processor?


 I think 8 Mbps H.264 is probably overkill for most TV HD recordings but that's one of those things where you just have to try it out and tweak it yourself. txporter recently posted here a handbrake recipe that seemed to work well (though be warned it's 2 pass encoding so can take quite a while) and based on that I updated the video_compatibility wiki with that recipe and a roughly equivalent ffmpeg version that is single pass, so probably not quite as good but quicker. Certainly adding more threads to do encoding should help a lot too as you suggested.

I really haven't spent a lot of time experimenting with different encoding recipes to see what works best though that would be a useful thing for someone to do. The HD mpeg2 recordings I do save to my PC are mostly 720p (from ABC) and using S3s I can get about 13-15 Mbps streaming speeds which is more than enough to stream them real time, so I have not had much need to encode them to mp4. The rest of the stuff I stream is DVD mpeg2 which are fine streaming as is to Tivo. Obviously if you can avoid re-encoding that's the best choice for quality.


----------



## abnersnell

moyekj said:


> The HD mpeg2 recordings I do save to my PC are mostly 720p (from ABC) and using S3s I can get about 13-15 Mbps streaming speeds which is more than enough to stream them real time, so I have not had much need to encode them to mp4. The rest of the stuff I stream is DVD mpeg2 which are fine streaming as is to Tivo.


This is what I was trying to ask originally. I am taking the same ABC shows, running through every step in kmttg except for the encode and viewing them with streambaby. Unfortunately, not real-time.

I remember reading something about tuning channels to non-channels or not recording at the same time you are streaming to increase bandwidth. Are you doing anything special to get 13-15 Mbps streaming speeds? I wonder if the videoredo adcut step does something to the end result that doesn't allow the real-time stream? I can test that.

streambaby.ini:

#
# ./streambaby --help for more configuration file options
#
dir.1=C:\myvideos
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290
trimextensions=true
use.title=true
preview.quality=20
transcode.disable=false


----------



## philby85

I thought I'd elaborate on what I was talking about in my previous post.

I have changed the background in my assets folder to a red theater curtain.
See main menu pic. I have also changed the folder icon to a movies folder icon see main menu close pic. It needs to be larger and would be great to have a different icons for each folder.

Then I have changed the movie icon as well, see movie list close pic.

I am not saying the default icons screens etc are ugly just not my style.
If we could as I suggest have a different background for each folder, then instead of the curtain background you could have a jpeg of the cast of the tv show you are about to watch, this looks great on other media players. I am not sure if adding these features are feasible or desirable by anyone but me? I know they are not hardcore features but these simple features could allow many different looks that we could share.

cheers

Phil


----------



## wmcbrine

Sicklybutsexy said:


> Are you sure Tivo UI is in 720p? Why would when I have it in native format would it be showing 480?


Your Aspect Ratio is set to 4:3. Set it to 16:9. (Settings > Video > TV Aspect Ratio)

The menus proper (text and icons) are a 480-line overlay. But the video background is 480i, if your aspect ratio is set to 4:3; 720p, if 16:9. And the background is what determines the output resolution in Native mode.


----------



## moyekj

abnersnell said:


> Are you doing anything special to get 13-15 Mbps streaming speeds? I wonder if the videoredo adcut step does something to the end result that doesn't allow the real-time stream? I can test that.


 No, editing out commercials with VRD won't affect the average bit rate. I am not doing anything special to get above speeds - those are pretty normal for S3 series Tivos that I am using. The THD/HDXL units are still a little slower than that. They used to be about half the speed of S3s when they first came out but have improved quite a bit since, but the S3s are still faster. With my HDXL unit I can't quite stream real time the ABC HD recordings, but it's usually not an issue with my S3 units (unless they are very loaded at the time). You can improve speed a little by tuning to channels you don't receive thus alleviating load on your Tivo but of course that won't do if you happen to be recording something at the time while you stream.


----------



## Sicklybutsexy

wmcbrine said:


> Your Aspect Ratio is set to 4:3. Set it to 16:9. (Settings > Video > TV Aspect Ratio)
> 
> The menus proper (text and icons) are a 480-line overlay. But the video background is 480i, if your aspect ratio is set to 4:3; 720p, if 16:9. And the background is what determines the output resolution in Native mode.


yeah. I think it's set to 4:3 dynamic or something. Will change it. Thanks.


----------



## fyodor

moyekj said:


> Note that for whatever reason transfer speeds of native mp4 files are quite significantly faster than mpeg2, and of course the bit rates for those are quite a bit smaller compared to mpeg2 as well, so if streaming real time or better is a high priority then making HD mp4 versions is a good option since you can stream them back >> real time to your Tivos.


I'd love to get some systematic data on this. My initial thought was that there was some sort of inbound processing that set a maximum cap on the speed of incoming MPEG-2 data (i.e. no more than say 12 megabits/s). But anecdotally, it seems that people who have relatively slow connections (wireless) receive H.264 video much faster. Even the new shows for which amazon has started delivering as WMVs appear to be getting much faster download speeds (based on the anecdotal reports that I've seen). I'm not sure what could cause such an effect.

F


----------



## fyodor

abnersnell said:


> This is what I was trying to ask originally. I am taking the same ABC shows, running through every step in kmttg except for the encode and viewing them with streambaby. Unfortunately, not real-time.
> 
> I remember reading something about tuning channels to non-channels or not recording at the same time you are streaming to increase bandwidth. Are you doing anything special to get 13-15 Mbps streaming speeds?


How is your Tivo connected to the network?


----------



## abnersnell

fyodor said:


> How is your Tivo connected to the network?


It is wired connection into gigabit switch, dual-core 2.6ghz desktop to same switch is gigabit ethernet. I tested a show this morning that was run through VideoRedo Adcut but not re-encoded that Streambaby reports as "Same -15Mbps" in the quality section. It paused after a few seconds and then again after another few seconds. It is a 1080i Monk from USAHD.


----------



## moyekj

fyodor said:


> I'd love to get some systematic data on this. My initial thought was that there was some sort of inbound processing that set a maximum cap on the speed of incoming MPEG-2 data (i.e. no more than say 12 megabits/s). But anecdotally, it seems that people who have relatively slow connections (wireless) receive H.264 video much faster. Even the new shows for which amazon has started delivering as WMVs appear to be getting much faster download speeds (based on the anecdotal reports that I've seen). I'm not sure what could cause such an effect.


 My *guess* is that mpeg2 is stored in a special format on Tivos (ty format or whatever it's called) and thus requires additional demuxing/re-muxing in addition to application of encryption while mpeg4 or wmv don't get the demuxing/re-muxing step (but likely still get the encryption applied) and thus take less of the limited resources of a Tivo (CPU & memory).
It's already a known fact that if you transfer .TiVo files from Tivo->PC in native format (&Format=video%2Fx-tivo-raw-tts) that transfers happen at MRV rates instead of TTG rates which can be as much as 2x faster, so any changes that need to be made to a video stream that burden the Tivo resources can slow things down quite considerably.


----------



## fyodor

moyekj said:


> My *guess* is that mpeg2 is stored in a special format on Tivos (ty format or whatever it's called) and thus requires additional demuxing/re-muxing in addition to application of encryption while mpeg4 or wmv don't get the demuxing/re-muxing step (but likely still get the encryption applied) and thus take less of the limited resources of a Tivo (CPU & memory).
> It's already a known fact that if you transfer .TiVo files from Tivo->PC in native format (&Format=video%2Fx-tivo-raw-tts) that transfers happen at MRV rates instead of TTG rates which can be as much as 2x faster, so any changes that need to be made to a video stream that burden the Tivo resources can slow things down quite considerably.


Yeah, but in this case, you'd expect very little speed differential for connections that are already bandwidth limited because the Tivo could do the reprocessing faster than the incoming data is received. Whereas it appears (anecdotally) that even wireless and/or internet transfers see much higher MPEG-4 transfer speeds.


----------



## txporter

moyekj said:


> I think 8 Mbps H.264 is probably overkill for most TV HD recordings but that's one of those things where you just have to try it out and tweak it yourself. txporter recently posted here a handbrake recipe that seemed to work well (though be warned it's 2 pass encoding so can take quite a while) and based on that I updated the video_compatibility wiki with that recipe and a roughly equivalent ffmpeg version that is single pass, so probably not quite as good but quicker. Certainly adding more threads to do encoding should help a lot too as you suggested.


The handbrake profile that I posted was for SD encodes. I haven't done any HD re-encodes, I simply chop out the commercials with VRD and then pull them back up to the Tivo. I would probably push the bitrate up to ~5mbps for HD, but I would need to experiment. I will try to remember to post a profile for handbrake that uses CRF instead of 2-pass tonight. That will make the re-encodes quite a bit faster (35 mins for 42min episode vs 50 mins). I went away from it because I had 1 particular series that gave me vastly different final bitrates (~3700 vs ~2200).

Jason


----------



## JamieP

moyekj said:


> My *guess* is that mpeg2 is stored in a special format on Tivos (ty format or whatever it's called) and thus requires additional demuxing/re-muxing in addition to application of encryption while mpeg4 or wmv don't get the demuxing/re-muxing step (but likely still get the encryption applied) and thus take less of the limited resources of a Tivo (CPU & memory).
> It's already a known fact that if you transfer .TiVo files from Tivo->PC in native format (&Format=video%2Fx-tivo-raw-tts) that transfers happen at MRV rates instead of TTG rates which can be as much as 2x faster, so any changes that need to be made to a video stream that burden the Tivo resources can slow things down quite considerably.


I think you are right. mpeg2 on a series3 is stored, essentially, as a mpeg transport stream, with a little bit of extra tivo "trickplay" indexing in the ty container. Google the "s3tots" program for more details. Credit to ddb user bcc for figuring this stuff out. An mpeg2 program stream need to be converted into a transport stream when received, which no doubt adds overhead.

I tried sending an mpeg2ts transport stream directly to the tivo, but Pytivo wants to convert it into a program stream. I wonder if the tivo can receive transport streams directly, since that is very close to the format it is stored in on the tivo? I see some strings in tivoapp that might be relevant: "mpeg2TransportStream" near "mpeg2ProgramStream" and "avcL41MP4". Also "video/x-tivo-mpeg&System=ts"


----------



## Sicklybutsexy

JamieP said:


> I think you are right. mpeg2 on a series3 is stored, essentially, as a mpeg transport stream, with a little bit of extra tivo "trickplay" indexing in the ty container. Google the "s3tots" program for more details. Credit to ddb user bcc for figuring this stuff out. An mpeg2 program stream need to be converted into a transport stream when received, which no doubt adds overhead.
> 
> I tried sending an mpeg2ts transport stream directly to the tivo, but Pytivo wants to convert it into a program stream. I wonder if the tivo can receive transport streams directly, since that is very close to the format it is stored in on the tivo? I see some strings in tivoapp that might be relevant: "mpeg2TransportStream" near "mpeg2ProgramStream" and "avcL41MP4". Also "video/x-tivo-mpeg&System=ts"


you probably tried this, but did you try renaming the mpeg transport stream to a plain old mpg and then try it?


----------



## JamieP

Sicklybutsexy said:


> you probably tried this, but did you try renaming the mpeg transport stream to a plain old mpg and then try it?


Tried that. PyTivo still reports:


Code:


DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, /space/jamie/video/msbts.mpg

 This was with a pyTivo push, as I'm not near my tivo to try pulling or streaming.


----------



## Sicklybutsexy

JamieP said:


> Tried that. PyTivo still reports:
> 
> 
> Code:
> 
> 
> DEBUG:pyTivo.video.transcode:TRANSCODE=YES, container mpegts not compatible, /space/jamie/video/msbts.mpg
> 
> This was with a pyTivo push, as I'm not near my tivo to try pulling or streaming.


I think it would be the same since they both go through ffmpeg...I think keary or wmcbrine would be better able to answer the question.


----------



## Sicklybutsexy

or I guess the alternative would be, is there a way to convert an mpeg file into a .tivo file? With Videoredo you can do this. Would then this dramatically speed up the transfer speeds for mpeg files?


----------



## JamieP

Sicklybutsexy said:


> or I guess the alternative would be, is there a way to convert an mpeg file into a .tivo file? With Videoredo you can do this. Would then this dramatically speed up the transfer speeds for mpeg files?


I dunno, but I tried extracting a show via the http interface, adding "&System=ts" at the end of the url (after x-tivo-mpeg) and it extracted about twice as fast as the same show did without that qualifier. It sounds similar to the performance improvement moyekj reported with x-tivo-raw-tts.


----------



## moyekj

A few of us have already been attempting for quite a while now to get streaming and/or pyTivo push of mpeg2 in mpeg2 transport streams to work, but have not found a way to do it, so AFAIK it's not yet possible (at least I've not found a way to do it).

As wmcbrine has pointed out before, the tivoapp binary contains this section which seems to indicate the supported encoding types:
supportedEncodingType...avcL41MP4 vc1ApL3 mpeg2ProgramStream

The tivoapp binary also contains another section as you pointed out with:
tivo windowsMedia mpeg2ProgramStream mpeg2TransportStream avcL41MP4 vc1ApL3

This gave some hope that perhaps mpeg2TransportStream is supported, but I haven't been able to get that to work. And actually in pyTivo mind.py if you setup things such that .ts files use mpeg2TransportStream encoding type the push request to mind.tivo.com does actually go through without complaint which is also encouraging. However you will find that you never get a subsequent request from the Tivo for the file when using mpeg2TransportStream encoding type so it appears to not be supported.


----------



## txporter

Here is my original handbrake profile using a CRF based encode rather than 2-pass (I made it AC3 instead of AAC):


Code:


-i "source" -t 5 -c 1-16 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -q 0.61 -a 1 -E ac3 -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="chapters.csv" -x ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9:psy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1 -v

Here is the 2-pass version with AC3 for completeness:


Code:


-i "source" -t 5 -c 1-16 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -b 2000 -2  -T  -a 1 -E ac3 -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="chapters.csv" -x ref=3:mixed-refs=1:bframes=3:weightb=1:direct=auto:b-pyramid=1:me=umh:subq=9:analyse=all:8x8dct=1:no-fast-pskip=1:psy-rd=1,0.2:keyint=24:min-keyint=2:no-dct-decimate=1 -v

Jason


----------



## abnersnell

txporter said:


> I haven't done any HD re-encodes, I simply chop out the commercials with VRD and then pull them back up to the Tivo.


Does this HD mpeg after chopping out the commercials with VRD stream back in realtime? If so, can you describe your desktop to tivo connection? Dual-Core? Switch/router? etc.

I still can't stream HD mpegs back to TIVO S3 in real-time. Sounds like some of you are doing this without issue. I would encode things I want to keep for awhile, but if I just want quick turnaround time for the commercial removal, I would like to stream back the HD mpeg file.

Thanks!

Abner


----------



## JamieP

moyekj said:


> A few of us have already been attempting for quite a while now to get streaming and/or pyTivo push of mpeg2 in mpeg2 transport streams to work, but have not found a way to do it, so AFAIK it's not yet possible (at least I've not found a way to do it).
> 
> As wmcbrine has pointed out before, the tivoapp binary contains this section which seems to indicate the supported encoding types:
> supportedEncodingType...avcL41MP4 vc1ApL3 mpeg2ProgramStream
> 
> The tivoapp binary also contains another section as you pointed out with:
> tivo windowsMedia mpeg2ProgramStream mpeg2TransportStream avcL41MP4 vc1ApL3
> 
> This gave some hope that perhaps mpeg2TransportStream is supported, but I haven't been able to get that to work. And actually in pyTivo mind.py if you setup things such that .ts files use mpeg2TransportStream encoding type the push request to mind.tivo.com does actually go through without complaint which is also encouraging. However you will find that you never get a subsequent request from the Tivo for the file when using mpeg2TransportStream encoding type so it appears to not be supported.


OK. Thanks for the info. From browsing tivoapp, it appears to me that the first list is the types supported for insertion onto the tivo, and the second list, for extraction.


----------



## moyekj

txporter said:


> Here is my original handbrake profile using a CRF based encode rather than 2-pass (I made it AC3 instead of AAC):
> 
> 
> Code:
> 
> 
> -i "source" -t 5 -c 1-16 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -q 0.61 -a 1 -E ac3 -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="chapters.csv" -x ref=3:mixed-refs=1:bframes=3:b-pyramid=1:weightb=1:analyse=all:8x8dct=1:me=umh:subq=9:psy-rd=1,0.2:direct=auto:keyint=24:min-keyint=2:no-fast-pskip=1:no-dct-decimate=1 -v
> 
> Here is the 2-pass version with AC3 for completeness:
> 
> 
> Code:
> 
> 
> -i "source" -t 5 -c 1-16 -o "output.mp4" -f mp4 -O  --decomb  -p  --detelecine -e x264 -b 2000 -2  -T  -a 1 -E ac3 -B 160 -R 0 -6 dpl2 -D 1 -s 1 --markers="chapters.csv" -x ref=3:mixed-refs=1:bframes=3:weightb=1:direct=auto:b-pyramid=1:me=umh:subq=9:analyse=all:8x8dct=1:no-fast-pskip=1:psy-rd=1,0.2:keyint=24:min-keyint=2:no-dct-decimate=1 -v
> 
> Jason


Thanks. Note that the CRF based version for HD encoding generates a file with a higher video bit rate and larger file size than the original mpeg2. I translated to what I thought was a roughly equivalent version for ffmpeg CRF based encoding and for SD encodes it generates a very similar encoding to handbrake, but the ffmpeg version also works reasonably well for HD encodings as well.


Code:


ffmpeg -y -i inputFile.mpg -acodec copy -vcodec libx264 -sameq -crf 22 -refs 3 -flags2 +mixed_refs+wpred+bpyramid+dct8x8-fastpskip -bf 3 -me_method umh -subq 9 -g 24 -keyint_min 2 -f mp4 ouputFile.mp4

I'm not exactly sure but from what I could gather ffmpeg -crf useful range is 34:14 where 14 is better.


----------



## txporter

moyekj said:


> Thanks. Note that the CRF based version for HD encoding generates a file with a higher video bit rate and larger file size than the original mpeg2. I translated to what I thought was a roughly equivalent version for ffmpeg CRF based encoding and for SD encodes it generates a very similar encoding to handbrake, but the ffmpeg version also works reasonably well for HD encodings as well.
> 
> 
> Code:
> 
> 
> ffmpeg -y -i inputFile.mpg -acodec copy -vcodec libx264 -sameq -crf 22 -refs 3 -flags2 +mixed_refs+wpred+bpyramid+dct8x8-fastpskip -bf 3 -me_method umh -subq 9 -g 24 -keyint_min 2 -f mp4 ouputFile.mp4
> 
> I'm not exactly sure but from what I could gather ffmpeg -crf useful range is 34:14 where 14 is better.


Yeah, the handbrake %quality system is sort of whacked out. For SD recordings, if I use a quality of 61% it is a CRF of ~20. However, depending on what options are selected (level of trellis especially) the bitrate can vary quite a bit. I believe that I read a lower quality % needs to be used for HD encodes (50-55%, I think). I like Handbrake because it simplifies the conversion of DVD rips to files with burned in subs, but I do wish the options were more inline with other software though.

Jason


----------



## txporter

abnersnell said:


> Does this HD mpeg after chopping out the commercials with VRD stream back in realtime? If so, can you describe your desktop to tivo connection? Dual-Core? Switch/router? etc.
> 
> I still can't stream HD mpegs back to TIVO S3 in real-time. Sounds like some of you are doing this without issue. I would encode things I want to keep for awhile, but if I just want quick turnaround time for the commercial removal, I would like to stream back the HD mpeg file.
> 
> Thanks!
> 
> Abner


Sorry, I must have written that oddly. I do not actually use Streambaby at all . I push all of my mp4s to my Tivo with pytivo and pull all of my HD edits back with pytivo.

Jason


----------



## moyekj

txporter said:


> Yeah, the handbrake %quality system is sort of whacked out. For SD recordings, if I use a quality of 61% it is a CRF of ~20. However, depending on what options are selected (level of trellis especially) the bitrate can vary quite a bit. I believe that I read a lower quality % needs to be used for HD encodes (50-55%, I think). I like Handbrake because it simplifies the conversion of DVD rips to files with burned in subs, but I do wish the options were more inline with other software though.
> 
> Jason


 For consistency I reverted back to using straight bitrate setting (and 1 pass encoding) in the wiki page additions. I also stripped off most of the audio related settings since Handbrake will copy as much from source audio as possible if you don't specify them which is desired if coming from mpeg2 with AC3. So I believe the wiki page posting now has 2 very similar recipes and I'm getting very similar file sizes & bit rates out of them. For my test encodes ffmpeg is fairly significantly faster than handbrakeCLI for whatever reason.


----------



## txporter

Interesting that you are seeing different results for encode times. It might be that some of the newer versions of x264 have some optimized code?? Just a guess. The current version of Handbrake is almost 6 months old now.

Jason


----------



## PaulS

I took a quick peek at StreamBaby when it was first introduced, and liked what I saw. However, at the time, my main video server machine was not up to the task of near-real-time transcodes, which prevented me from taking full advantage of StreamBaby. Since then, I've moved my video servers to a much more capable machine. So, I tried out StreamBaby 0.25 and ran into some problems.

StreamBaby (and logo) appears in the Photos, Apps list.
Selecting StreamBaby from the menu gets me to a VERY long duration "Please wait..." prompt from the TiVo. When the "Please wait..." goes away, I'm seeing an HTTP 0x50005 error from the TiVo.

So, here's my breakdown :
This machine also faithfully serves as my pyTivo server, which runs flawlessly. 
There are no other machines on my network serving any TiVo HME/HMO apps. 
Enabling debug in the StreamBaby config file gets me *nothing*.
I tried many different variations of config file, from a simple one liner (dir.1=f:\videos), to adding/removing the port, to adding/removing the ip address.


----------



## moyekj

PaulS, follow the directions in debugging_problems wiki page to generate debug info then post contents of streambaby.log file.


----------



## PaulS

moyekj said:


> PaulS, follow the directions in debugging_problems wiki page to generate debug info then post contents of streambaby.log file.


Ooops. I think I should RTFM a little more carefully. I was expecting the debug output to show up on screen, rather than a logfile. Will report results tonight. Thanks!

edit: Update. I have absolutely no idea what's going on. I got home, added the debug line to my streambaby.ini file, fired her back up and it just works. At work, we call this "proximity code". Basically, the code knows you're trying to fix it and behaves itself (at least temporarily). Oh well, thanks guys!


----------



## moyekj

As of yesterday Tivo has added Netflix shortcut in Now Playing List. This is the first time I can remember seeing a shortcut to an HME application in Now Playing List. Wonder if it's possible to add our own HME shortcuts there? Sure would be more convenient to have a streambaby shortcut there rather than having to go to Music, Photos & Showcases, wait for all the crap in there to load and then jump to the bottom to find it.


----------



## Sicklybutsexy

Has anyone else noticed this...If you try and transfer a file that won't transfer for whatever reason (something with the mp4 file for example) and you go to transfer another file that you know has been transferrable in the past it won't work. The only way it seems to get streambaby working again is to restart the tivo, which is a pain. Is it that the tivo gets cluttered with info? Is there some way to get streambaby working again without resetting the tivo?


----------



## wmcbrine

moyekj said:


> This is the first time I can remember seeing a shortcut to an HME application in Now Playing List.


It may be the first in the NPL, but TiVo can add them anywhere -- think VOD, swivel search, etc.


----------



## moyekj

wmcbrine said:


> It may be the first in the NPL, but TiVo can add them anywhere -- think VOD, swivel search, etc.


 Yeah, the reason I thought NPL may be more significant is because for HMO applications you can have them show up in NPL. Thinking outside the box here for a minute I wonder if there's a way to trigger start of an HME application using HMO? i.e. For example in pyTivo define a share that somehow triggers an HME application? Probably doesn't make any sense but I thought I would throw it out here just in case...


----------



## MighTiVo

moyekj said:


> As of yesterday Tivo has added Netflix shortcut in Now Playing List. This is the first time I can remember seeing a shortcut to an HME application in Now Playing List. Wonder if it's possible to add our own HME shortcuts there? Sure would be more convenient to have a streambaby shortcut there rather than having to go to Music, Photos & Showcases, wait for all the crap in there to load and then jump to the bottom to find it.


I came to ask the same question.

It would be great if TiVo supported local streaming in the NPL, including from other TiVos!


----------



## JohnDiamant

StreamBaby is great. I'm really enjoying using it. I have it set up to stream Microsoft Media Center Edition (MCE) .dvr-ms files (just had to add that to the extensions list) and it works great for analog recorded files. For any that are recorded off a digital tuner, I get a resource not found error, though. I've attached all the debug info requested on the debug wiki page. Hopefully you can tell what the problem is from that and how to fix it.

Thanks!


----------



## fyodor

moyekj said:


> Yeah, the reason I thought NPL may be more significant is because for HMO applications you can have them show up in NPL. Thinking outside the box here for a minute I wonder if there's a way to trigger start of an HME application using HMO? i.e. For example in pyTivo define a share that somehow triggers an HME application? Probably doesn't make any sense but I thought I would throw it out here just in case...


Is there any way to spy on what's happening when it triggers Netflix streaming from the NPL?


----------



## rfryar

I have an MP4, 1080p, AC3 Audio, that does not make it to the play screen. Below are the FFMPEG results and the debug log. 

Any clue as to why it is failing when it is trying to obtain metadata/bitrate of this file? Should I try scrubbing the metadata on the MP4? Or any other hints? 

At the moment I have interleave.false enabled, but I do not think this matters at this point as I never get to select the movie to play it.

Thanks,

Rick


----------



## Sicklybutsexy

rfryar said:


> I have an MP4, 1080p, AC3 Audio, that does not make it to the play screen. Below are the FFMPEG results and the debug log.
> 
> Any clue as to why it is failing when it is trying to obtain metadata/bitrate of this file? Should I try scrubbing the metadata on the MP4? Or any other hints?
> 
> At the moment I have interleave.false enabled, but I do not think this matters at this point as I never get to select the movie to play it.
> 
> Thanks,
> 
> Rick


please post your mediainfo file as well. Audio for ac3 needs to be 448 kbps or less. Often the aspect ratio is a problem if its not 1280 x 720 or 1920 x 1080. How did you encode the file?


----------



## moyekj

JohnDiamant said:


> StreamBaby is great. I'm really enjoying using it. I have it set up to stream Microsoft Media Center Edition (MCE) .dvr-ms files (just had to add that to the extensions list) and it works great for analog recorded files. For any that are recorded off a digital tuner, I get a resource not found error, though. I've attached all the debug info requested on the debug wiki page. Hopefully you can tell what the problem is from that and how to fix it.
> 
> Thanks!


Looks to me like ffmpeg transcode is either failing or not producing an output stream quick enough. Create a run.bat file with the following:


Code:


"C:\Program Files\StreamBaby\native\ffmpeg.exe" -ss 0.0 -i "F:\Recorded TV\ABBA in Concert_KBDI-DT_05_08_2006_20_56_07.dvr-ms" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000 test.mpg

Then from a cmd window execute the above run.bat file and see if it's able to create test.mpg properly and in reasonable time.


----------



## JohnDiamant

moyekj said:


> Looks to me like ffmpeg transcode is either failing or not producing an output stream quick enough. Create a run.bat file with the following:
> 
> 
> Code:
> 
> 
> "C:\Program Files\StreamBaby\native\ffmpeg.exe" -ss 0.0 -i "F:\Recorded TV\ABBA in Concert_KBDI-DT_05_08_2006_20_56_07.dvr-ms" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000 test.mpg
> 
> Then from a cmd window execute the above run.bat file and see if it's able to create test.mpg properly and in reasonable time.


You are correct. ffmpeg failed to create a test.mpg file (it was zero length). Attached is the log created by the run.bat file. It appears to have gotten a frame sync error while decoding the audio stream if I'm reading it correctly. I checked the same operation on an analog recording (which is streaming properly) and it doesn't get the frame sync error.

I thought it wasn't going to need to run ffmpeg, though, because the default Quality: option is "Same" (which I thought meant no transcoding required).

Thanks in advance for any assistance you can provide.


----------



## Yoav

JohnDiamant said:


> I thought it wasn't going to need to run ffmpeg, though, because the default Quality: option is "Same" (which I thought meant no transcoding required).
> 
> Thanks in advance for any assistance you can provide.


Same is a little overloaded here...

Same is actually an ffmpeg option telling ffmpeg to 'try and keep a similar quality to the original source'. (so if you give it as input a 3mbps xvid, it will probably spit out a 5mbps mpeg-2, etc). -- the actual argument to ffmpeg is '-sameq'

The no-transcoding happens if your file is a valid h.264 that can be streamed to a tivo AND 'same' is selected.


----------



## moyekj

In this case 'asf' container (wmv) is being used and Tivo does not natively support mpeg2 video + AC3 audio in asf container. You'd have to change it to mpeg2 program stream container in order for it to stream natively to your Tivos. Since ffmpeg is failing you may have to find another way to demux the audio & video streams and then re-mux them into mpeg2 program stream. Don't have any tool names on top of my head right now I can suggest to do that...


----------



## Sicklybutsexy

moyekj said:


> In this case 'asf' container (wmv) is being used and Tivo does not natively support mpeg2 video + AC3 audio in asf container. You'd have to change it to mpeg2 program stream container in order for it to stream natively to your Tivos. Since ffmpeg is failing you may have to find another way to demux the audio & video streams and then re-mux them into mpeg2 program stream. Don't have any tool names on top of my head right now I can suggest to do that...


try xvid4psp. under video choose copy, under container mpeg-ps, under audio choose copy.


----------



## kearygriffin

rfryar said:


> I have an MP4, 1080p, AC3 Audio, that does not make it to the play screen. Below are the FFMPEG results and the debug log.
> 
> Any clue as to why it is failing when it is trying to obtain metadata/bitrate of this file? Should I try scrubbing the metadata on the MP4? Or any other hints?
> 
> At the moment I have interleave.false enabled, but I do not think this matters at this point as I never get to select the movie to play it.
> 
> Thanks,
> 
> Rick


I didn't see anything unusual in the logs, it looks like it parsed the mp4 headers OK. What exactly happens when you select this movie?

You can also try pressing the play button when selecting the movie, which should bypass the play screen and go straight to playing (but it still parses the metadata for the info window, so it may not help)


----------



## rfryar

kearygriffin said:


> I didn't see anything unusual in the logs, it looks like it parsed the mp4 headers OK. What exactly happens when you select this movie?
> 
> You can also try pressing the play button when selecting the movie, which should bypass the play screen and go straight to playing (but it still parses the metadata for the info window, so it may not help)


When I just select the movie to see the info screen it just "hangs" at the please wait screen.

When I bypass the info screen I get the following error screen:
The application closed with an error 0x50006.

And the following error in the streambaby log


Code:


04/11/09 15:25:31 Listener: java.lang.ArithmeticException: / by zero
	at mp4.util.atom.MoovAtom.findAdjustedTime(MoovAtom.java:279)
	at mp4.util.atom.MoovAtom.cut(MoovAtom.java:196)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:126)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:38)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:152)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStreamOrTranscodeVideo(VideoModuleHelper.java:92)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.playNextVideo(ViewScreen.java:267)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.startStream(ViewScreen.java:252)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEnter(ViewScreen.java:396)
	at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:141)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEvent(ViewScreen.java:675)
	at com.tivo.hme.sdk.View.postEvent(View.java:684)
	at com.tivo.hme.bananas.BApplication$StackFrame.doEnter(BApplication.java:482)
	at com.tivo.hme.bananas.BApplication.push(BApplication.java:287)
	at com.tivo.hme.bananas.BApplication.push(BApplication.java:256)
	at com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(SelectionScreen.java:328)
	at com.tivo.hme.sdk.HmeObject.handleEvent(HmeObject.java:115)
	at com.tivo.hme.bananas.BView.handleEvent(BView.java:217)
	at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:146)
	at com.tivo.hme.sdk.View.postEvent(View.java:684)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.bananas.BApplication.dispatchKeyEvent(BApplication.java:196)
	at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:159)
	at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
	at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
	at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
	at java.lang.Thread.run(Unknown Source)

BTW I created this MP4 using the MeGUI tooling from a blue ray source. I do not have mediainfo installed at the moment, if you require that information let me know and I will download a copy and run it.

Thanks,

Rick


----------



## JohnDiamant

moyekj said:


> In this case 'asf' container (wmv) is being used and Tivo does not natively support mpeg2 video + AC3 audio in asf container. You'd have to change it to mpeg2 program stream container in order for it to stream natively to your Tivos. Since ffmpeg is failing you may have to find another way to demux the audio & video streams and then re-mux them into mpeg2 program stream. Don't have any tool names on top of my head right now I can suggest to do that...


Thanks. However, pyTiVo is able to transfer/transcode this recording without problem. I think that suggests a difference in either the version of ffmpeg (pyTivo's version shows up as ffmpeg_mp2.exe in Task Manager) or the way it's being invoked compared to streambaby for this recording. For me, pyTiVo works for dvr-ms digital tuner recordings and streambaby works for dvr-ms analog tuner recordings (pyTiVo gets out of audio sync on analog tuner recordings).

If there's anything I can do to help narrow down the ffmpeg differences, please let me know. Given that both use ffmpeg and one works and the other doesn't with the same file, it would seem, there's hope for making it work.

Thanks again.


----------



## kearygriffin

rfryar said:


> And the following error in the streambaby log
> 
> 
> Code:
> 
> 
> 04/11/09 15:25:31 Listener: java.lang.ArithmeticException: / by zero
> at mp4.util.atom.MoovAtom.findAdjustedTime(MoovAtom.java:279)


Could you try a new version I just pushed up:
http://streambaby.googlecode.com/files/streambaby-svn-r216.zip

I added code to support newer versions of the mdhd atom. I can't tell for sure from looking at the logs whether or not this is the problem, but it would probably cause a crash like above.

(I don't actually have any MP4's with the newer mdhd atoms, so I can't actually test my code, so hopefully it will just work...)


----------



## Sicklybutsexy

rfryar said:


> When I just select the movie to see the info screen it just "hangs" at the please wait screen.
> 
> When I bypass the info screen I get the following error screen:
> The application closed with an error 0x50006.
> 
> And the following error in the streambaby log
> 
> 
> Code:
> 
> 
> 04/11/09 15:25:31 Listener: java.lang.ArithmeticException: / by zero
> at mp4.util.atom.MoovAtom.findAdjustedTime(MoovAtom.java:279)
> at mp4.util.atom.MoovAtom.cut(MoovAtom.java:196)
> at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:126)
> at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:38)
> at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:152)
> at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
> at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
> at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStreamOrTranscodeVideo(VideoModuleHelper.java:92)
> at com.unwiredappeal.tivo.streambaby.ViewScreen.playNextVideo(ViewScreen.java:267)
> at com.unwiredappeal.tivo.streambaby.ViewScreen.startStream(ViewScreen.java:252)
> at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEnter(ViewScreen.java:396)
> at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:141)
> at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEvent(ViewScreen.java:675)
> at com.tivo.hme.sdk.View.postEvent(View.java:684)
> at com.tivo.hme.bananas.BApplication$StackFrame.doEnter(BApplication.java:482)
> at com.tivo.hme.bananas.BApplication.push(BApplication.java:287)
> at com.tivo.hme.bananas.BApplication.push(BApplication.java:256)
> at com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(SelectionScreen.java:328)
> at com.tivo.hme.sdk.HmeObject.handleEvent(HmeObject.java:115)
> at com.tivo.hme.bananas.BView.handleEvent(BView.java:217)
> at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:146)
> at com.tivo.hme.sdk.View.postEvent(View.java:684)
> at com.tivo.hme.sdk.View.postEvent(View.java:686)
> at com.tivo.hme.sdk.View.postEvent(View.java:686)
> at com.tivo.hme.sdk.View.postEvent(View.java:686)
> at com.tivo.hme.bananas.BApplication.dispatchKeyEvent(BApplication.java:196)
> at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:159)
> at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
> at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
> at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
> at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
> at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
> at java.lang.Thread.run(Unknown Source)
> 
> BTW I created this MP4 using the MeGUI tooling from a blue ray source. I do not have mediainfo installed at the moment, if you require that information let me know and I will download a copy and run it.
> 
> Thanks,
> 
> Rick


I would place the mediafile info. There are tons of reasons a file won't stream over in my experience. For one thing the audio, if ac3 has to be 448 kbps or less, also the avc profile must be 4.1 or less. After ruling those things out the aspect ratio is often a problem and if they're not 1920x1080 or 1280x720 you usually can still stream them over. Sometimes what helps is using yamb and changing the PAR of the file to 1:1...


----------



## rfryar

kearygriffin said:


> Could you try a new version I just pushed up:
> http://streambaby.googlecode.com/files/streambaby-svn-r216.zip
> 
> I added code to support newer versions of the mdhd atom. I can't tell for sure from looking at the logs whether or not this is the problem, but it would probably cause a crash like above.
> 
> (I don't actually have any MP4's with the newer mdhd atoms, so I can't actually test my code, so hopefully it will just work...)


Nope same division by zero. Thanks for the update.



Code:


04/11/09 20:28:29 Listener: Unexpected error: java.lang.ArithmeticException: / by zero
04/11/09 20:28:29 Listener: java.lang.ArithmeticException: / by zero
	at mp4.util.atom.MoovAtom.findAdjustedTime(MoovAtom.java:279)
	at mp4.util.atom.MoovAtom.cut(MoovAtom.java:196)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:126)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:38)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:152)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStreamOrTranscodeVideo(VideoModuleHelper.java:92)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.playNextVideo(ViewScreen.java:267)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.startStream(ViewScreen.java:252)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEnter(ViewScreen.java:396)
	at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:141)
	at com.unwiredappeal.tivo.streambaby.ViewScreen.handleEvent(ViewScreen.java:675)
	at com.tivo.hme.sdk.View.postEvent(View.java:684)
	at com.tivo.hme.bananas.BApplication$StackFrame.doEnter(BApplication.java:482)
	at com.tivo.hme.bananas.BApplication.push(BApplication.java:287)
	at com.tivo.hme.bananas.BApplication.push(BApplication.java:256)
	at com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(SelectionScreen.java:328)
	at com.tivo.hme.sdk.HmeObject.handleEvent(HmeObject.java:115)
	at com.tivo.hme.bananas.BView.handleEvent(BView.java:217)
	at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:146)
	at com.tivo.hme.sdk.View.postEvent(View.java:684)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.sdk.View.postEvent(View.java:686)
	at com.tivo.hme.bananas.BApplication.dispatchKeyEvent(BApplication.java:196)
	at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:159)
	at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
	at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
	at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
	at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
	at java.lang.Thread.run(Unknown Source)

Rick


----------



## kearygriffin

rfryar said:


> Nope same division by zero. Thanks for the update.


There was a stupid error in my new code. I just uploaded a fixed version:
http://streambaby.googlecode.com/files/streambaby-svn-r217.zip

Sorry.

If this doesn't work, and you can find find a copy of MP4Box i'd be interested in the output of
MP4Box -diso xxx.mp4
This should create a file called xxx_info.xml. The sections of the XML file I would be interested in looking at are the MediaHeaderBox sections, which should look something like this:


Code:


<MediaHeaderBox CreationTime="3315368549" ModificationTime="3315372691" TimeScale="48000" Duration="78797117" LanguageCode="und">
<BoxInfo Size="32" Type="mdhd"/>
<FullBoxInfo Version="0" Flags="0"/>
</MediaHeaderBox>

There should be at least two of them (one for the audio track and one for the video track). The divide-by-zero is because streambaby is thinking that the TimeScale on one of the tracks is zero, which it should not be.


----------



## rfryar

kearygriffin said:


> If this doesn't work, and you can find find a copy of MP4Box i'd be interested in the output of
> MP4Box -diso xxx.mp4


Nope that did not work. Here is the snippets from the xx_info.txt file. I have the zip of this info file but can not post it here as it is 600k. You can download from my site: http://rick.fryar.org/images/TheRuins_info.zip



Code:


<MediaHeaderBox CreationTime="3321842970" ModificationTime="3321917102" TimeScale="2500000" Duration="14013918129" LanguageCode="und">
<BoxInfo Size="44" Type="mdhd"/>
<FullBoxInfo Version="1" Flags="0"/>
</MediaHeaderBox>
...
<MediaHeaderBox CreationTime="3321917102" ModificationTime="3321917126" TimeScale="48000" Duration="269071872" LanguageCode="eng">
<BoxInfo Size="32" Type="mdhd"/>
<FullBoxInfo Version="0" Flags="0"/>
</MediaHeaderBox>
...
<MediaHeaderBox CreationTime="3321917126" ModificationTime="3321917126" TimeScale="1000" Duration="8584646015" LanguageCode="eng">
<BoxInfo Size="44" Type="mdhd"/>
<FullBoxInfo Version="1" Flags="0"/>
</MediaHeaderBox>

Does not look like there are any zeros. You are using a long datatype right? Several of these numbers are bigger than the signed 4 million int max.

I am also reencoding the movie using a different MP4 encoder to see if that makes any difference.

Thanks,

Rick


----------



## kearygriffin

rfryar said:


> Nope that did not work.


Thanks Rick, the MP4Box info confirms that it is using 64-bit time values (what I called "newer" mdhd atom's in a previous post, but it is really just a different "version" of the mdhd header, a 64-bit version)

The good news is I managed to create a file using the 64-bit time headers and found my problem-- It was not just the mdhd atom that could contain 64-bit values, but several other header atoms also. I managed to fix this in streambaby so it handles them correctly.

The bad news-- My initial testing shows that the TiVo doesn't like these 64-bit time atoms (granted, I am using a sample size of one hand generated file). This may be why I was confused a few weeks ago and thought the TiVo didn't like > 4G files. My test file probably contained both 64-bit offsets and 64-bit time values. I had assumed it was the offsets causing problems, but it was probably the time values.

It will take some work to see if I can work around this...

Thanks for the help, and hopefully I can have a version for you try in the next week or so.


----------



## substance12

i tried this out very briefly. I was wondering why a password would be necessary.


----------



## Yoav

substance12 said:


> i tried this out very briefly. I was wondering why a password would be necessary.


It isn't necessary. It's an option in case you want to require the person on the tivo to know a password before being able to view the movies.

Most people do not specify a password, and since you're asking 'why'... I'd guess you have no need for one either.

An obvious use would be in case you want to keep 'R' rated movies on a share, but don't want to let children in the house view it.


----------



## kearygriffin

kearygriffin said:


> The bad news-- My initial testing shows that the TiVo doesn't like these 64-bit time atoms (granted, I am using a sample size of one hand generated file). This may be why I was confused a few weeks ago and thought the TiVo didn't like > 4G files. My test file probably contained both 64-bit offsets and 64-bit time values. I had assumed it was the offsets causing problems, but it was probably the time values..


Then again it could just be that I am really bad at creating test files, and TiVo handles the 64 bit timestamps with no problem ;-)

Had a chance to do more testing, and TiVo has no problems with 64 bit timestamps. My issue was that the samples I created had multiple mdat atoms (one for each track) which the TiVo of course had no hope of processing.

So given the TiVo has no problems, and I think I fixed the issues streambaby had with the timestamps, I believe this version of streambaby should solve the divide-by-zero error and work:
http://streambaby.googlecode.com/files/streambaby-svn-r218.zip


----------



## myvoiceinthewind

How about the ability to delete the video after you finish viewing it, just like you'd do on the TiVo? That would really help cleaning up space on my PC. It would also help me know which videos I've watched, and which I have not. Another alternative would be to execute a custom command with the filename as a parameter so that the user could delete it.


----------



## t1c4l

Hi there,

I was wondering if someone could shed a light on a problem I having with my TiVo. I keep getting error 0x2e006a when trying to stream from two different computers (both Vista 32-bit). I've enabled Verbose output (see below). I've looked at Java installation, ffmpeg.exe installation, folder permissions etc but I can't see where the problem is. What seems to happen is that streambaby starts the caching process with ffmpeg but then the TiVo closes the connection?? and ffmpeg still keeps running the in background caching the video.

If anyone can give any pointers it would be much appreciated 

Cheers



Code:


Initializing...
04/13/09 16:58:02 StreamBabyMain: Unable to rename first-run script.
04/13/09 16:58:02 StreamBabyConfig: WorkingDir: "E:\Streambaby"
04/13/09 16:58:02 StreamBabyConfig: StreamBabyDir: E:\Streambaby
04/13/09 16:58:02 StreamBabyConfig: CurDir: E:\Streambaby\native
04/13/09 16:58:02 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded: E:\Streambaby\native\avutil-49.dll
04/13/09 16:58:02 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded: E:\Streambaby\native\avcodec-52.dll
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
04/13/09 16:58:02 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded: E:\Streambaby\native\avformat-52.dll
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
04/13/09 16:58:02 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
04/13/09 16:58:02 FFmpegJavaConfig$1: Loaded: E:\Streambaby\native\swscale-0.dll
04/13/09 16:58:02 FFmpegJavaConfig$1: Marking libswscale as available.
04/13/09 16:58:02 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
04/13/09 16:58:02 FFmpegExeVideoModule: FFmpegPath: E:\Streambaby\native\ffmpeg.exe
04/13/09 16:58:02 FFmpegExeVideoModule: FFmpegExeModule: Loaded
04/13/09 16:58:02 StreamBabyMain: STARTING StreamBaby vsvn-r218...
04/13/09 16:58:02 Main: args= start=true
04/13/09 16:58:02 Main: args= [email protected]
04/13/09 16:58:02 Listener: [email protected] [email protected]
04/13/09 16:58:02 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
04/13/09 16:58:02 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/13/09 16:58:02 Listener: name=/streambaby/
04/13/09 16:58:02 Listener:
04/13/09 16:58:02 Listener: added factory
04/13/09 16:58:02 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/13/09 16:58:02 Main: MDNS: [email protected]@p://192.168.1.101:7290/streambaby/
04/13/09 16:58:02 Main: streambaby ready & listening.
04/13/09 16:58:02 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
04/13/09 16:58:27 Listener: http=HttpRequest /streambaby/icon.png
04/13/09 16:58:27 Listener: path=/streambaby/icon.png uri=/streambaby/
04/13/09 16:58:27 Listener:
04/13/09 16:58:27 Listener: 192.168.1.100 icon.png HTTP GET - to factory /streambaby/
04/13/09 16:58:27 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
04/13/09 16:58:30 Listener: http=HttpRequest /streambaby/
04/13/09 16:58:30 Listener: path=/streambaby/ uri=/streambaby/
04/13/09 16:58:30 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
log after close : initContext version=47
04/13/09 16:58:31 Listener:
04/13/09 16:58:31 Factory: HME receiver connected
04/13/09 16:58:31 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
04/13/09 16:58:31 StreamBabyStream: width: 1280
04/13/09 16:58:31 StreamBabyStream: height: 720
04/13/09 16:58:31 StreamBabyStream: aspect: 1/1
04/13/09 16:58:31 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:31 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:31 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
04/13/09 16:58:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
04/13/09 16:58:32 RootDirEntry$dirEntryHandler: dirEntry: file:/E:/Movies/
04/13/09 16:58:32 HostContext: key=pw value=
04/13/09 16:58:32 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:32 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:32 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:32 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:32 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:32 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:32 RootDirEntry$dirEntryHandler: dirEntry: file:/E:/Movies/
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
04/13/09 16:58:32 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
04/13/09 16:58:32 SelectionScreen: getLastEntry: level: 0, name: null
04/13/09 16:58:32 SelectionScreen: focusOn entry=null
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
04/13/09 16:58:33 SelectionScreen: action=right
04/13/09 16:58:33 SelectionScreen: name=Movies, level:0
04/13/09 16:58:33 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
04/13/09 16:58:33 SelectionScreen: getLastEntry: level: 1, name: null
04/13/09 16:58:33 SelectionScreen: focusOn entry=null
04/13/09 16:58:37 SelectionScreen: action=right
04/13/09 16:58:37 SelectionScreen: name=test.avi, level:1
04/13/09 16:58:37 VideoModuleHelper: GetVidInfo: file:/E:/Movies/test.avi
04/13/09 16:58:37 FFmpegJavaVideoModule: vidDur:3149760
04/13/09 16:58:37 FFmpegJavaVideoModule: VideoInfo:
uri: file:/E:/Movies/test.avi, Container: avi, Duration: 3149.76 seconds
Video: UNK 640x272 25.0 fps
  PixAspect: 1.0, Aspect: 2.3529413
Audio: ac3 48000HZ 2 channels
04/13/09 16:58:37 HostContext: key=mpos:file:/E:/Movies/test.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:37 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:37 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:37 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 PlayScreen: action=right
04/13/09 16:58:38 HostContext: key=mpos:file:/E:/Movies/test.avi value=0
04/13/09 16:58:38 HostContext: key=mpos:file:/E:/Movies/test.avi value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:38 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:38 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 ViewScreen: ReceivedEvent: 2668.SCREEN_ENTER(null,false)
04/13/09 16:58:38 ViewScreen: Desc: test.avi
04/13/09 16:58:38 PreviewWindow: pWidth: 1280
04/13/09 16:58:38 PreviewWindow: preview parent=BView[#2669,bounds=0,0,1280x720]
04/13/09 16:58:38 HostContext: key=mpos:file:/E:/Movies/test.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:38 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/13/09 16:58:38 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 HostContext: compKey=663000999999999-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/13/09 16:58:38 ViewScreen: goto position: 0, vidlen: 3149760
04/13/09 16:58:38 ViewScreen: Position not in buffer, starting new stream
04/13/09 16:58:38 ViewScreen: ReceivedEvent: key(release,right,16777989)
04/13/09 16:58:38 ViewScreen: Openening stream at position: 0(0 secs)
04/13/09 16:58:38 VideoModuleHelper: quality setting is above quality of video,streaming normally
04/13/09 16:58:38 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 25.0 -v 0 -sameq -ab 192k -ar 48000
04/13/09 16:58:38 FFmpegExeVideoModule: FFmpegCmd: E:\Streambaby\native\ffmpeg.exe -ss 0.0 -i E:\Movies\test.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 25.0 -v 0 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
04/13/09 16:58:39 NamedStream: Registering named stream: 6f0f68da-b7eb-454b-ac01-52a4faa5514c.stream
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(connecting)
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(connecting)
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(connecting)
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(connecting, {speed=0, start=0, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(connecting, {speed=0, start=0, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(connecting, {speed=0, start=0, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(error)
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(error)
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RSRC_STATUS(error)
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(error, {speed=0, start=0, error.code=6, error.text=0x2e006a, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(error, {speed=0, start=0, error.code=6, error.text=0x2e006a, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi
04/13/09 16:58:39 ViewScreen: ReceivedEvent: 2831.RESOURCE_INFO(error, {speed=0, start=0, error.code=6, error.text=0x2e006a, position=0, duration=0})
04/13/09 16:58:39 ViewScreen: error=ERROR: 0x2e006a
test.avi


----------



## rpmstl

I have been using Stream Baby - works great.
I have a MLB.com account.

Any way to stream the MLB media player through the TivoHD box wirelessly?

I could always run a second DVI out from my PC to my TV or receiver but distance/routing is a problem.

What about capturing the live video feed, saving it as a video and stream it in delay mode - possible? I'm sure I could figure out how to capture the video but I believe the file would have to be complete before the Stream Baby program would recognize it and play.


----------



## kearygriffin

t1c4l said:


> Hi there,
> 
> I was wondering if someone could shed a light on a problem I having with my TiVo. I keep getting error 0x2e006a when trying to stream from two different computers (both Vista 32-bit). I've enabled Verbose output (see below). I've looked at Java installation, ffmpeg.exe installation, folder permissions etc but I can't see where the problem is. What seems to happen is that streambaby starts the caching process with ffmpeg but then the TiVo closes the connection?? and ffmpeg still keeps running the in background caching the video.
> 
> If anyone can give any pointers it would be much appreciated
> 
> Cheers


Is this an Australian TiVo? I'm not sure what the status of streambaby on the ozzie TiVo's is. I believe that it works, but only when you purchase an additional package. (I'm not sure what the package is or the details of how this works, or even if it is available yet... Maybe someone else with some more experience with the Australian TiVo's can chime in)


----------



## wmcbrine

rpmstl said:


> I have been using Stream Baby - works great.
> I have a MLB.com account.


For live streaming, you really want to look at HME/VLC (see my sig). I can't speak to MLB.com specifically, though. I imagine their streams are pretty locked down.


----------



## rfryar

kearygriffin said:


> So given the TiVo has no problems, and I think I fixed the issues streambaby had with the timestamps, I believe this version of streambaby should solve the divide-by-zero error and work:
> http://streambaby.googlecode.com/files/streambaby-svn-r218.zip


Yep, this new version worked just fine with my Mp4 file.

Thanks for the quick turn around on my "weird" MP4 issues.

Rick


----------



## t1c4l

kearygriffin said:


> Is this an Australian TiVo? I'm not sure what the status of streambaby on the ozzie TiVo's is. I believe that it works, but only when you purchase an additional package. (I'm not sure what the package is or the details of how this works, or even if it is available yet... Maybe someone else with some more experience with the Australian TiVo's can chime in)


Yup, this is Australian TiVo. TiVo's in Australia by default don't have a visible MAK. You have to purchase a Home Network Package for $199 AUD to enable the MAK option. I was hoping streambaby would work since it requires no MAK, but I guess they must have few other features disabled (i.e. video streaming) until you purchase the Home Network Package. $199 is a bit of a rip-off I reckon


----------



## tbear334

I would like to second the request for Delete. As far as I'm concerned, that is the only thing missing that would make streambaby perfect. An 'Are you sure?' prompt would be OK, but send the file to the bitbucket, not to a Recycle or Deleted bin.

Thanks for all of your great work!


----------



## PaulS

tbear334 said:


> I would like to second the request for Delete. As far as I'm concerned, that is the only thing missing that would make streambaby perfect. An 'Are you sure?' prompt would be OK, but send the file to the bitbucket, not to a Recycle or Deleted bin.
> 
> Thanks for all of your great work!


+1


----------



## dencar

> Is this an Australian TiVo? I'm not sure what the status of streambaby on the ozzie TiVo's is. I believe that it works, but only when you purchase an additional package. (I'm not sure what the package is or the details of how this works, or even if it is available yet... Maybe someone else with some more experience with the Australian TiVo's can chime in)


I'm using Streambaby-0.25 with my Australian TiVo and it works a treat. I have the home network package and a MAK for $99 and even though I resent the price I really like the product.
Should I upgrade Streambaby with all going well? 
Thank you Keary for your outstanding application.
Dennis


----------



## t1c4l

tbear334 said:


> I would like to second the request for Delete. As far as I'm concerned, that is the only thing missing that would make streambaby perfect. An 'Are you sure?' prompt would be OK, but send the file to the bitbucket, not to a Recycle or Deleted bin.
> 
> Thanks for all of your great work!


+2


----------



## fyodor

t1c4l said:


> +2


+3, as well as the ability to run some sort of predesignated application on it (i.e. pass the file as an argument to a user-designated application for remuxing, etc).

F


----------



## westside_guy

If we're talking about "delete" as in "delete from the streambaby server", I think this is a terrible idea. There's too much potential for confusion, given that "delete" on a Tivo has always meant "delete from this Tivo". 

This is basic "User Interface Design 101" - a specific function should ALWAYS behave exactly the same in all areas of the interface.


----------



## PaulS

westside_guy said:


> If we're talking about "delete" as in "delete from the streambaby server", I think this is a terrible idea. There's too much potential for confusion, given that "delete" on a Tivo has always meant "delete from this Tivo".
> 
> This is basic "User Interface Design 101" - a specific function should ALWAYS behave exactly the same in all areas of the interface.


I believe the underlying meaning of the proposed streamBaby delete operation should read : "delete this file from streamBaby server's file system". I can't really see how this would be very ambiguous, or could cause confusion.


----------



## rfryar

I like the ability to call a custom script command (As defined in the streambaby.ini) and pass in the path and file name. This would allow some people to delete the files, or whatever other tasks you wanted to do with the file.

So +3 on the custom script functionality.

Rick


----------



## wmcbrine

westside_guy said:


> If we're talking about "delete" as in "delete from the streambaby server", I think this is a terrible idea.


+1


----------



## fyodor

westside_guy said:


> If we're talking about "delete" as in "delete from the streambaby server", I think this is a terrible idea. There's too much potential for confusion, given that "delete" on a Tivo has always meant "delete from this Tivo".
> 
> This is basic "User Interface Design 101" - a specific function should ALWAYS behave exactly the same in all areas of the interface.


This could be an optional feature with, with the default set to no. We're all adults here.

F


----------



## cburbs

Playback issue - 

I did a test conversion of one vob file from a movie - it played back fine. When I converted the whole movie it just sits at please wait. 
So i have a movie I ripped in DVD Fab and then did a conversion in Handbrake. 
It is the CQ setting with MP4. 
Any way to see what is happening with the whole movie?

The dvd fab plays back fine.


----------



## cburbs

I downloaded the newest one from a couple posts above and now it is working. :up::up:


----------



## conan76

rfryar said:


> I like the ability to call a custom script command (As defined in the streambaby.ini) and pass in the path and file name. This would allow some people to delete the files, or whatever other tasks you wanted to do with the file.
> 
> So +3 on the custom script functionality.
> 
> Rick


Agreed, +4 to the custom script


----------



## Erasmus

I'm running Streambaby-0.25 on my Australian Tivo series 3 and I want to say what a great program it is. I have a couple of minor issues so I hope you don't mind if I ask a couple of stupid questions.

Firstly, when I run Streambaby I am getting the following message:

_FFmpegJavaVideoModule: Unable to load FFmpeg native libraries_

I have added the correct ffmpeg.path and the individual paths to the library files to my streambaby.ini file but I still get the message. As far as I can tell everything is running as it should, so is this a problem?

Secondly, my girlfriend downloads a lot of files in Realmedia format (.rmvb) which Streambaby does not recognise. If I can get these stream to the Tivo for her she may forgive me for spending so much on the Tivo and I might even get some lovin  I noticed that ffmpeg verson .5 is supposed to support some forms of Real Media.


----------



## FixItPete

I just installed this on my PC... I can see it on the Tivo side, but there is nothing to view. How / where do I put the movies I want to stream?

Also, is there a way to stream from Hulu on my PC to Tivo?

Thanks,
Pete

P.S. I'd even settle for FAQ or something.


----------



## Yoav

FixItPete said:


> I just installed this on my PC... I can see it on the Tivo side, but there is nothing to view. How / where do I put the movies I want to stream?


You need to edit streambaby.ini to tell it where your movies are (dir.1, etc)



> Also, is there a way to stream from Hulu on my PC to Tivo?


No



> P.S. I'd even settle for FAQ or something.


Plenty of documentation at http://code.google.com/p/streambaby/w/list


----------



## Yoav

Erasmus said:


> Firstly, when I run Streambaby I am getting the following message:
> 
> _FFmpegJavaVideoModule: Unable to load FFmpeg native libraries_
> 
> I have added the correct ffmpeg.path and the individual paths to the library files to my streambaby.ini file but I still get the message. As far as I can tell everything is running as it should, so is this a problem?


 It's not a *huge* problem. It just means when generating preview thumbnails for the small window 'ff'/'rew', it will use the ffmpeg program instead of the libraries directly. Everything else will still work. Most likely one of the libs has a dependency on another lib, and your linker/loader doesn't have it in the library path (I'm guessing here).
You may get some mileage out of specifying


Code:


lib.native=<path to your libs directory>

 in streambaby.ini (pointing at the directory where the libavcodec and friends are living).



> Secondly, my girlfriend downloads a lot of files in Realmedia format (.rmvb) which Streambaby does not recognise. If I can get these stream to the Tivo for her she may forgive me for spending so much on the Tivo and I might even get some lovin  I noticed that ffmpeg verson .5 is supposed to support some forms of Real Media.


Dump her. Nobody should be using Real..

Alternatively, you can edit streambaby.ini and add the extension by specifying something like


Code:


 extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,rmvb

(I took the current default and added rmvb to the end... ) Note that this doesn't guarantee your ffmpeg will be able to read the file correctly.. You need to make sure you have an ffmpeg that can. All this does is tell streambaby to try using files with that extension as well.


----------



## Emillion

What would be the best way (quality wise) to deal with mp42 files in order to babystream them to Tivo? In the original form they manage to reset/restart my Tivo...
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
Overall bit rate : 24.2 Mbps
Video
Format : AVC
Format/Info : Advanced Video Codec
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 16s 649ms
Bit rate mode : Variable
Bit rate : 23.9 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16/9
Frame rate mode : Constant
Frame rate : 59.940 fps
Bits/(Pixel*Frame) : 0.192
Audio
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 16s 640ms
Bit rate mode : Variable
Bit rate : 128 Kbps
Maximum bit rate : 192 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits

Is there a mp42 to mp41 converter or some tool similar to the gotsend family for xbox and ps?

Thank you


----------



## moyekj

1080p/60 H.264 @24 Mbps - is that a Blu Ray rip? It's probably too much for Tivo decoder to handle. I don't know what the upper limit is for Tivo H.264 decoder but looks like you are hitting it. Is it an S3, HD, or HDXL unit you are streaming to? The S3 has proven to have a sub-standard H.264 & VC-1 decoder compared to HD/HDXL units which is why I ask.


----------



## rfryar

moyekj said:


> 1080p/60 H.264 @24 Mbps - is that a Blu Ray rip? It's probably too much for Tivo decoder to handle. I don't know what the upper limit is for Tivo H.264 decoder but looks like you are hitting it. Is it an S3, HD, or HDXL unit you are streaming to? The S3 has proven to have a sub-standard H.264 & VC-1 decoder compared to HD/HDXL units which is why I ask.


I have streamed blu-ray rips to the tivo with out problems (Once we got the 64 bit MP4 issues panned out). I used 8 Meg bit rates and could stream it fine. The only real issue is that you only get about 15 minutes of video before it has to recache due to the 1.1 Gig limit.

Occasionally I would get audio synch issues due to the break occuring in a strange spot. But to resolve this I just had to stop the video and then resume. (Once I had to jump a minute ahead of hte buffer to get the audio back in synch).

I have streamed AC3 as well as AAC-LC audio. I have the Tivo HD BTW.

Rick


----------



## Emillion

moyekj said:


> 1080p/60 H.264 @24 Mbps - is that a Blu Ray rip? It's probably too much for Tivo decoder to handle. I don't know what the upper limit is for Tivo H.264 decoder but looks like you are hitting it. Is it an S3, HD, or HDXL unit you are streaming to? The S3 has proven to have a sub-standard H.264 & VC-1 decoder compared to HD/HDXL units which is why I ask.


It is actually the native 1080p/60fps recording mode of the new Sanyo VPC-FH1 camcorder ($500). Transferred the files from the SDHC card and hoped I could stream them directly to my Tivo HD. Seems I have to downgrade them? In the streambaby wiki it says something about mp41 max.
Any ideas?


----------



## bkdtv

Emillion said:


> It is actually the native 1080p/60fps recording mode of the new Sanyo VPC-FH1 camcorder ($500). Transferred the files from the SDHC card and hoped I could stream them directly to my Tivo HD. Seems I have to downgrade them? In the streambaby wiki it says something about mp41 max.
> Any ideas?


I don't think the Broadcom decoder in the TivoHD / Series3 can handle more than 1080p30.

The Blu-ray format is also limited to a max of 1080p30 (99% of titles are 1080p24).


----------



## rfryar

I was wondering if we could add support for embedded subtitle files in MP4 files similar to the stand alone subtitle support?

Or should this work already and I am missing something?

Thanks,

Rick


----------



## conan76

I'm stumped... I've been using Stream Baby for a while and all's worked perfectly. Tried installing SQL Server 2008 on my PC today (it failed) and now stream baby doesn't work. It runs fine on my XP machine, but I can't see it on the TiVo. TiVo Desktop Plus is still working perfectly. Can anyone please give me some advice on how I can get Stream Baby back up and running??

Could it be a blocked port or something? How would I find out?

Ran stream baby as console and it all looks fine:
wrapper | --> Wrapper Started as Console
wrapper | Java Service Wrapper Community Edition 3.3.1
wrapper | Copyright (C) 1999-2008 Tanuki Software, Inc. All Ri
wrapper | http://wrapper.tanukisoftware.org
wrapper |
wrapper | Launching a JVM...
jvm 1 | WrapperManager: Initializing...
jvm 1 | Initializing...
jvm 1 | 04/19/09 19:52:37 Listener: added factory
jvm 1 | 04/19/09 19:52:37 Main: streambaby ready & listening.

Thanks for any help guys...

Cheers,
Andrew


----------



## Sicklybutsexy

try changing the port on your streambaby.ini file to something else and then restart streambaby.


----------



## Sicklybutsexy

I came up with a pretty cool .bat file that will mux an mkv file with dts audio to an mp4 file that is compatible with streambaby. Just put the mkv file in the same directory as the bat file and make sure the files needed are in the same directory as well (mkvmerge, mkvextract, mp4creator, and everything that comes with eac3to). This bat file will only work if the mkv file has dts audio. I'm working on another one that will work when there is ac3 audio and it is more than 448 kbps (which otherwise would not be tivo compatible). Just rename the txt file to .bat. If anyone uses it let me know how it works but from my early testing seems to work very well.


----------



## Sicklybutsexy

Here's the one that should be used for mkv with ac3. same applies.


----------



## bkdtv

Are MPG and MP4 videos supposed to consume such a significant amount of CPU when watching with Streambaby? I see 40+&#37; CPU utilization on my PC when streaming compatible file formats on my TivoHD.


----------



## Yoav

bkdtv said:


> Are MPG and MP4 videos supposed to consume such a significant amount of CPU when watching with Streambaby? I see 40+% CPU utilization on my PC when streaming compatible file formats on my TivoHD.


No it shouldn't
Are you *sure* that the format is compatible? (some mp4's have to be transcoded anyways).

Also, are the shared libs loaded or is it trying to generate a bunch of preview thumbnails (the generation of thumbnails could cause some cpu overheard).


----------



## bkdtv

Yoav said:


> No it shouldn't
> Are you *sure* that the format is compatible? (some mp4's have to be transcoded anyways).


These are Apple Quicktime trailers remuxed into MP4.



Yoav said:


> Also, are the shared libs loaded or is it trying to generate a bunch of preview thumbnails (the generation of thumbnails could cause some cpu overheard).


I always receive the message:


Code:


FFmpegJavaVideoModule: Unable to load FFmpeg native libraries

Is Streambaby supposed generate preview thumbnails even when I do not fast forward or rewind?


----------



## moyekj

bkdtv, follow instructions in debugging_problems wiki to enable verbose debugging which goes to streambaby.log. From there you can determine what is happening more clearly. It looks to me like it's transcoding.


----------



## conan76

Sicklybutsexy said:


> try changing the port on your streambaby.ini file to something else and then restart streambaby.


Thanks Sicklybutsexy, is there a certain range of ports I should be within? Or will a random choice be okay? I'll try it out when I get home tonight, thanks.


----------



## Sicklybutsexy

not sure, but I think I've used 7292, 7290 and 7294 in the past.


----------



## conan76

Sicklybutsexy said:


> not sure, but I think I've used 7292, 7290 and 7294 in the past.


Okay, I think I've found the issue... I have setup a Hamachi network on my computer, and over the weekend moved it to be the top of the list of connections to use. I've since moved it back down, but I can see that the Stream Baby is using my hamachi ip port, rather than my normal iport.

Hamachi is a VPN product, works well but clearly screwed by Stream Baby 
https://secure.logmein.com/products/hamachi/vpn.asp

Any idea how I can force it to use the right IP address?

----------------------------------------------------------
Update: Saw that you can set the IP in the ini file  Too easy! All working now.


----------



## KevinSartori

Sicklybutsexy said:


> I came up with a pretty cool .bat file that will mux an mkv file with dts audio to an mp4 file that is compatible with streambaby.


Awesome! Nice work! I've used this on a couple of movies so far. I had it not work with one movie, but this method has worked with a couple of others. So far so good! I had an MKV I wanted to convert with a 29.97 framerate and AC3 audio, so I copied and edited _MKVac3-Mp4.bat_ to change:



> Echo Using mp4creator for fps 23.976, 64 bits and optimize
> mp4creator -create=%TEMP%\tmpvidce.h264 -rate=23.976 -timescale=23976 -use64bits -optimize %outfile%


to:



> Echo Using mp4creator for fps 29.97, 64 bits and optimize
> mp4creator -create=%TEMP%\tmpvidce.h264 -rate=29.970 -timescale=29970 -use64bits -optimize %outfile%


And it seems to have worked just fine. The only change I would say would be nice is if the command window didn't just close when it was done. That way, you could see if there were errors or whatever. I know that the pyTivo "Start Service" and "Stop Service" .bat files do this. Taking a look at those files, would it work if I just pasted the following at the end of your .bat files?



> echo.
> pause
> exit /b


Again, great work on this! I've been wanting to play with pushing files on pyTivo, but it's such a chore to repackage MKV to MP4. With your method, it really couldn't be any simpler! You should put up a little tutorial or something over at the pyTivo forum!


----------



## Sicklybutsexy

KevinSartori said:


> Awesome! Nice work! I've used this on a couple of movies so far. I had it not work with one movie, but this method has worked with a couple of others. So far so good! I had an MKV I wanted to convert with a 29.97 framerate and AC3 audio, so I copied and edited _MKVac3-Mp4.bat_ to change:
> 
> to:
> 
> And it seems to have worked just fine. The only change I would say would be nice is if the command window didn't just close when it was done. That way, you could see if there were errors or whatever. I know that the pyTivo "Start Service" and "Stop Service" .bat files do this. Taking a look at those files, would it work if I just pasted the following at the end of your .bat files?
> 
> Again, great work on this! I've been wanting to play with pushing files on pyTivo, but it's such a chore to repackage MKV to MP4. With your method, it really couldn't be any simpler! You should put up a little tutorial or something over at the pyTivo forum!


thanks. yeah, that should work to pause it. I should have mentioned that if your video is not 23.976 fps that you should change that line. Also, if you know that your ac3 is already compatible, such as 348 kbs, than all you have to do is take out eac3to line and it will mux it without converting anything. I'm curious why the one file didn't work and what happened? I could spruce it up a bit. I've changed it since to make it move the %outfile% and erase the original. However, I can't figure out how best to move the file where I want. I think I had changed it to move %outfile% H:\ and that works but I can't seem to get it to move to any specific directory such as H:\My Movies. Any ideas?


----------



## spellow

can i use this to stream a live video feed from a wireless cam on my network?


----------



## bkdtv

moyekj said:


> bkdtv, follow instructions in debugging_problems wiki to enable verbose debugging which goes to streambaby.log. From there you can determine what is happening more clearly. It looks to me like it's transcoding.


Can anyone make sense of this?



Code:


04/19/09 13:50:51 StreamBabyConfig: WorkingDir: "C:\Program Files (x86)\streambaby218"
04/19/09 13:50:51 StreamBabyConfig: StreamBabyDir: C:\Program Files (x86)\streambaby218
04/19/09 13:50:51 StreamBabyConfig: CurDir: C:\Program Files (x86)\streambaby218\native
04/19/09 13:50:51 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
04/19/09 13:50:51 FFmpegJavaConfig$1: Error attempting toload ffmpeg libraries: Unable to load library 'avutil-49': The specified module could not be found.

04/19/09 13:50:51 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
04/19/09 13:50:51 FFmpegExeVideoModule: FFmpegPath: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe
04/19/09 13:50:51 FFmpegExeVideoModule: FFmpegExeModule: Loaded
04/19/09 13:50:51 StreamBabyMain: STARTING StreamBaby vsvn-r218...
04/19/09 13:50:51 Main: args= start=true
04/19/09 13:50:51 Main: args= [email protected]
04/19/09 13:50:51 Listener: [email protected] [email protected]
04/19/09 13:50:51 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
04/19/09 13:50:51 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/19/09 13:50:51 Listener: name=/streambaby/
04/19/09 13:50:51 Listener: 
04/19/09 13:50:51 Listener: added factory
04/19/09 13:50:51 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/19/09 13:50:51 Main: MDNS: http://192.168.1.5:7290/streambaby/
04/19/09 13:50:51 Main: streambaby ready & listening.
04/19/09 13:50:51 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
04/19/09 13:51:25 Listener: http=HttpRequest /streambaby/icon.png
04/19/09 13:51:25 Listener: path=/streambaby/icon.png uri=/streambaby/
04/19/09 13:51:25 Listener: 
04/19/09 13:51:25 Listener: 192.168.1.3 icon.png HTTP GET - to factory /streambaby/
04/19/09 13:51:25 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
04/19/09 13:51:30 Listener: http=HttpRequest /streambaby/
04/19/09 13:51:30 Listener: path=/streambaby/ uri=/streambaby/
04/19/09 13:51:30 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/19/09 13:51:30 Listener: 
04/19/09 13:51:30 Factory: HME receiver connected
04/19/09 13:51:30 Listener: app=StreamBabyStream[#1,uri=null] [email protected]5
04/19/09 13:51:30 StreamBabyStream: width: 1280
04/19/09 13:51:30 StreamBabyStream: height: 720
04/19/09 13:51:30 StreamBabyStream: aspect: 1/1
04/19/09 13:51:30 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:30 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:30 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:30 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:30 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:30 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
04/19/09 13:51:30 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
04/19/09 13:51:30 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
04/19/09 13:51:30 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
04/19/09 13:51:31 RootDirEntry$dirEntryHandler: dirEntry: file:/E:/Videos/
04/19/09 13:51:31 HostContext: key=pw value=
04/19/09 13:51:31 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:31 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:31 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:31 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:31 RootDirEntry$dirEntryHandler: dirEntry: file:/E:/Videos/
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
04/19/09 13:51:31 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
04/19/09 13:51:31 SelectionScreen: focusOn entry=null
04/19/09 13:51:32 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:51:32 SelectionScreen: focusOn entry=null
04/19/09 13:51:34 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:51:34 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
04/19/09 13:51:34 SelectionScreen: focusOn entry=null
04/19/09 13:51:40 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:51:40 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
04/19/09 13:51:40 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 20, size:49632)
04/19/09 13:51:40 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 28, size:108)
04/19/09 13:51:40 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 136, size:21)
04/19/09 13:51:40 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 157, size:18898)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 165, size:92)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 257, size:36)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 265, size:28)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 293, size:18762)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 301, size:32)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 333, size:59)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 392, size:18663)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 400, size:20)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 420, size:36)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 428, size:28)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 456, size:18541)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 464, size:165)
04/19/09 13:51:40 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 480, size:149)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 629, size:24)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 653, size:632)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1285, size:1708)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 2993, size:14736)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 17729, size:1268)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 18997, size:58)
04/19/09 13:51:40 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 19055, size:30470)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 19063, size:92)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 19155, size:30370)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 19163, size:32)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 19195, size:55)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 19250, size:30275)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 19258, size:16)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 19274, size:36)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 19282, size:28)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 19310, size:30215)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 19318, size:91)
04/19/09 13:51:40 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 19334, size:75)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 19409, size:24)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 19433, size:52)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 19485, size:28772)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 48257, size:1268)
04/19/09 13:51:40 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 49525, size:127)
04/19/09 13:51:40 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 49533, size:119)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 49545, size:33)
04/19/09 13:51:40 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 49578, size:74)
04/19/09 13:51:40 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 49586, size:66)
04/19/09 13:51:40 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 49594, size:58)
04/19/09 13:51:40 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 49652, size:112866265)
04/19/09 13:51:40 VideoModuleHelper: GetVidInfo: file:/E:/Videos/Movie&#37;20Trailers/TheTakingofPelham123_720p.mp4
04/19/09 13:51:40 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -i E:\Videos\Movie Trailers\TheTakingofPelham123_720p.mp4
04/19/09 13:51:41 FFmpegExeVideoModule: ChannelStr to parse: stereo, s16
04/19/09 13:51:41 FFmpegExeVideoModule: VideoInfo:
uri: file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4, Container: mp4, Duration: 153.34 seconds
Video: h264 1280x720 24.0 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: aac 48000HZ 0 channels
04/19/09 13:51:41 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:41 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:41 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
04/19/09 13:51:41 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 20, size:49632)
04/19/09 13:51:41 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 28, size:108)
04/19/09 13:51:41 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 136, size:21)
04/19/09 13:51:41 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 157, size:18898)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 165, size:92)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 257, size:36)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 265, size:28)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 293, size:18762)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 301, size:32)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 333, size:59)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 392, size:18663)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 400, size:20)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 420, size:36)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 428, size:28)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 456, size:18541)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 464, size:165)
04/19/09 13:51:41 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 480, size:149)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 629, size:24)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 653, size:632)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1285, size:1708)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 2993, size:14736)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 17729, size:1268)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 18997, size:58)
04/19/09 13:51:41 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 19055, size:30470)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 19063, size:92)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 19155, size:30370)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 19163, size:32)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 19195, size:55)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 19250, size:30275)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 19258, size:16)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 19274, size:36)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 19282, size:28)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 19310, size:30215)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 19318, size:91)
04/19/09 13:51:41 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 19334, size:75)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 19409, size:24)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 19433, size:52)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 19485, size:28772)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 48257, size:1268)
04/19/09 13:51:41 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 49525, size:127)
04/19/09 13:51:41 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 49533, size:119)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 49545, size:33)
04/19/09 13:51:41 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 49578, size:74)
04/19/09 13:51:41 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 49586, size:66)
04/19/09 13:51:41 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 49594, size:58)
04/19/09 13:51:41 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 49652, size:112866265)
04/19/09 13:51:41 MP4StreamFactory$2: DBG: moov size 49624
04/19/09 13:51:41 MP4StreamFactory$2: DBG: mdat size 112866257
04/19/09 13:51:41 MP4StreamFactory$2: DBG: sampleNum 1
04/19/09 13:51:41 MP4StreamFactory$2: DBG: new key frame 1
04/19/09 13:51:41 MP4StreamFactory$2: DBG: trackType Vid spec time 9223372036854775807 adj time 0 spec time sec 9223372474941440 adj time sec 0
04/19/09 13:51:41 MP4StreamFactory$2: DBG: trackType Snd spec time 9223372036854775807 adj time 9223372036854775807 spec time sec 9223372474941440 adj time sec 192153584101141
04/19/09 13:51:41 MP4StreamFactory$2: DBG: Movie time 153 sec, cut at 0.0sec
04/19/09 13:51:41 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/19/09 13:51:41 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:41 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:41 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:41 MP4StreamFactory$2: DBG: cutDuration 91975
04/19/09 13:51:41 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:41 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:41 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:41 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:41 MP4StreamFactory$2: DBG: cutDuration 92006
04/19/09 13:51:41 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:41 MP4StreamFactory$2: DBG: moov chunk 49660
04/19/09 13:51:41 MP4StreamFactory$2: DBG: cut moov chunk 49660
04/19/09 13:51:41 MP4StreamFactory$2: DBG: updateAmount 79
04/19/09 13:51:41 MP4StreamFactory$2: DBG: movie skip 0
04/19/09 13:51:41 MP4StreamFactory$2: DBG: Cut Movie time 153 sec 
04/19/09 13:51:41 PlayScreen: code=6 rawcode=16843782
04/19/09 13:51:41 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 value=0
04/19/09 13:51:41 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:41 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:41 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:41 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:41 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:42 ViewScreen: Desc: TheTakingofPelham123_720p.mp4
04/19/09 13:51:42 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -ss 0 -i E:\Videos\Movie Trailers\TheTakingofPelham123_720p.mp4 -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
04/19/09 13:51:42 PreviewWindow: pWidth: 1280
04/19/09 13:51:42 PreviewWindow: preview parent=BView[#2408,bounds=0,0,1280x720]
04/19/09 13:51:42 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:42 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:51:42 ViewScreen: goto position: 0, vidlen: 153340
04/19/09 13:51:42 ViewScreen: Position not in buffer, starting new stream
04/19/09 13:51:42 ViewScreen: Openening stream at position: 0(0 secs)
04/19/09 13:51:42 VideoModuleHelper: quality setting is above quality of video, streaming normally
04/19/09 13:51:42 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
04/19/09 13:51:42 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 20, size:49632)
04/19/09 13:51:42 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 28, size:108)
04/19/09 13:51:42 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 136, size:21)
04/19/09 13:51:42 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 157, size:18898)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 165, size:92)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 257, size:36)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 265, size:28)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 293, size:18762)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 301, size:32)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 333, size:59)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 392, size:18663)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 400, size:20)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 420, size:36)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 428, size:28)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 456, size:18541)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 464, size:165)
04/19/09 13:51:42 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 480, size:149)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 629, size:24)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 653, size:632)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1285, size:1708)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 2993, size:14736)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 17729, size:1268)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 18997, size:58)
04/19/09 13:51:42 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 19055, size:30470)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 19063, size:92)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 19155, size:30370)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 19163, size:32)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 19195, size:55)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 19250, size:30275)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 19258, size:16)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 19274, size:36)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 19282, size:28)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 19310, size:30215)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 19318, size:91)
04/19/09 13:51:42 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 19334, size:75)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 19409, size:24)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 19433, size:52)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 19485, size:28772)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 48257, size:1268)
04/19/09 13:51:42 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 49525, size:127)
04/19/09 13:51:42 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 49533, size:119)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 49545, size:33)
04/19/09 13:51:42 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 49578, size:74)
04/19/09 13:51:42 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 49586, size:66)
04/19/09 13:51:42 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 49594, size:58)
04/19/09 13:51:42 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 49652, size:112866265)
04/19/09 13:51:42 MP4StreamFactory$2: DBG: moov size 49624
04/19/09 13:51:42 MP4StreamFactory$2: DBG: mdat size 112866257
04/19/09 13:51:42 MP4StreamFactory$2: DBG: sampleNum 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new key frame 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: trackType Vid spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: trackType Snd spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: Movie time 153 sec, cut at 0.0sec
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: cutDuration 91975
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: cutDuration 92006
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: moov chunk 49660
04/19/09 13:51:42 MP4StreamFactory$2: DBG: cut moov chunk 49660
04/19/09 13:51:42 MP4StreamFactory$2: DBG: updateAmount 79
04/19/09 13:51:42 MP4StreamFactory$2: DBG: movie skip 0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: Cut Movie time 153 sec 
04/19/09 13:51:42 MP4StreamFactory$2: DBG: sampleNum 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new key frame 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: trackType Vid spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: trackType Snd spec time 0 adj time 0 spec time sec 0 adj time sec 0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: Movie time 153 sec, cut at 0.0sec
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: cutDuration 91975
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:42 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:51:42 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:51:42 MP4StreamFactory$2: DBG: cutDuration 92006
04/19/09 13:51:42 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:51:42 MP4StreamFactory$2: Start reinterleave...
04/19/09 13:51:42 MP4StreamFactory$2: Total size of all mdat chunks: 112866257
04/19/09 13:51:42 MP4StreamFactory$2: Finished reinterleave in: 0.018s
04/19/09 13:51:42 NamedStream: Registering named stream: b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:51:43 Listener: http=HttpRequest /streambaby/b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:51:43 Listener: path=/streambaby/b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream uri=/streambaby/
04/19/09 13:51:43 Listener: 
04/19/09 13:51:43 Listener: 192.168.1.3 b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream HTTP GET - to factory /streambaby/
04/19/09 13:51:43 StreamBabyStream$StreamBabyStreamFactory: uri=b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:51:43 NamedStream: Getting mapped stream for named stream: b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:51:43 NamedStream: Getting mapped stream for named stream: b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_top.png
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar.png
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_bottom.png
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_marker.png
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_tick.png
04/19/09 13:51:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_play.png
04/19/09 13:51:55 NewStatusBar: state=true
04/19/09 13:52:00 NewStatusBar: state=false
04/19/09 13:52:01 ZipGeneratingPreview$GenThread: Finished generating preview: C:\Program Files (x86)\streambaby218\cache\TheTakingofPelham123_720p.mp4-112916013-d41d8cd98f00b204e9800998ecf8427e.pvw
04/19/09 13:52:31 MP4StreamFactory$2: Total size of all mdat chunks: 112866257
04/19/09 13:52:31 NamedStream: DeRegistering named stream: b4a1e2ba-a98d-493d-bbdf-b013b3f09a32.stream
04/19/09 13:52:31 ViewScreen: COMPLETE: 
[snipped]
04/19/09 13:53:35 ViewScreen: COMPLETE: 
04/19/09 13:53:36 ViewScreen: code=3 rawcode=16843011
04/19/09 13:53:36 ViewScreen: COMPLETE: 
04/19/09 13:53:36 ViewScreen: COMPLETE: 
04/19/09 13:53:36 ViewScreen: COMPLETE: 
04/19/09 13:53:36 ViewScreen: code=4 rawcode=16843268
04/19/09 13:53:36 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 value=0
04/19/09 13:53:36 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/TheTakingofPelham123_720p.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:36 NewStatusBar: 
04/19/09 13:53:36 SocketProcessInputStream: Destroying running process...
04/19/09 13:53:54 PlayScreen: action=pop
04/19/09 13:53:54 SelectionScreen: focusOn entry=TheTakingofPelham123_720p.mp4
04/19/09 13:53:59 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 20, size:75753)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 28, size:108)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 136, size:21)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 157, size:43287)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 165, size:92)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 257, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 265, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 293, size:43051)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 301, size:32)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 333, size:59)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 392, size:42952)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 400, size:20)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 420, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 428, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 456, size:42830)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 464, size:166)
04/19/09 13:53:59 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 480, size:150)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 630, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 654, size:27112)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 27766, size:384)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 28150, size:52)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 28202, size:13812)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 42014, size:1272)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 43286, size:58)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 43344, size:8)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UnknownAtom(116,97,112,116): TaptAtom (offset: 43352, size:68)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UnknownAtom(108,111,97,100): LoadAtom (offset: 43420, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 43444, size:32202)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 43452, size:92)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 43544, size:32102)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 43552, size:32)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 43584, size:55)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 43639, size:32007)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 43647, size:16)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 43663, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 43671, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 43699, size:31947)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 43707, size:91)
04/19/09 13:53:59 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 43723, size:75)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 43798, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 43822, size:3568)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 47390, size:26988)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 74378, size:1268)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 75646, size:127)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 75654, size:119)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 75666, size:33)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 75699, size:74)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 75707, size:66)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 75715, size:58)
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 75773, size:189679255)
04/19/09 13:53:59 VideoModuleHelper: GetVidInfo: file:/E:/Videos/Movie%20Trailers/Ice%20Age-DawnoftheDinosaurs_1080p.mp4
04/19/09 13:53:59 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -i E:\Videos\Movie Trailers\Ice Age-DawnoftheDinosaurs_1080p.mp4
04/19/09 13:53:59 FFmpegExeVideoModule: ChannelStr to parse: stereo, s16
04/19/09 13:53:59 FFmpegExeVideoModule: VideoInfo:
uri: file:/E:/Videos/Movie%20Trailers/Ice%20Age-DawnoftheDinosaurs_1080p.mp4, Container: mp4, Duration: 143.82 seconds
Video: h264 1920x1036 23.98 fps
  PixAspect: 1.0, Aspect: 1.8532819
Audio: aac 48000HZ 0 channels
04/19/09 13:53:59 HostContext: key=mpos:file:/E:/Videos/Movie%20Trailers/Ice%20Age-DawnoftheDinosaurs_1080p.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:53:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:59 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 20, size:75753)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 28, size:108)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 136, size:21)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 157, size:43287)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 165, size:92)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 257, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 265, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 293, size:43051)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 301, size:32)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 333, size:59)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 392, size:42952)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 400, size:20)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 420, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 428, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 456, size:42830)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 464, size:166)
04/19/09 13:53:59 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 480, size:150)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 630, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 654, size:27112)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 27766, size:384)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 28150, size:52)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 28202, size:13812)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 42014, size:1272)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 43286, size:58)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 43344, size:8)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UnknownAtom(116,97,112,116): TaptAtom (offset: 43352, size:68)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.UnknownAtom(108,111,97,100): LoadAtom (offset: 43420, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 43444, size:32202)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 43452, size:92)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 43544, size:32102)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 43552, size:32)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 43584, size:55)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 43639, size:32007)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 43647, size:16)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 43663, size:36)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 43671, size:28)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 43699, size:31947)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 43707, size:91)
04/19/09 13:53:59 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 43723, size:75)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 43798, size:24)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 43822, size:3568)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 47390, size:26988)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 74378, size:1268)
04/19/09 13:53:59 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 75646, size:127)
04/19/09 13:53:59 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 75654, size:119)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 75666, size:33)
04/19/09 13:53:59 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 75699, size:74)
04/19/09 13:53:59 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 75707, size:66)
04/19/09 13:53:59 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 75715, size:58)
04/19/09 13:53:59 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 75773, size:189679255)
04/19/09 13:53:59 MP4StreamFactory$2: DBG: moov size 75745
04/19/09 13:53:59 MP4StreamFactory$2: DBG: mdat size 189679247
04/19/09 13:53:59 MP4StreamFactory$2: DBG: sampleNum 1
04/19/09 13:53:59 MP4StreamFactory$2: DBG: new key frame 1
04/19/09 13:53:59 MP4StreamFactory$2: DBG: trackType Vid spec time 9223372036854775807 adj time 0 spec time sec 9223372474941440 adj time sec 0
04/19/09 13:53:59 MP4StreamFactory$2: DBG: trackType Snd spec time 9223372036854775807 adj time 9223372036854775807 spec time sec 9223372474941440 adj time sec 192153584101141
04/19/09 13:53:59 MP4StreamFactory$2: DBG: Movie time 143 sec, cut at 0.0sec
04/19/09 13:53:59 MP4StreamFactory$2: 	DBG: ts 600 cut at 0.0
04/19/09 13:53:59 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:53:59 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:53:59 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:53:59 MP4StreamFactory$2: DBG: cutDuration 86286
04/19/09 13:53:59 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:53:59 MP4StreamFactory$2: DBG: media time 0
04/19/09 13:53:59 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
04/19/09 13:53:59 MP4StreamFactory$2: 	DBG: chunk 1
04/19/09 13:53:59 MP4StreamFactory$2: DBG: cutDuration 86297
04/19/09 13:53:59 MP4StreamFactory$2: DBG: new time 0.0
04/19/09 13:53:59 MP4StreamFactory$2: DBG: moov chunk 75781
04/19/09 13:53:59 MP4StreamFactory$2: DBG: cut moov chunk 75781
04/19/09 13:53:59 MP4StreamFactory$2: DBG: updateAmount 171
04/19/09 13:53:59 MP4StreamFactory$2: DBG: movie skip 0
04/19/09 13:53:59 MP4StreamFactory$2: DBG: Cut Movie time 143 sec 
04/19/09 13:54:02 PlayScreen: action=pop
04/19/09 13:54:02 SelectionScreen: focusOn entry=Ice Age-DawnoftheDinosaurs_1080p.mp4
04/19/09 13:54:02 SelectionScreen: action=pop
04/19/09 13:54:02 SelectionScreen: focusOn entry=Movie Trailers
04/19/09 13:54:08 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:54:08 SelectionScreen: focusOn entry=Ice Age-DawnoftheDinosaurs_1080p.mp4
04/19/09 13:54:11 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:54:11 SelectionScreen: focusOn entry=null
04/19/09 13:54:16 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:54:16 VideoModuleHelper: GetVidInfo: file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg
04/19/09 13:54:16 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -i E:\Videos\TV Shows\TiVo Recordings\24 -- Day 7; 1;00AM  - 2;00AM (Recorded 2009-04-13 WTTGDT).mpg
04/19/09 13:54:16 FFmpegExeVideoModule: ChannelStr to parse: 5.1, s16, 448 kb/s
04/19/09 13:54:16 FFmpegExeVideoModule: VideoInfo:
uri: file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg, Container: mpeg, Duration: 2728.35 seconds
Video: mp2v 1280x720 59.94 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: ac3 48000HZ 6 channels
04/19/09 13:54:16 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:16 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:16 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:16 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 PlayScreen: code=6 rawcode=16843782
04/19/09 13:54:17 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg value=0
04/19/09 13:54:17 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 ViewScreen: Desc: 24 -- Day 7; 1;00AM  - 2;00AM (Recorded 2009-04-13 WTTGDT).mpg
04/19/09 13:54:17 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -ss 0 -i E:\Videos\TV Shows\TiVo Recordings\24 -- Day 7; 1;00AM  - 2;00AM (Recorded 2009-04-13 WTTGDT).mpg -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
04/19/09 13:54:17 PreviewWindow: pWidth: 1280
04/19/09 13:54:17 PreviewWindow: preview parent=BView[#3056,bounds=0,0,1280x720]
04/19/09 13:54:17 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:54:17 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:54:17 ViewScreen: goto position: 0, vidlen: 2728350
04/19/09 13:54:17 ViewScreen: Position not in buffer, starting new stream
04/19/09 13:54:17 ViewScreen: Openening stream at position: 0(0 secs)
04/19/09 13:54:17 VideoModuleHelper: quality setting is above quality of video, streaming normally
04/19/09 13:54:17 MpegStreamingModule$1: MpegStartTS:Timestamp: 0.2, filePos: 2062
04/19/09 13:54:17 MpegStreamingModule$1: MpegEndTS:Timestamp: 2728.5254, filePos: 4529582094
04/19/09 13:54:17 NamedStream: Registering named stream: 44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:54:18 Listener: http=HttpRequest /streambaby/44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:54:18 Listener: path=/streambaby/44f6aaeb-a040-4041-8a53-77e31580769c.stream uri=/streambaby/
04/19/09 13:54:18 Listener: 
04/19/09 13:54:18 Listener: 192.168.1.3 44f6aaeb-a040-4041-8a53-77e31580769c.stream HTTP GET - to factory /streambaby/
04/19/09 13:54:18 StreamBabyStream$StreamBabyStreamFactory: uri=44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:54:18 NamedStream: Getting mapped stream for named stream: 44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:54:18 NamedStream: Getting mapped stream for named stream: 44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:54:30 NewStatusBar: state=true
04/19/09 13:54:35 NewStatusBar: state=false
04/19/09 13:54:39 ViewScreen: code=7 rawcode=16849927
04/19/09 13:54:39 ViewScreen: speed=1.0
04/19/09 13:54:39 NewStatusBar: state=true
04/19/09 13:54:44 NewStatusBar: state=false
04/19/09 13:54:46 ViewScreen: code=7 rawcode=16849927
04/19/09 13:54:46 ViewScreen: speed=1.0
04/19/09 13:54:46 NewStatusBar: state=true
04/19/09 13:54:51 NewStatusBar: state=false
04/19/09 13:55:18 ViewScreen: code=4 rawcode=16843268
04/19/09 13:55:18 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg value=47230
04/19/09 13:55:18 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg value=47230applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:18 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:18 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/24%20--%20Day%207;%201;00AM%20%20-%202;00AM%20(Recorded%202009-04-13%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:18 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:18 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:18 NewStatusBar: 
04/19/09 13:55:19 NamedStream: DeRegistering named stream: 44f6aaeb-a040-4041-8a53-77e31580769c.stream
04/19/09 13:55:19 Listener: 
04/19/09 13:55:19 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 44f6aaeb-a040-4041-8a53-77e31580769c.stream: Connection reset by peer: socket write error
04/19/09 13:55:19 Listener: ctx=HttpRequest /streambaby/44f6aaeb-a040-4041-8a53-77e31580769c.stream t=java.net.SocketException: Connection reset
04/19/09 13:55:19 PlayScreen: action=pop
04/19/09 13:55:20 SelectionScreen: focusOn entry=24 -- Day 7; 1;00AM  - 2;00AM (Recorded 2009-04-13 WTTGDT).mpg
04/19/09 13:55:25 SelectionScreen: code=6 rawcode=16843782
04/19/09 13:55:26 VideoModuleHelper: GetVidInfo: file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg
04/19/09 13:55:26 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -i E:\Videos\TV Shows\TiVo Recordings\Terminator; The Sarah Connor Chronicles -- Born to Run (Recorded 2009-04-10 WTTGDT).mpg
04/19/09 13:55:26 FFmpegExeVideoModule: ChannelStr to parse: 5.1, s16, 448 kb/s
04/19/09 13:55:26 FFmpegExeVideoModule: VideoInfo:
uri: file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg, Container: mpeg, Duration: 2732.51 seconds
Video: mp2v 1280x720 59.94 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: ac3 48000HZ 6 channels
04/19/09 13:55:26 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:26 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:26 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:26 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 PlayScreen: code=6 rawcode=16843782
04/19/09 13:55:27 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg value=0
04/19/09 13:55:27 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 ViewScreen: Desc: Terminator; The Sarah Connor Chronicles -- Born to Run (Recorded 2009-04-10 WTTGDT).mpg
04/19/09 13:55:27 ZipGeneratingPreview$GenThread: Saving partial preview: C:\Program Files (x86)\streambaby218\cache\24 -- Day 7; 1;00AM  - 2;00AM (Recorded 2009-04-13 WTTGDT).mpg-4529586176-d41d8cd98f00b204e9800998ecf8427e.pvw.partial
04/19/09 13:55:27 SocketProcessInputStream: Destroying running process...
04/19/09 13:55:27 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files (x86)\streambaby218\native\ffmpeg.exe -ss 0 -i E:\Videos\TV Shows\TiVo Recordings\Terminator; The Sarah Connor Chronicles -- Born to Run (Recorded 2009-04-10 WTTGDT).mpg -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
04/19/09 13:55:27 PreviewWindow: pWidth: 1280
04/19/09 13:55:27 PreviewWindow: preview parent=BView[#3389,bounds=0,0,1280x720]
04/19/09 13:55:27 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:27 ViewScreen: goto position: 0, vidlen: 2732510
04/19/09 13:55:27 ViewScreen: Position not in buffer, starting new stream
04/19/09 13:55:27 ViewScreen: Openening stream at position: 0(0 secs)
04/19/09 13:55:27 VideoModuleHelper: quality setting is above quality of video, streaming normally
04/19/09 13:55:27 MpegStreamingModule$1: MpegStartTS:Timestamp: 0.2, filePos: 2062
04/19/09 13:55:27 MpegStreamingModule$1: MpegEndTS:Timestamp: 2732.68, filePos: 4782989326
04/19/09 13:55:27 NamedStream: Registering named stream: 8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:28 Listener: http=HttpRequest /streambaby/8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:28 Listener: path=/streambaby/8fb62aa7-a477-48b4-b588-945df718db08.stream uri=/streambaby/
04/19/09 13:55:28 Listener: 
04/19/09 13:55:28 Listener: 192.168.1.3 8fb62aa7-a477-48b4-b588-945df718db08.stream HTTP GET - to factory /streambaby/
04/19/09 13:55:28 StreamBabyStream$StreamBabyStreamFactory: uri=8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:28 NamedStream: Getting mapped stream for named stream: 8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:28 NamedStream: Getting mapped stream for named stream: 8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:39 NewStatusBar: state=true
04/19/09 13:55:44 NewStatusBar: state=false
04/19/09 13:55:46 ViewScreen: code=4 rawcode=16843268
04/19/09 13:55:46 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg value=6206
04/19/09 13:55:46 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg value=6206applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 HostContext: key=mpos:file:/E:/Videos/TV%20Shows/TiVo%20Recordings/Terminator;%20The%20Sarah%20Connor%20Chronicles%20--%20Born%20to%20Run%20(Recorded%202009-04-10%20WTTGDT).mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
04/19/09 13:55:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 HostContext: compKey=[TSN snipped]-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
04/19/09 13:55:46 NewStatusBar: 
04/19/09 13:55:47 NamedStream: DeRegistering named stream: 8fb62aa7-a477-48b4-b588-945df718db08.stream
04/19/09 13:55:47 Listener: 
04/19/09 13:55:47 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 8fb62aa7-a477-48b4-b588-945df718db08.stream: Connection reset by peer: socket write error
04/19/09 13:55:47 Listener: ctx=HttpRequest /streambaby/8fb62aa7-a477-48b4-b588-945df718db08.stream t=java.net.SocketException: Connection reset
04/19/09 13:55:47 PlayScreen: action=pop
04/19/09 13:55:47 SelectionScreen: focusOn entry=Terminator; The Sarah Connor Chronicles -- Born to Run (Recorded 2009-04-10 WTTGDT).mpg
04/19/09 13:55:47 SelectionScreen: action=pop
04/19/09 13:55:47 SelectionScreen: focusOn entry=TiVo Recordings
04/19/09 13:55:48 Listener: 
04/19/09 13:55:48 Listener: connection to receiver closed
04/19/09 13:55:48 Listener: 
04/19/09 13:55:48 Factory: HME receiver disconnected

This represents the log for TheTakingofPelham123_720p.mp4, TheTakingofPelham123_1080p.mp4, 24...MPG, and Terminator...MPG.

During each video, Windows Task Manager reports 40-50% CPU utilization for FFMPEG. Computer is running a Core2 Duo @ 3.8GHz with 4GB RAM.


----------



## kearygriffin

bkdtv said:


> Can anyone make sense of this?
> ..


I think as Yoav pointed out, it looks like streambaby is generating the thumbnails for the preview (ff/rewind mode) using ffmpeg, which is causing the CPU usage. Streambaby will always attempt to generate thumbnail files for mpg files, and in your case because it cannot load the ffmpeg native libraries it will end up doing it for all files, mp4 included.

You can disable this by setting in streambaby.ini
preview.autogenerate=false

As to why streambaby can't load the native ffmpeg libraries, if I had to guess, it would be that the Java being used is a 64-bit java and the ffmpeg installed (which streambaby installs automatically) is a 32-bit version. I'm not familiar enough with 64-bit windows to know what happens in this case, but not being able to load the libraries seems like a definite possiblity.

The solution to the above would be to find a 64-bit version of ffmpeg and libraries and put it in the native folder instead of the current 32-bit version, or edit the streambaby.bat file to use a 32-bit version of java. (using a 32-bit version of java is probably the easier solution...)


----------



## Sicklybutsexy

Sicklybutsexy said:


> thanks. yeah, that should work to pause it. I should have mentioned that if your video is not 23.976 fps that you should change that line. Also, if you know that your ac3 is already compatible, such as 348 kbs, than all you have to do is take out eac3to line and it will mux it without converting anything. I'm curious why the one file didn't work and what happened? I could spruce it up a bit. I've changed it since to make it move the %outfile% and erase the original. However, I can't figure out how best to move the file where I want. I think I had changed it to move %outfile% H:\ and that works but I can't seem to get it to move to any specific directory such as H:\My Movies. Any ideas?


there was a problem with the ac3 bat file in that the way I worded it, it was muxing the unconverted ac3 instead of the converted ac3. I wonder if that was your problem? Here is the update version...


----------



## bkdtv

kearygriffin said:


> You can disable this by setting in streambaby.ini
> preview.autogenerate=false
> 
> As to why streambaby can't load the native ffmpeg libraries, if I had to guess, it would be that the Java being used is a 64-bit java and the ffmpeg installed (which streambaby installs automatically) is a 32-bit version. I'm not familiar enough with 64-bit windows to know what happens in this case, but not being able to load the libraries seems like a definite possiblity.
> 
> The solution to the above would be to find a 64-bit version of ffmpeg and libraries and put it in the native folder instead of the current 32-bit version, or edit the streambaby.bat file to use a 32-bit version of java. (using a 32-bit version of java is probably the easier solution...)


Thanks, I'll try that.

For a future version, you might consider providing some sort of status information on the INFO dialog, shown when pressing INFO during playback. Specifically, note on the INFO screen whether the the video is being streamed as is and if not, note the FFMPEG bitrate.


----------



## bkdtv

For a number of videos, I have to change the PAR (pixel aspect ratio) in Yamb to 1:1 before they will display in the correct aspect ratio. Otherwise, they display in 4:3.

Would it be possible for you to use the video's native resolution to determine default aspect ratio, when no PAR is specified in the file? Or is that even possible for you to do when streaming?


----------



## rfryar

Sicklybutsexy said:


> I think I had changed it to move %outfile% H:\ and that works but I can't seem to get it to move to any specific directory such as H:\My Movies. Any ideas?


If you are on windows then you will need to wrap the folder inside of double quotes since there is a space in your folder name.

"H:\My Moves"

Rick


----------



## Sicklybutsexy

rfryar said:


> If you are on windows then you will need to wrap the folder inside of double quotes since there is a space in your folder name.
> 
> "H:\My Moves"
> 
> Rick


excellent, thank you. still learning.


----------



## bkdtv

kearygriffin said:


> As to why streambaby can't load the native ffmpeg libraries, if I had to guess, it would be that the Java being used is a 64-bit java and the ffmpeg installed (which streambaby installs automatically) is a 32-bit version. I'm not familiar enough with 64-bit windows to know what happens in this case, but not being able to load the libraries seems like a definite possiblity.


That was the problem.

I edited streambaby.bat as shown below, and now Streambaby is able to load the native ffmpeg libraries under 64-bit Windows. I no longer see ffmpeg.exe as a separate process with 40-50% cpu utilization.



Code:


@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


----------



## bkdtv

Sicklybutsexy said:


> excellent, thank you. still learning.


Nice work on the bat files, but I did notice a problem: it often produces files with the incorrect aspect ratio when streamed.

You might consider adding mp4box to the list of programs, and then give the user the *option* of setting the pixel aspect ratio. That would fix the aspect ratio problem. The command is:

MP4Box.exe -par 1=X:Y FinalMP4video.mp4

I think you can just set 1:1 for PAR. At least, that works when you change the PAR using Yamb.


----------



## Sicklybutsexy

bkdtv said:


> Nice work on the bat files, but I did notice a problem: it often produces files with the incorrect aspect ratio when streamed.
> 
> You might consider adding mp4box to the list of programs, and then give the user the *option* of setting the pixel aspect ratio. That would fix the aspect ratio problem. The command is:
> 
> MP4Box.exe -par 1=X:Y FinalMP4video.mp4
> 
> I think you can just set 1:1 for PAR. At least, that works when you change the PAR using Yamb.


Does it work with ac3. I've heard that mp4box gives problems when the video is not aac, is that true?


----------



## bkdtv

Sicklybutsexy said:


> Does it work with ac3. I've heard that mp4box gives problems when the video is not aac, is that true?


The latest version of Yamb (2.1b) can mux MP4 files with AC3, so I'm assuming it does. If it does not, you can still use mp4box to set the pixel aspect ratio of the final MP4 file, after it is created with mp4creator.

*Update: *With a search, I came across this:



> MP4Box is not able to concatenate files w/ ac3 streams...you have to extract each streams first and then concatenate them.
> 
> Something like:
> 
> MP4Box -raw 1 file1.mp4
> MP4Box -raw 2 file1.mp4
> MP4Box -raw 1 file2.mp4
> MP4Box -raw 2 file2.mp4
> MP4Box -add file2_video.h264 -add file2_audio.ac3 -cat file1_video.h264 -cat file1_audio.ac3 output.mp4


It sounds like the issues with mp4box and Dolby Digital only come into play when combining multiple video streams into a single file. For your purposes, it sounds like mp4box would work fine to mux h264 and ac3 streams.


----------



## bkdtv

Has anyone tried the free MP4 Faststart utility which "adjusts the MP4's metadata to allow for Flash players to play them right away (Fast Start), while it progressively downloads."

It puts a UI on that functionality in mp4box.

*Edit: Just tried this utility and it added thumbnail support to all of my MP4 files.*


----------



## Sicklybutsexy

bkdtv said:


> Has anyone tried the free MP4 Faststart utility which "adjusts the MP4's metadata to allow for Flash players to play them right away (Fast Start), while it progressively downloads."
> 
> It puts a UI on that functionality in mp4box.


It might be just me, but I've tried applying the mp4box -par=1:1 to a file after being created with mp4creator and when I try to stream I don't get audio. That was a couple of months ago however. Is it because you have to do each individual stream like you said above?


----------



## bkdtv

Sicklybutsexy said:


> It might be just me, but I've tried applying the mp4box -par=1:1 to a file after being created with mp4creator and when I try to stream I don't get audio. That was a couple of months ago however. Is it because you have to do each individual stream like you said above?


I suppose it is possible that you have to do mp4box -par=1:1 on the .h264 stream prior to muxing....at least for mp4 files with AC3 audio.


----------



## kearygriffin

bkdtv said:


> For a number of videos, I have to change the PAR (pixel aspect ratio) in Yamb to 1:1 before they will display in the correct aspect ratio. Otherwise, they display in 4:3.
> 
> Would it be possible for you to use the video's native resolution to determine default aspect ratio, when no PAR is specified in the file? Or is that even possible for you to do when streaming?


This might be possible, but to be honest I am not exactly sure what causes the problem in the first place-- It's not obvious to me as to what info the MP4 is "missing" that causes the problem. (aspect ratio in MP4's is usually derived from info in the track header which is required in all MP4's)

Do you have a short MP4 sample that exhibits the aspect ratio problem on the TiVo? (And if it's not too hard the same sample that has been fixed with YAMB, as my windows partition is currently hosed)


----------



## Sicklybutsexy

bkdtv said:


> I suppose it is possible that you have to do mp4box -par=1:1 on the .h264 stream prior to muxing....at least for mp4 files with AC3 audio.


I think if you do that you get an mp4 file without audio which I guess you would then have to demux to get the h264 file again.


----------



## bkdtv

Sicklybutsexy said:


> I think if you do that you get an mp4 file without audio which I guess you would then have to demux to get the h264 file again.


You are already demuxing the h264 video stream from the MKV. Can't you apply PAR then, and then remux the h264 stream with the new audio stream?


----------



## Sicklybutsexy

bkdtv said:


> You are already demuxing the h264 video stream from the MKV. Can't you apply PAR then, and then remux the h264 stream with the new audio stream?


I've tried that and I think mp4box only outputs as an mp4...in other words only h264 in an mp4 container.


----------



## moyekj

FYI, Amazon HD downloads are finally publicly released and by the reports many titles coming with 5.1 Dolby audio. So I would guess Amazon must be using H.264 + AC3 audio unless something has changed recently for supported encodings for Tivo. Amazon VOD in general is too expensive for my taste and I prefer the Netflix streaming model, but it's nice to have an HD download option if there is something you really want right away. Plus there are a few free videos on Amazon...
May be interesting to sniff out an Amazon HD download just to see what encoding type it is for sure...


----------



## spocko

moyekj said:


> May be interesting to sniff out an Amazon HD download just to see what encoding type it is for sure...


Agreed. I also wonder if it was coincidence that software ver 11.0c and Amazon HD came out at the same time. Could there be something new in 11.0c in terms of the types of encodings that are supported?


----------



## moyekj

spocko said:


> Agreed. I also wonder if it was coincidence that software ver 11.0c and Amazon HD came out at the same time. Could there be something new in 11.0c in terms of the types of encodings that are supported?


 That would be easy to check if someone can generate or get hold of 11.0c "tivoapp" binary (the main tivo executable). I doubt anything has changed though.


----------



## Yoav

Error compiling the svn latest:


Code:


build-project:
     [echo] main: /Users/yoav/src/streambaby/main/build.xml
    [javac] Compiling 218 source files to /Users/yoav/src/streambaby/main/bin
    [javac] /Users/yoav/src/streambaby/main/src/com/unwiredappeal/tivo/streambaby/host/Main.java:162: cannot find symbol
    [javac] symbol  : class TiVoListener
    [javac] location: class com.unwiredappeal.tivo.streambaby.host.Main
    [javac] 	            	new TiVoListener(rv[i]);
    [javac]                             ^
    [javac] 1 error

Also, any instructions for enabling / configuring the push or do I grok through the code?


----------



## kearygriffin

Yoav said:


> Error compiling the svn latest:
> 
> 
> Code:
> 
> 
> build-project:
> [echo] main: /Users/yoav/src/streambaby/main/build.xml
> [javac] Compiling 218 source files to /Users/yoav/src/streambaby/main/bin
> [javac] /Users/yoav/src/streambaby/main/src/com/unwiredappeal/tivo/streambaby/host/Main.java:162: cannot find symbol
> [javac] symbol  : class TiVoListener
> [javac] location: class com.unwiredappeal.tivo.streambaby.host.Main
> [javac] 	            	new TiVoListener(rv[i]);
> [javac]                             ^
> [javac] 1 error
> 
> Also, any instructions for enabling / configuring the push or do I grok through the code?


Sorry, Fixed.

I either need to get git integrated with my eclipse environment or start remembering to add the files manually...


----------



## moyekj

Yoav said:


> Also, any instructions for enabling / configuring the push or do I grok through the code?


 Probably should let Keary comment on this further but... Add the following to streambaby.ini:
tivo.username=xxx
tivo.password=xxx

(those are your Tivo web site login and password). Once you have that streambaby will switch to it's own push code and server such that pyTivo is no longer needed/used.
NOTE: This is new and still being tested and there is 1 pending issue on Windows platform for transcoding pushes which still has not been resolved.


----------



## JamieP

moyekj said:


> That would be easy to check if someone can generate or get hold of 11.0c "tivoapp" binary (the main tivo executable). I doubt anything has changed though.


Doesn't look like anything was added since 11.0b:


Code:


supportedEncodingType
avcL41MP4
vc1ApL3
mpeg2ProgramStream

That's the list from the 11.0c tivoapp right arfter "supportedEncodingType".


----------



## kearygriffin

As alluded to in previous messages, and thanks to moyekj taking the initiative to port the required pyTivo python code to Java, the newest version of streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r228.zip

Allows you to push content to your TiVo (instead of streaming) without the requirement of having pyTivo running.

The current version will still use pyTivo for pushes by default, but this is likely to be removed in the future.

To activate the internal push, simply add the following entries in streambaby.ini:
[email protected]
tivo.password=yourpassword

Where [email protected] and yourpassword are the username and password you use to login to your account at tivo.com

Streambaby should auto-detect all of the TiVo's on the network and allow you to push videos to them. When selection a video from the selection screen, you should see the "Push" option in addition to the standard play/resume play options. If you have multiple TiVo's you can use the left/right arrows to toggle between them.

For a more advanced configuration (or if the auto-discovery does not work for some reason) you can individual designate some/all of the TiVo's:
tivo.1=NameOfThisTivo
tivo.1.username=username for tivo.com
tivo.1.password=password for tivo.com
tivo.1.tsn=serial number of the tivo without dashes/spaces
tivo.2.=xxxx
...
...etc...
...

(tivo.x.username= and tivo.x.password= are optional, and if not specfied tivo.username= and tivo.password will be used)

There are probably still a few loose ends and some bugs, but it seems to work pretty well. It should include the title and description from the pyTivo metadata in the push.


----------



## conan76

Excellent work kearygriffin! I'm looking forward to using this, but won't be testing as StreamBaby is too important to my family for taking any risks  Hope the next stable release comes out soon.

BTW, one other enhancement my wife keeps asking for is to be able to play a folder & for all videos in subfolders to be played. Is this possible?


----------



## rfryar

conan76 said:


> BTW, one other enhancement my wife keeps asking for is to be able to play a folder & for all videos in subfolders to be played. Is this possible?


This is already a feature. While the folder is highlighted just hit the play button, just like in the TiVo Now playing screens. It will then play each video in the folder.

Regards,

Rick


----------



## reneg

conan76 said:


> Excellent work kearygriffin! I'm looking forward to using this, but won't be testing as StreamBaby is too important to my family for taking any risks  Hope the next stable release comes out soon.
> 
> BTW, one other enhancement my wife keeps asking for is to be able to play a folder & for all videos in subfolders to be played. Is this possible?


I loaded the new version of Streambaby up and it worked great. It saw all three Tivos on my net and I was able to push videos.

Also, You can use FF to play all the videos in a folder. Not sure if it works or not with nested folders. Streambaby Remote Button Summary Link


----------



## Sicklybutsexy

reneg said:


> I loaded the new version of Streambaby up and it worked great. It saw all three Tivos on my net and I was able to push videos.
> 
> Also, You can use FF to play all the videos in a folder. Not sure if it works or not with nested folders. Streambaby Remote Button Summary Link


One enchancement that could use work, unless I missed it, is fixing the metadata...Is there a way to have it arrange by episode number or by date aired?


----------



## TheAmigo

Sorry if this is a FAQ, but I didn't see a FAQ page on the wiki (BTW, the GettingStarted link is broken)

When I run streambaby, it says:


Code:


Initializing...
04/25/09 20:03:24 Listener: added factory
04/25/09 20:03:24 Main: streambaby ready & listening.

and nothing else. When I click on Music, Photos & more, I see my pyTivo photo and music shares, but no Streambaby.

streambaby.ini:


Code:


dir.1=/space/Videos
dir.1.name=Videos on Snoopy

OS:Linux snoopy 2.6.28-ARCH #1 SMP PREEMPT Tue Mar 17 06:42:43 UTC 2009 i686 AMD Athlon(tm) XP 1800+ AuthenticAMD GNU/Linux​Java:java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)​TiVo: S3​
Netstat shows streambaby listening on 7290, but tcpdump sees no packets going between my PC's port 7290 and the TiVo.

Attached is my debug log file... any susggestions?


----------



## jasa

Hey guys and thanks for great app!!!!!!!!!

I was wondering when the new stable version will be released with all the great features you have added ???? 

I have been using it since version.19 and it has been great app Keary and moyekj and all the others who are doing it you guys rock !!!!!!!!!


----------



## gonzotek

TheAmigo said:


> Sorry if this is a FAQ, but I didn't see a FAQ page on the wiki (BTW, the GettingStarted link is broken)
> 
> When I run streambaby, it says:
> 
> 
> Code:
> 
> 
> Initializing...
> 04/25/09 20:03:24 Listener: added factory
> 04/25/09 20:03:24 Main: streambaby ready & listening.
> 
> and nothing else. When I click on Music, Photos & more, I see my pyTivo photo and music shares, but no Streambaby.
> 
> streambaby.ini:
> 
> 
> Code:
> 
> 
> dir.1=/space/Videos
> dir.1.name=Videos on Snoopy
> 
> OS:Linux snoopy 2.6.28-ARCH #1 SMP PREEMPT Tue Mar 17 06:42:43 UTC 2009 i686 AMD Athlon(tm) XP 1800+ AuthenticAMD GNU/Linux​Java:java version "1.6.0_13"
> Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
> Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)​TiVo: S3​
> Netstat shows streambaby listening on 7290, but tcpdump sees no packets going between my PC's port 7290 and the TiVo.
> 
> Attached is my debug log file... any susggestions?


Are you running IPv6? The TiVo HME SDK isn't compatible with it. I think you'll have to disable it, if that's the problem.


----------



## kearygriffin

gonzotek said:


> Are you running IPv6? The TiVo HME SDK isn't compatible with it. I think you'll have to disable it, if that's the problem.


I did some testing with IPV6 a couple of weeks go, when it was first mentioned and indeed it did not work. The newer SVN versions however *should* work (I only tested on my main dev environment which is Ubuntu 8.10-amd64).

The newer versions have -Djava.net.preferIPv4Stack=true in the bash/.bat script which seemed to take care of the problem.

You may also want to make sure streambaby is listening on the correct IP address by editing streambaby.ini and adding:
ip=xxx.xxx.xxx.xxx

Where xxx.xxx.xxx.xxx is the main IP address on your PC.

The only other thing I have seen that may cause the issue noted (Streambaby not showing up in movies, photos, & showcases) is multicast issues having to do with the particular router(s) setup on the network. When I first started developing streambaby I was running OpenWRT in bridge mode, and it was not passing the mDns multicast broadcast across the bridge. My final solution for this was to change my network setup ;-)


----------



## gonzotek

kearygriffin said:


> I did some testing with IPV6 a couple of weeks go, when it was first mentioned and indeed it did not work. The newer SVN versions however *should* work (I only tested on my main dev environment which is Ubuntu 8.10-amd64).
> 
> The newer versions have -Djava.net.preferIPv4Stack=true in the bash/.bat script which seemed to take care of the problem.
> 
> You may also want to make sure streambaby is listening on the correct IP address by editing streambaby.ini and adding:
> ip=xxx.xxx.xxx.xxx
> 
> Where xxx.xxx.xxx.xxx is the main IP address on your PC.
> 
> The only other thing I have seen that may cause the issue noted (Streambaby not showing up in movies, photos, & showcases) is multicast issues having to do with the particular router(s) setup on the network. When I first started developing streambaby I was running OpenWRT in bridge mode, and it was not passing the mDns multicast broadcast across the bridge. My final solution for this was to change my network setup ;-)


Ah, cool, I hadn't noticed the preferIPv4Stack change in streambaby. I have no use for IPv6, but it was annoying having to disable it on Ubuntu.

I ran into a similar problem with bridging on my network and the solution was the same for me. In the end, it was simpler to wire everything together, except the two notebooks, and serve everything from the att fios router and a simple 5-port switch.


----------



## westside_guy

I have noticed that streambaby doesn't seem to read titles from the pyTivo metadata files until you've actually selected down to a single file. Is there a way to change this so it behaves more like pyTivo, and reads the metadata for the entire current directory?

That might not be clear  so here's the example. I have a "Movies" folder, and inside that I've got a "James Bond" folder. When I first go into the Bond folder, I see the files listed by actual filename:

01_DrNo.mpg
02_FromRussiaWithLove.mpg
03_Goldfinger.mpg
04_Thunderball.mpg
...

If I select the second one, I'll of course see the title and all the rest of the pyTivo metadata for the movie. Then if I come back up a level, I see...

01_DrNo.mpg
James Bond - From Russia With Love
03_Goldfinger.mpg
04_Thunderball.mpg

Now with the Bond movies this is only a small annoyance - but with some TV series I ripped to names like "Season01Episode01.mpg", trusting the pyTivo metadata to provide an actual useful title on the Tivo. Works fine when I browse using pyTivo, but with streambaby it can be a significant problem. It's easy to remember that I last watched "Third Party Ripoff", but not so easy to remember that it was episode 18 of Season 3 of La Femme Nikita. 

Thanks!


----------



## AudioNutz

westside_guy said:


> I have noticed that streambaby doesn't seem to read titles from the pyTivo metadata files until you've actually selected down to a single file. Is there a way to change this so it behaves more like pyTivo, and reads the metadata for the entire current directory?


I have seen this issue as well. To solve this, I wrote an AppleScript (Folder Action Script) to actually edit the first line of the MetaData, and add " - " and the EpisodeTitle to the first line of the MetaData file. This script also removes "EpisodeTitle" line in the MetaData file.

This makes pyTivo and pyTivoX display the title and episode name when you're browsing through the list from your TiVo.

I assumed that there was something wrong with my setup, because I was the only one complaining about this, so I just wrote the script to solve it.


----------



## conan76

rfryar said:


> This is already a feature. While the folder is highlighted just hit the play button, just like in the TiVo Now playing screens. It will then play each video in the folder.


I was actually referring to videos in subfolders... ie, if you have a top level called 2009 and press play on this then it plays all videos in folders below this (eg "2009_03 - holiday in Bali"). Currently I get a 'Cannot Open Stream' error when I try to do this.


----------



## westside_guy

AudioNutz said:


> I have seen this issue as well. To solve this, I wrote an AppleScript (Folder Action Script) to actually edit the first line of the MetaData, and add " - " and the EpisodeTitle to the first line of the MetaData file. This script also removes "EpisodeTitle" line in the MetaData file.
> 
> This makes pyTivo and pyTivoX display the title and episode name when you're browsing through the list from your TiVo.
> 
> I assumed that there was something wrong with my setup, because I was the only one complaining about this, so I just wrote the script to solve it.


In my case I haven't seen any issues with pyTivo - so I'm thinking it's a metadata parsing (or caching?) issue specific to streambaby.


----------



## Sicklybutsexy

westside_guy said:


> In my case I haven't seen any issues with pyTivo - so I'm thinking it's a metadata parsing (or caching?) issue specific to streambaby.


Just put these two things in your streambaby.ini file:

meta.vidinfo.disable=false
use.title.cachedonly=false


----------



## Yoav

Sicklybutsexy said:


> Just put these two things in your streambaby.ini file:
> 
> meta.vidinfo.disable=false
> use.title.cachedonly=false


I'm curious: assuming that's the fix, why is that not the default?
It seems like it would be confusing to have titles change depending on whether they were previously clicked on or not...


----------



## westside_guy

Sicklybutsexy said:


> Just put these two things in your streambaby.ini file:
> 
> meta.vidinfo.disable=false
> use.title.cachedonly=false


Perfect - that does fix it. Thank you VERY much!



Yoav said:


> I'm curious: assuming that's the fix, why is that not the default?
> It seems like it would be confusing to have titles change depending on whether they were previously clicked on or not...


I'd like to second Yoav's question - the current default behavior seems broken and counter-intuitive, IMNSHO.

*Edit:* I'd like to rescind my use of the word "broken" - that was a bit strong. But I do think it's counter-intuitive.


----------



## moyekj

Personally I like to always see file names instead of titles since I organize everything with file names in a format that will list series in proper order. The following settings will make streambaby always show file names and sort them alphabetically.
use.title=false
sort.filename=true

Agreed that default behavior with no extra config settings can be confusing/undesireable.


----------



## Sicklybutsexy

westside_guy said:


> Perfect - that does fix it. Thank you VERY much!
> 
> I'd like to second Yoav's question - the current default behavior seems broken and counter-intuitive, IMNSHO.


I second. Also, wish there was a way to arrange the order of the metadata, but date aired, etc...not sure if it's possible. but at least something like wmcbrine has it in pytivo where the most recent file is at the top.


----------



## fyodor

Hi

I just installed the newest SVN of Streambaby and I've found that there seems to be an incredibly high lag at the top level directory structure. It loads up pretty quickly, and I can see the main directories. Then-it's frozen for at least a minute or two, no response or anything when I use the remote. After that, I can navigate and play back shows. It happens every time. I've posted my log below.

Initializing...
04/28/09 22:23:09 Listener: added factory
04/28/09 22:23:09 Main: streambaby ready & listening.
04/28/09 22:24:47 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streamb
aby/
log after close : initContext version=47
04/28/09 22:24:59 Factory: HME receiver connected
04/28/09 22:27:26 Listener: connection to receiver closed
04/28/09 22:27:26 Factory: HME receiver disconnected
04/28/09 22:35:10 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streamb
aby/
log after close : initContext version=47
04/28/09 22:35:13 Factory: HME receiver connected
04/28/09 22:40:30 Listener: 192.168.1.10 6f3bb9b6-44a8-498e-b0a7-09deb330eae9.st
ream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 2786 not found.
StreamBabyStream[#1,uri=null] warning: resource 2786 not found.
StreamBabyStream[#1,uri=null] warning: resource 2786 not found.
StreamBabyStream[#1,uri=null] warning: resource 2786 not found.
04/28/09 22:40:46 Listener: 192.168.1.10 I/O Exception handling HTTP GET 6f3bb9
b6-44a8-498e-b0a7-09deb330eae9.stream: Connection reset by peer: socket write er
ror
04/28/09 22:40:46 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException:
Pipe closed
04/28/09 22:40:57 Listener: 192.168.1.10 99567905-674b-4f81-b05a-83045f386174.st
ream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3319 not found.
StreamBabyStream[#1,uri=null] warning: resource 3319 not found.
04/28/09 22:41:20 Listener: 192.168.1.10 I/O Exception handling HTTP GET 995679
05-674b-4f81-b05a-83045f386174.stream: Connection reset by peer: socket write er
ror
04/28/09 22:41:20 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException:
Pipe closed
04/28/09 22:41:23 Listener: connection to receiver closed
04/28/09 22:41:23 Factory: HME receiver disconnected


----------



## jannlinder

fyodor said:


> Hi
> 
> I just installed the newest SVN of Streambaby and I've found that there seems to be an incredibly high lag at the top level directory structure. It loads up pretty quickly, and I can see the main directories. Then-it's frozen for at least a minute or two, no response or anything when I use the remote. After that, I can navigate and play back shows. It happens every time. I've posted my log below.


I second this! It is SOOO Awful. If something was changed, change it BACK PLEASE!

I am getting the same thing with the lag time. Needless to say: Spousal-test failed!

Mine is the Streambaby included in the b12 PyTivoX

Jann


----------



## kearygriffin

jannlinder said:


> I second this! It is SOOO Awful. If something was changed, change it BACK PLEASE!
> 
> I am getting the same thing with the lag time. Needless to say: Spousal-test failed!
> 
> Mine is the Streambaby included in the b12 PyTivoX
> 
> Jann


Does this happen with the new push code activated (by setting tivo.username=xxx and tivo.password=xxx in streambaby.ini)? If those settings are not set then the pyTivo push code is still in use (which I haven't tested in a while, and may have broke somehow).

And just to make sure (because there was some recent discussion about this) that
use.title.cachedonly=false

is not in your streambaby.ini (it defaults to true, so if it's not there it is good).

(And to answer a previous question, I realize that it is a little "broken" the way titles/filenames are handled in the selection screen, but it was a compromise. Setting use.title.cachedonly=true and/or meta.vidinfo.disable=false can cause serious slowdowns depending on how many files you have in your directory... There are people with many hundreds of videos in a single directory, and streambaby would appear to hang while it was parsing all of the metadata. I might be able to make this better by eliminating some metadata searches and only allow pyTivo metadata to be used for the selection screen)

There's certainly nothing I did intentionally that should slow things down in this version.


----------



## jannlinder

kearygriffin said:


> Does this happen with the new push code activated (by setting tivo.username=xxx and tivo.password=xxx in streambaby.ini)? If those settings are not set then the pyTivo push code is still in use (which I haven't tested in a while, and may have broke somehow).
> 
> And just to make sure (because there was some recent discussion about this) that
> use.title.cachedonly=false
> 
> is not in your streambaby.ini (it defaults to true, so if it's not there it is good).
> 
> (And to answer a previous question, I realize that it is a little "broken" the way titles/filenames are handled in the selection screen, but it was a compromise. Setting use.title.cachedonly=true and/or meta.vidinfo.disable=false can cause serious slowdowns depending on how many files you have in your directory... There are people with many hundreds of videos in a single directory, and streambaby would appear to hang while it was parsing all of the metadata. I might be able to make this better by eliminating some metadata searches and only allow pyTivo metadata to be used for the selection screen)
> 
> There's certainly nothing I did intentionally that should slow things down in this version.


Okay, color me confused. Here is my .ini file (written by pytivox and only edited to add: sort.filename=true WHICH I THINK SHOULD BE THE DEFAULT ANYWAY...but...here


Code:


# Created by pyTivoX, edits here WILL BE OVERWRITTEN

title=pyTivoX - Mini-DVD.local
preview.cache=/tmp/pyTivoCache/
autogenerate.delete=true
port=7290
ip=10.0.1.101
ffmpeg.path=/Applications/pyTivoX.app/Contents/Resources/ffmpeg.bin
ffmpegjava.avutil=/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
ffmpegjava.avcodec=/Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
ffmpegjava.avformat=/Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
ffmpegjava.swscale=/Applications/pyTivoX.app/Contents/Resources/libswscale.dylib

ffmpegexe.transcode=-acodec ac3 -vcodec mpeg2video -f vob -async 1 -r ${closest.mpeg.fps} -v 0 -threads 2
ffmpegexe.transcode.sameqargs=-sameq -ab 384k -ar ${asamplerate}

pytivo.port=9032
quality.highestabr=384
quality.highres=1080
quality.select=true
trimextensions=true
sort.filename=true

dir.1=/Volumes/Drobo/TV Shows
dir.1.name=TV Shows
dir.2=/Volumes/Drobo/Movies
dir.2.name=Movies
dir.3=/Volumes/Drobo/Pending Media
dir.3.name=Pending Media
dir.4=/Users/jlinder/Movies
dir.4.name=Movies Folder

I have given PyTivoX the tivo username and pw but i do not see it in the streambaby.ini

If i added the username and p/w in the pytivox prefs then why doesn't it put it in the .ini file of streambaby?

PLEASE just tell me where to edit this ini file to make it act like it used to for speed. I have BUNCHES of files in SUBdirectories of, for instance, dir.1 ...but the most files i have in any one directory is around 50.

J


----------



## kearygriffin

jannlinder said:


> Okay, color me confused. Here is my .ini file (written by pytivox and only edited to add: sort.filename=true WHICH I THINK SHOULD BE THE DEFAULT ANYWAY...but...here
> ...
> ...
> I have given PyTivoX the tivo username and pw but i do not see it in the streambaby.ini


Could you try to add the following lines into the streambaby.ini file and restart streambaby:
[email protected]
tivo.password=yourtivopassword
pytivo.ip=

(Note: That's pytivo.ip= with nothing after it...)

After looking at the code it's actually the pytivo.ip= line that I am kinda sorta hoping will fix the issue. It disables the pyTivo integration. (I though simply having tivo.username and tivo.password settings was enough, but it doesn't disable it completely)



> If i added the username and p/w in the pytivox prefs then why doesn't it put it in the .ini file of streambaby?


This is a very new feature, and I assume at some point Yoav will do exactly that.



> PLEASE just tell me where to edit this ini file to make it act like it used to for speed.
> 
> J


Wish I could ;-) All I can say is that eventually we'll figure out where the issue is...


----------



## fyodor

Thanks for the fast response. As an initial troubleshooting measure, I tried using a clean streambaby.ini file with just one, local directory set. Same result.

I am using Windows 7 with the newest version of Java.

Thanks again for your help
F



kearygriffin said:


> Does this happen with the new push code activated (by setting tivo.username=xxx and tivo.password=xxx in streambaby.ini)? If those settings are not set then the pyTivo push code is still in use (which I haven't tested in a while, and may have broke somehow).
> 
> And just to make sure (because there was some recent discussion about this) that
> use.title.cachedonly=false
> 
> is not in your streambaby.ini (it defaults to true, so if it's not there it is good).
> 
> (And to answer a previous question, I realize that it is a little "broken" the way titles/filenames are handled in the selection screen, but it was a compromise. Setting use.title.cachedonly=true and/or meta.vidinfo.disable=false can cause serious slowdowns depending on how many files you have in your directory... There are people with many hundreds of videos in a single directory, and streambaby would appear to hang while it was parsing all of the metadata. I might be able to make this better by eliminating some metadata searches and only allow pyTivo metadata to be used for the selection screen)
> 
> There's certainly nothing I did intentionally that should slow things down in this version.


----------



## kearygriffin

And sorry, should have mentioned it in my previous post, but turning on the debug log may generate more information in the log. (I didn't notice anything out of place in the logs from above, but there is usually much more information once debug is turned on).

http://code.google.com/p/streambaby/wiki/debugging_problems


----------



## jannlinder

kearygriffin said:


> Could you try to add the following lines into the streambaby.ini file and restart streambaby:
> [email protected]
> tivo.password=yourtivopassword
> pytivo.ip=
> 
> (Note: That's pytivo.ip= with nothing after it...)
> 
> After looking at the code it's actually the pytivo.ip= line that I am kinda sorta hoping will fix the issue. It disables the pyTivo integration. (I though simply having tivo.username and tivo.password settings was enough, but it doesn't disable it completely)


Okay, will shutting down and restarting PyTivoX (after i make the edits?) do enough to restart streambaby as I am using the MacOSX version and do not know how to do this separately.

As an aside...if i shutdown (fully) the PyTivoX software and ensure java (streambaby) is not running, then restart it, the FIRST TIME (and first time only) that I go into streambaby it is fast, all other times it is slow.

J


----------



## jannlinder

jannlinder said:


> Okay, will shutting down and restarting PyTivoX (after i make the edits?) do enough to restart streambaby as I am using the MacOSX version and do not know how to do this separately.
> 
> As an aside...if i shutdown (fully) the PyTivoX software and ensure java (streambaby) is not running, then restart it, the FIRST TIME (and first time only) that I go into streambaby it is fast, all other times it is slow.
> 
> J


WHAMMO! FIXED IT! YEAH!

on the negative side, I have *4* lines to remember to add each time I upgrade and change a setting in PyTivoX!


----------



## fyodor

I see that you were suggesting the Push features as a potential solution- I tried this out and it alleviated the problem a little bit. Now, it's more like a fifteen second delay instead of a minute long delay. Generally, navigation seems much more sluggish, with 10-15 second delays for new directories.

Going to sleep now, but will try to get debug logs tomorrow.



fyodor said:


> Thanks for the fast response. As an initial troubleshooting measure, I tried using a clean streambaby.ini file with just one, local directory set. Same result.
> 
> I am using Windows 7 with the newest version of Java.
> 
> Thanks again for your help
> F


----------



## Yoav

kearygriffin said:


> Could you try to add the following lines into the streambaby.ini file and restart streambaby:
> [email protected]
> tivo.password=yourtivopassword
> pytivo.ip=


pyTivoX (I'm assuming you're using the beta since you're talking about push) should correctly set tivo.username and tivo.password when you hit 'apply'. Is it not doing that for you?

It doesn't do the pytivo.ip though. Should I add that in?

And to your earlier question, yes. Shutting down and restarting pyTivoX will cause it to accept whatever changes you made in the config/ini files. Just don't hit apply or it will overwrite them.


----------



## jannlinder

Yoav said:


> pyTivoX (I'm assuming you're using the beta since you're talking about push) should correctly set tivo.username and tivo.password when you hit 'apply'. Is it not doing that for you?
> 
> It doesn't do the pytivo.ip though. Should I add that in?
> 
> And to your earlier question, yes. Shutting down and restarting pyTivoX will cause it to accept whatever changes you made in the config/ini files. Just don't hit apply or it will overwrite them.


Yoav,

Can we PLEASE PLEASE PLEASE add:



Code:


sort.filename=true

to the default .ini file? Many of us have gone to GREAT LENGTHS to make filenames such as:



Code:


Mythbusters - S01E02 - yadda yadda.mp4
Mythbusters - S01E03 - alpha beta.mp4

and since "alpha beta" and yadda yadda are the episode names, it sorts them wrong if sort.filename=true is NOT used.

PLEASE make that the default .ini file and I can stop worrying about the BS of having to keep adding that line.

Oh, and it DOES add tivo.username and tivo.password when you hit apply, which, because i did not wish to overwrite my sort.filename=true I did not do.

Sorry

Thx

J


----------



## tbear334

Would you please provide me a quick run down of what I need (windows) to set up a proper development environment for StreamBaby? I have a lot of programming experience, but haven't used java before and want to play with the code. Thanks for all the great work you've done on this project.


----------



## Yoav

jannlinder said:


> Yoav,
> 
> Can we PLEASE PLEASE PLEASE add:
> 
> 
> 
> Code:
> 
> 
> sort.filename=true
> 
> to the default .ini file?


So, I have to ask, why is that not the default? (I've avoided changing any of the default settings unless I had a complete understanding of what i'm doing). Is there a reason it defaults the other way? Assuming it's a more 'correct' setting wouldn't it make sense to change the default in streambaby?

Keary?


----------



## Yoav

tbear334 said:


> Would you please provide me a quick run down of what I need (windows) to set up a proper development environment for StreamBaby? I have a lot of programming experience, but haven't used java before and want to play with the code. Thanks for all the great work you've done on this project.


Here's the breadcrumbs, but you're gonna have to do most of the legwork yourself:

Eclipse is probably the IDE you want to use: http://www.eclipse.org/ . If you want to avoid dealing with an IDE, you can use javac as the compiler (get the JDK from http://java.sun.com/javase/downloads/index.jsp ) and ant as the builder.

You can get the source for streambaby via svn from http://code.google.com/p/streambaby/source/checkout

Anyways, that's as far as my ten foot pole goes, that should be enough to get going. You may want to look up some online tutorials on coding java for help in setting up your coding environment.


----------



## kearygriffin

Yoav said:


> So, I have to ask, why is that not the default? (I've avoided changing any of the default settings unless I had a complete understanding of what i'm doing). Is there a reason it defaults the other way? Assuming it's a more 'correct' setting wouldn't it make sense to change the default in streambaby?
> 
> Keary?


I don't think it is a more "correct" setting, but it's possible that it is a setting that more people prefer. I'm not all that organized, so my filenames are all over the place. Sorting by the filename wouldn't work for me. I prefer to have it sorted alphabetically by title. (So at a minimum for me if I have metadata for the files, all the 30 rocks are at least together, which would not be the case if it was sorted by filename)

The real answer is to add more sort options based on air date, episode number, etc. and have the sort options changeable. Having said this, I don't know when I will get to this.

On a related topic, and hopefully something that will help:


Yoav said:


> pyTivoX (I'm assuming you're using the beta since you're talking about push) should correctly set tivo.username and tivo.password when you hit 'apply'. Is it not doing that for you?
> 
> It doesn't do the pytivo.ip though. Should I add that in?


I just commited to SVN and uploaded a version that has pyTivo integration disabled by default (pytivo.ip=)
http://streambaby.googlecode.com/files/streambaby-svn-r232.zip

The other feature I just added for this version is support of a new INI file called streambaby.local.ini

This file is loaded *after* the regular streambaby.ini and can add/override configuration settings from streambaby.ini. It is searched for in the same directories and order of the regular streambaby.ini:
~/streambaby.local.ini
~/.streambaby/streambaby.local.ini
CURRENTDIR/streambaby.local.ini
STREAMBABYDIR/streambaby.local.ini
(~ = users home directory)

This should make it easier for users of pyTivoX to create custom configuration changes that are not overwritten when apply is pressed. 
(I can't really give any more specific instructions, hopefully Yoav can have some recommendations...)


----------



## Yoav

kearygriffin said:


> I don't think it is a more "correct" setting, but it's possible that it is a setting that more people prefer.


 Ok sounds like an actual use for the pyTivoX preferences. So adding it as a toggle.



> I just commited to SVN and uploaded a version that has pyTivo integration disabled by default (pytivo.ip=)


fetching svn latest and building



> The other feature I just added for this version is support of a new INI file called streambaby.local.ini


 Ok . With one problem: Does it also use the --config {configfile} option (which is how streambaby specifies where to get streambaby.ini -- it's in none of the 4 places you listed). I suppose I could tell people to put their local changes in their homedir, but that's not 'the mac way'...


----------



## kearygriffin

Yoav said:


> Ok . With one problem: Does it also use the --config {configfile} option (which is how streambaby specifies where to get streambaby.ini -- it's in none of the 4 places you listed). I suppose I could tell people to put their local changes in their homedir, but that's not 'the mac way'...


Nope  I can probably fix it so you can specify multiple --config files on the command line, but it won't be until next week. You may want to hold off doing anything as far as the local.ini until then.


----------



## Yoav

kearygriffin said:


> Nope  I can probably fix it so you can specify multiple --config files on the command line, but it won't be until next week. You may want to hold off doing anything as far as the local.ini until then.


Ok holding off on mentioning anything about it.

New version (up in about 30 minutes) will allow you to configure sort.filename from the preferences button though so should solve jannlinder's issues.

* edit: * Ok Jann, the new version is up, care to give it a spin? (remember to hit apply after you make changes)


----------



## jannlinder

Yoav said:


> Ok holding off on mentioning anything about it.
> 
> New version (up in about 30 minutes) will allow you to configure sort.filename from the preferences button though so should solve jannlinder's issues.
> 
> * edit: * Ok Jann, the new version is up, care to give it a spin? (remember to hit apply after you make changes)


Will check it out tonite.

THANKS for the great response!

J


----------



## jannlinder

on a slightly off-topic bent: What is TivoPush and why is it now in there. Google has so many results (from amazon pushing movies to your tivo all the way to pushing your tivo out the window cos you are mad about their service fees). 

The main thing i am wondering is this: It sounds like an automatic command to your tivo to pull the file from a source. Otherwise, why would it need the username and pw of your tivo online account?

is there docs on it and how it works (and specifically from Yoav and Keary: What does it do when i select "PUSH TO FAMILY ROOM TIVO") from my interface?

TIA

J


----------



## Yoav

jannlinder said:


> on a slightly off-topic bent: What is TivoPush and why is it now in there.


So, not aware of any documentation, but the concept is pretty simple:

Normally, you turn on your tivo, it connects to your computer and asks what shows the computer has. You select one, and it 'pulls' the show.

An alternative is to turn on your computer, and tell the computer to 'push' the show to a tivo in the house. In order to do this, you actually connect to tivo's site and they have an API for doing this (which is secured via your tivo.com username/password). Originally, this was done on pyTivo (run pyTivoX and connect to http://localhost:9032/ -- this web interface is pytivos interface for doing a bunch of stuff). On the backend, I believe the tivo servers notify your tivo to 'pull' from your computer.

However, the streambaby folk realized that they could provide the 'push this file' option in streambaby for situation when streaming isn't keeping up with the bitrate of the movie, so they also added push support.

Anyways, just try it out. It's pretty simple to use. Just realize that push isn't immediate.


----------



## jannlinder

Yoav said:


> However, the streambaby folk realized that they could provide the 'push this file' option in streambaby for situation when streaming isn't keeping up with the bitrate of the movie, so they also added push support.
> 
> Anyways, just try it out. It's pretty simple to use. Just realize that push isn't immediate.


Thanks for the background...

If I have mp4 tivo-compliant files that streambaby would not normally have to transcode and I choose PUSH does it then get transcoded to mpeg2 by streambaby and loaded on the NOW PLAYING section of my tivo OR is it actually still sent in mp4 format (not likely) (using TIVOHD) and plays back w/o transcoding?

The other thing is this: How long (roughly) does push take to start the push?

Do you know?


----------



## Yoav

jannlinder said:


> Thanks for the background...
> 
> If I have mp4 tivo-compliant files that streambaby would not normally have to transcode and I choose PUSH does it then get transcoded to mpeg2 by streambaby and loaded on the NOW PLAYING section of my tivo OR is it actually still sent in mp4 format (not likely) (using TIVOHD) and plays back w/o transcoding?


 push *seems* to support the same set of mp4's. So I believe streambaby will push legal mp4's without transcoding. (This is one of the other advantages of push). HOWEVER, pushed files are immediately marked 'copy protected', which is kind of annoying.



> The other thing is this: How long (roughly) does push take to start the push?
> 
> Do you know?


it's random, but generally seems to be under 5 minutes for me.


----------



## rfryar

I can not seem to get subtitles to function. I have a video:

xx.mp4
xx.srt

I have tried

yy.mp4
yy.mp4.srt

That has not worked at all. In all cases Streambaby does not use subtitles. Is the functionality still working?

Regards,

Rick


----------



## Sicklybutsexy

rfryar said:


> I can not seem to get subtitles to function. I have a video:
> 
> xx.mp4
> xx.srt
> 
> I have tried
> 
> yy.mp4
> yy.mp4.srt
> 
> That has not worked at all. In all cases Streambaby does not use subtitles. Is the functionality still working?
> 
> Regards,
> 
> Rick


Are you hitting the aspect button? The other thing is sometimes opening the srt and saving it under notepad in another format such as ascii makes it work.


----------



## moyekj

rfryar said:


> I can not seem to get subtitles to function. I have a video:
> 
> xx.mp4
> xx.srt
> 
> I have tried
> 
> yy.mp4
> yy.mp4.srt
> 
> That has not worked at all. In all cases Streambaby does not use subtitles. Is the functionality still working?
> 
> Regards,
> 
> Rick


xx.srt is what is looked for. Captions will be on by default if a srt file of proper format is detected. You should turn on debug (see the debugging_problems wiki) to diagnose the problem.

It's still working fine for me in svn-r228. If you look at the srt files are they in this kind of expected format:


Code:


14
00:00:38,504 --> 00:00:40,238
your wife's body.
There's no sign of forced entry.

15
00:00:40,239 --> 00:00:41,255
There's no sign of forced entry.
>> PURCELL: Her ring.


----------



## kearygriffin

Yoav said:


> push *seems* to support the same set of mp4's. So I believe streambaby will push legal mp4's without transcoding. (This is one of the other advantages of push). HOWEVER, pushed files are immediately marked 'copy protected', which is kind of annoying.


This should be true-- The same logic in determining whether or not to transcode is used for streaming and for the push.

(The only real difference I can think of at this point is you can't push .TiVo files at all, but you can stream them. The push option will not show up at all for .Tivo files)


----------



## jannlinder

Yoav said:


> HOWEVER, pushed files are immediately marked 'copy protected', which is kind of annoying.


This is awful.. If it is API-based you think they would let the actual content provider (the one initiating the PUSH) flag the video to be protected or not!


----------



## rfryar

Sicklybutsexy said:


> Are you hitting the aspect button? The other thing is sometimes opening the srt and saving it under notepad in another format such as ascii makes it work.


Aspect does nothing except pop up a small icon that shows no CC. Should this show up in any logs? To me it appears not to be seeing the SRT file.. Does it even look if there is also a metadata .txt file?

Rick


----------



## Sicklybutsexy

rfryar said:


> Aspect does nothing except pop up a small icon that shows no CC. Should this show up in any logs? To me it appears not to be seeing the SRT file.. Does it even look if there is also a metadata .txt file?
> 
> Rick


did you save it under a different format in notepad? unicode vs ascII?


----------



## Yoav

jannlinder said:


> This is awful.. If it is API-based you think they would let the actual content provider (the one initiating the PUSH) flag the video to be protected or not!


You are welcome to complain to tivo .

Actually there *is* some logic behind this I think. Things that are copy-protected can't be downloaded again, or transferred to other tivos. If they didn't copy-protect it they would need to somehow re-encode the mp4 to an mpeg-2 and MAK for your downloads, and similarly may have to re-encode to mpeg-2 to transfer to other tivos... which may be something they didn't want to support (or havent had the time to code up).

I dunno. I guess it hasn't bothered me *that* much since I already have the file on my computer...


----------



## gonzotek

Yoav said:


> You are welcome to complain to tivo .
> 
> Actually there *is* some logic behind this I think. Things that are copy-protected can't be downloaded again, or transferred to other tivos. If they didn't copy-protect it they would need to somehow re-encode the mp4 to an mpeg-2 and MAK for your downloads, and similarly may have to re-encode to mpeg-2 to transfer to other tivos... which may be something they didn't want to support (or havent had the time to code up).
> 
> I dunno. I guess it hasn't bothered me *that* much since I already have the file on my computer...


There is a mechanism that allows a content producer to flag a TiVoCast-type download as not copy protected. Crankygeeks used it for at least an episode or two:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=6668092#post6668092


TiVoStephen said:


> Hi folks,
> 
> Ziff Davis requested that the CrankyGeeks and DL.TV episodes not be copy protected, so that's why you see them free to transfer. If you're seeing some episodes that are copy protected, we'll look into that.
> 
> For our other partners, yes, in general they're restricted to the DVR that you download them to, mostly so the partners can get better tracking of viewership, but also sometimes because of secondary rights issues (restrictions in our contract with the partner that limit us in terms of how the content can be used).
> 
> Best regards,
> Stephen


 Of course, CG is no longer on TiVo, and I don't think anyone from the 3rd party dev community has found the magic voodoo to enable a unprotected push.


----------



## westside_guy

Yoav said:


> I dunno. I guess it hasn't bothered me *that* much since I already have the file on my computer...


Looking at it pragmatically, I agree - since the original file is already on your computer, and your computer is already set to serve the file up to all of the Tivos on your home network, this artificial (and meaningless) restriction doesn't bother me.

I'd rather have this feature come with a restriction like this than not have the feature at all - assuming those are the only two options.  Right now this is my favorite "Tivo" feature...


----------



## bkdtv

High-definition video demo of pyTiVo and Streambaby in action:

*Youtube:* Viewing Computer videos on TiVo (HD, 9min)


----------



## spocko

fyodor said:


> Is there any way to spy on what's happening when it triggers Netflix streaming from the NPL?


I'm a little late on this subject, but this is a good question. It sure would be nice to not have to drill down to the bottom of MPS to access streambaby. I think the Tivo box has to connect to the Tivo servers in order to deploy the shortcut on NPL, so in theory it may be possible to intercept that traffic and see what is going on, assuming the traffic is not encrypted.


----------



## rfryar

Sicklybutsexy said:


> did you save it under a different format in notepad? unicode vs ascII?


For this video I tried multiple different encodings. This was the only movie I had a SRT for at the time.

For giggles I downloaded SRTs for a few other movies I have. They all worked. They all worked in ASCII, and in UTF-8. I did not try Unicode, and the first CC when saved in UTF-8 is a bit messed up, but otherwise works fine.

So I am scratching my head why it did not work for my SRT. I will try ripping another blu-ray and ripping the subs, OCRing it and converting to SRT. Perhaps my file was messed up and I just did not notice.

Thanks for the tips.

Rick


----------



## Yoav

rfryar said:


> For this video I tried multiple different encodings. This was the only movie I had a SRT for at the time.
> 
> Rick


Are you sure it was SRT and not SSA/ASS ? They look similar and some tools generate those instead (since it's newer).


----------



## Kershek

I just installed Streambaby .25 on my Windows XP box. It runs from the command line with no errors, but I cannot see it at all from my TiVo in the Music, Photos, and Showcases menu. These are the only two lines in my ini file:

dir.1=d:\Movies
dir.1.name=Movies

I also have TiVo Desktop running, but no ports are overlapping. I tried turning off TiVo Desktopand restarting streambaby, but that didn't help. I can browse to my tivo's IP and I see the Congratulations! message. I can see TiVo Desktop just fine from my TiVo, so I know that PC-to-TiVo communication is OK. I do a netstat -a -n and I see port 7290 listening. 

Any ideas?


----------



## moyekj

Kershek said:


> I just installed Streambaby .25 on my Windows XP box. It runs from the command line with no errors, but I cannot see it at all from my TiVo in the Music, Photos, and Showcases menu. These are the only two lines in my ini file:
> 
> dir.1=d:\Movies
> dir.1.name=Movies
> 
> I also have TiVo Desktop running, but no ports are overlapping. I tried turning off TiVo Desktopand restarting streambaby, but that didn't help. I can browse to my tivo's IP and I see the Congratulations! message. I can see TiVo Desktop just fine from my TiVo, so I know that PC-to-TiVo communication is OK. I do a netstat -a -n and I see port 7290 listening.
> 
> Any ideas?


 It could be binding to the wrong IP address. Add the ip manually to the streambaby.ini file to see if that helps:
ip=xxx.xxx.xxx.xxx


----------



## Kershek

moyekj said:


> It could be binding to the wrong IP address. Add the ip manually to the streambaby.ini file to see if that helps:
> ip=xxx.xxx.xxx.xxx


Is that the IP address of the XP machine or the TiVo?


----------



## Kershek

I'm assuming you meant binding to the local IP address on the XP box, so I added my local IP address:

ip=192.168.1.10

After restarting, I'm still not able to see it on the TiVo


----------



## moyekj

Kershek said:


> Is that the IP address of the XP machine or the TiVo?


 IP of the XP machine running streambaby. Read debugging_problems wiki to generate debug log to see if that reveals anything.


----------



## Kershek

Thanks for the help!

Debug log looks rather clean, but then again, I don't know what I'm looking for 

I started streambaby, went to the TiVo and selected the Music, Photos, and Showcases menu, and then came back to the PC and broke out of the program.


Code:


04/30/09 22:16:08 StreamBabyConfig: WorkingDir: "C:\streambaby-0.25"
04/30/09 22:16:08 StreamBabyConfig: StreamBabyDir: C:\streambaby-0.25
04/30/09 22:16:08 StreamBabyConfig: CurDir: C:\streambaby-0.25\native
04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avutil-49.dll
04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avcodec-52.dll
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avformat-52.dll
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
04/30/09 22:16:08 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\swscale-0.dll
04/30/09 22:16:08 FFmpegJavaConfig$1: Marking libswscale as available.
04/30/09 22:16:09 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
04/30/09 22:16:09 FFmpegExeVideoModule: FFmpegPath: C:\streambaby-0.25\native\ffmpeg.exe
04/30/09 22:16:09 FFmpegExeVideoModule: FFmpegExeModule: Loaded
04/30/09 22:16:09 StreamBabyMain: STARTING StreamBaby v0.25...
04/30/09 22:16:09 Main: args= start=true
04/30/09 22:16:09 Main: args= [email protected]
04/30/09 22:16:09 Listener: [email protected] [email protected]
04/30/09 22:16:09 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
04/30/09 22:16:09 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/30/09 22:16:09 Listener: name=/streambaby/
04/30/09 22:16:09 Listener: 
04/30/09 22:16:09 Listener: added factory
04/30/09 22:16:09 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/30/09 22:16:09 Main: MDNS: http://192.168.1.10:7290/streambaby/
04/30/09 22:16:09 Main: streambaby ready & listening.
04/30/09 22:16:09 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
04/30/09 22:17:09 ShutdownHook: Cleaning up...


----------



## txporter

Ok, finally decided to start playing with StreamBaby (previously I had been pushing everything up via pytivo. At any rate, I have a couple of questions. I don't get the option to push with pytivo. Is this because I actually have it running at the same time already? (I have added tivo.username/password to .ini)

Second question, what is the normal amount of time that I should expect it to take to start the stream? For a 42min episode (~670mb file) it takes 1.5-2 mins before the video starts. These are all video encoded by Handbrake with the profile that moyekj has in kmttg for SD video. I tried streaming one episode that was double length and it timed out (went to live tv). I feel like I have something set up wrong.

Here is my streambaby.ini:


Code:


dir.1=L:\MP4
dir.1.name=MP4 Videos
dir.2="I:\Tivo Downloads"
dir.2.name=Tivo Edits
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290
[email protected]
tivo.password=xxx
pytivo.ip=
lib.native="C:\Program Files (x86)\streambaby-0.25\native"
sort.filename=true
meta.vidinfo.disable=false
use.title.cachedonly=false

And here is the log file for the latest stream:


Code:


05/02/09 15:50:48 StreamBabyConfig: WorkingDir: "C:\Program Files (x86)\streambaby-0.25"
05/02/09 15:50:48 StreamBabyConfig: StreamBabyDir: C:\Program Files (x86)\streambaby-0.25
05/02/09 15:50:48 StreamBabyConfig: CurDir: C:\Program Files (x86)\streambaby-0.25\native
05/02/09 15:50:48 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded: C:\Program Files (x86)\streambaby-0.25\native\avutil-49.dll
05/02/09 15:50:48 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded: C:\Program Files (x86)\streambaby-0.25\native\avcodec-52.dll
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
05/02/09 15:50:48 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded: C:\Program Files (x86)\streambaby-0.25\native\avformat-52.dll
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
05/02/09 15:50:48 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
05/02/09 15:50:48 FFmpegJavaConfig$1: Loaded: C:\Program Files (x86)\streambaby-0.25\native\swscale-0.dll
05/02/09 15:50:48 FFmpegJavaConfig$1: Marking libswscale as available.
05/02/09 15:50:48 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
05/02/09 15:50:48 FFmpegExeVideoModule: FFmpegPath: C:\Program Files (x86)\streambaby-0.25\"C:\Program Files (x86)\streambaby-0.25\native"\ffmpeg.exe
05/02/09 15:50:48 FFmpegExeVideoModule: FFmpegExeModule: Loaded
05/02/09 15:50:48 StreamBabyMain: STARTING StreamBaby v0.25...
05/02/09 15:50:48 Main: args= start=true
05/02/09 15:50:48 Main: args= [email protected]
05/02/09 15:50:48 Listener: [email protected] [email protected]
05/02/09 15:50:48 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
05/02/09 15:50:48 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
05/02/09 15:50:48 Listener: name=/streambaby/
05/02/09 15:50:48 Listener: 
05/02/09 15:50:48 Listener: added factory
05/02/09 15:50:48 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
05/02/09 15:50:48 Main: MDNS: http://192.168.1.108:7290/streambaby/
05/02/09 15:50:48 Main: streambaby ready & listening.
05/02/09 15:50:48 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
05/02/09 15:50:56 Listener: http=HttpRequest /streambaby/icon.png
05/02/09 15:50:56 Listener: path=/streambaby/icon.png uri=/streambaby/
05/02/09 15:50:56 Listener: 
05/02/09 15:50:56 Listener: 192.168.1.111 icon.png HTTP GET - to factory /streambaby/
05/02/09 15:50:56 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
05/02/09 15:51:02 Listener: http=HttpRequest /streambaby/
05/02/09 15:51:02 Listener: path=/streambaby/ uri=/streambaby/
05/02/09 15:51:02 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
05/02/09 15:51:02 Listener: 
05/02/09 15:51:02 Factory: HME receiver connected
05/02/09 15:51:02 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
05/02/09 15:51:02 StreamBabyStream: width: 1280
05/02/09 15:51:02 StreamBabyStream: height: 720
05/02/09 15:51:02 StreamBabyStream: aspect: 1/1
05/02/09 15:51:02 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:02 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:02 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:02 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
05/02/09 15:51:02 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
05/02/09 15:51:02 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
05/02/09 15:51:02 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
05/02/09 15:51:03 RootDirEntry$dirEntryHandler: dirEntry: file:/L:/MP4/
05/02/09 15:51:03 RootDirEntry$dirEntryHandler: dirEntry: file:/I:/Tivo%20Downloads/
05/02/09 15:51:03 HostContext: key=pw value=
05/02/09 15:51:03 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:03 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:03 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:03 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:03 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:03 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:03 RootDirEntry$dirEntryHandler: dirEntry: file:/L:/MP4/
05/02/09 15:51:03 RootDirEntry$dirEntryHandler: dirEntry: file:/I:/Tivo%20Downloads/
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
05/02/09 15:51:03 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
05/02/09 15:51:03 SelectionScreen: focusOn entry=null
05/02/09 15:51:05 SelectionScreen: code=6 rawcode=16778246
05/02/09 15:51:06 SelectionScreen: focusOn entry=null
05/02/09 15:51:08 SelectionScreen: code=6 rawcode=16778246
05/02/09 15:51:08 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
05/02/09 15:51:08 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E01.mp4
05/02/09 15:51:08 FFmpegJavaVideoModule: vidDur:3426346
05/02/09 15:51:08 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E01.mp4, Container: mp4, Duration: 3426.346 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 101-Pilot</h1><p>As Bill prepares for the opening of a new addition to his hardware store chain, he receives bad news about his father's health, and also deals with trying to balance the needs of his three wives.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E02.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:3138709
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E02.mp4, Container: mp4, Duration: 3138.709 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 102-Viagra Blue</h1><p>While Bill seeks protection against the religious compound led by Roman Grant, things heat up between the sister-wives over Margene's overtly sexual behavior. Roman "The Prophet" asks Bill's father to act as a go-between to deliver a message to his son, and the Hendricksons get together for a family dinner with Bill's business partner and his three wives. Meanwhile, Margene pressures Bill about buying her a car and Ben goes out on a date with a girl that seems too mature for him.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E03.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:3352213
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E03.mp4, Container: mp4, Duration: 3352.213 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 103-Home Invasion</h1><p>Bill gets a new home security system, Nicki throws a birthday party, new neighbours move in, and Margene meets her mother-in-law. Meanwhile, there's a break-in in Bill's hardware store.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E04.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:2977457
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E04.mp4, Container: mp4, Duration: 2977.457 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 104-Eclipse</h1><p>Bill goes on a hunting trip with his son Ben, Barb tries to get accredited as a full-time teacher, and shopaholic Nicki realizes she can't pay her credit card bills. Meanwhile, Sarah goes to a house party but ends up needing her friend Heather's help.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E05.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:3388010
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E05.mp4, Container: mp4, Duration: 3388.01 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 105-Affair</h1><p>Nicki suspects that Bill is having an affair and is considering bringing a fourth wife to the family. Margene, feeling alone in the big house, befriends the new neighbor, Pam Martin. Bill goes after Roman and tries to expose him, but polygamy accusations also fly in the Home Plus. Meanwhile, Ben is trying to cope with his arousing sexuality and being a teenager.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E06.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:3086634
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E06.mp4, Container: mp4, Duration: 3086.634 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:09 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 106-Roberta's Funeral (f.k.a. Splinter)</h1><p>Bill attends the funeral of Frank's first wife Roberta at Juniper Creek, and strikes a deal with Roman. With Roberta out of the picture, Bill's mother Lois attempts to rise up on the social ladder at the compound, and Barb and Nicki find themselves in a hairy situation at Henrickson Home Plus.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:09 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E07.mp4
05/02/09 15:51:09 FFmpegJavaVideoModule: vidDur:3292309
05/02/09 15:51:09 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E07.mp4, Container: mp4, Duration: 3292.309 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 107-Eviction</h1><p>Bill considers running an expensive advertising campaign, Barb finds out about Nicki's secret, and Margie goes to church with Pam, their neighbor. Meanwhile, Sarah brings home a surprise guest, and Ben goes on a trip with his friends.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E08.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3175402
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E08.mp4, Container: mp4, Duration: 3175.402 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 108-Easter</h1><p>Bill and Roman's disagreements result in lawsuits from both sides as well as unwanted houseguests from the compound. Sarah learns about her family's history from her grandmother and Joey confides in Barb.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E09.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3087061
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E09.mp4, Container: mp4, Duration: 3087.061 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 109-A Barbecue for Betty</h1><p>Bill wants to throw a party to celebrate Don's plans of getting a fourth wife but Nicki's massive credit card debt weighs heavily on his mind. Pam's friend attempts to make his moves on Margie, but she is preoccupied with wanting to know more of how she became a part of the Henrickson family.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E10.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3244181
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E10.mp4, Container: mp4, Duration: 3244.181 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 110-The Baptism (f.k.a. Margene's Baptism)</h1><p>The Henrickson's prepare Teenie's baptism with friction and surprises from Barb's judgmental sister. Bill decides to take preemptive action against Roman with his brother. Margene continues to butt heads with Nicki, and her misfortunes pile up. Ben wants to show his affection to Brynn but is surprised when she demands something more.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E11.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:2927914
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E11.mp4, Container: mp4, Duration: 2927.914 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 111-Where There's a Will</h1><p>Both Bill and Barb get social recognition as Barb is selected as a finalist for a "Mother of the Year" award and Bill is asked to become a member of the Salt Lake City Leadership League. Meanwhile, the sister-wives draw up their wills, and Rhonda gets to know what life outside the compound is like for teenage girls when she hangs out with Sarah and Heather.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S1E12.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3279786
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S1E12.mp4, Container: mp4, Duration: 3279.786 seconds
Video: h264 720x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 112-The Ceremony (f.k.a. A Family Outing)</h1><p>To Roman's surprise, Bill and Joey attend the UEB priesthood council meeting. Alby's visit to Wanda brings out her old habits, which could potentially land Bill in a big trouble. Rhonda uses the acting competition as an excuse to leave the compound but she discovers that her family isn't willing to let her go. Finally, Barb attends the Mother of the Year awards ceremony but not all goes as expected.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E01.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3294378
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E01.mp4, Container: mp4, Duration: 3294.378 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 201-Damage Control</h1><p>After they're outed as polygamists, Barb decides to leave the family while Bill starts an investigation of who leaked the information. Meanwhile, Sarah attends a support group for ex-Mormons</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E02.mp4
05/02/09 15:51:10 FFmpegJavaVideoModule: vidDur:3088490
05/02/09 15:51:10 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E02.mp4, Container: mp4, Duration: 3088.49 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:10 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 202-The Writing on the Wall (a.k.a. The Writing)</h1><p>Bill and Don investigate who's responsible for ruining one of the Home Plus advertising signs. Alby gets the police to look into the poisoning case. Meanwhile, Nicki is mad at Bill for his forgetting their anniversary.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:10 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E03.mp4
05/02/09 15:51:11 FFmpegJavaVideoModule: vidDur:3136234
05/02/09 15:51:11 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E03.mp4, Container: mp4, Duration: 3136.234 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:11 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 203-Reunion</h1><p>Nicki goes back to the compound for a family reunion, bringing Bill with her, where they find out the extent of Roman's betrayal of their family. Barb is annoyed by Margene and Ben's behavior. Meanwhile, Alby disobeys his father.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:11 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E04.mp4
05/02/09 15:51:11 FFmpegJavaVideoModule: vidDur:3366826
05/02/09 15:51:11 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E04.mp4, Container: mp4, Duration: 3366.826 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:11 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 204-Rock and a Hard Place (a.k.a. Safe Harbor)</h1><p>Bill and Roman butt heads when Rhonda disappears from the compound. The prosecutor offers Joey a plea bargain in exchange for a confession. Meanwhile, Sarah takes an interest in a boy from her support group.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:11 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E05.mp4
05/02/09 15:51:11 FFmpegJavaVideoModule: vidDur:3139797
05/02/09 15:51:11 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E05.mp4, Container: mp4, Duration: 3139.797 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:11 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 205-Vision Thing</h1><p>Bill attempts to sign the deal on the video poker devices before Roman. Joey and Wanda are having a rough patch and Joey wants Barb to help them. Meanwhile, Nicki's upset with the Catholic summer school Wayne is attending. Finally, Bill is captivated by a pretty waitress.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:11 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Big%20Love/Big%20Love%20S2E06.mp4
05/02/09 15:51:11 FFmpegJavaVideoModule: vidDur:3418197
05/02/09 15:51:11 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Big%20Love/Big%20Love%20S2E06.mp4, Container: mp4, Duration: 3418.197 seconds
Video: h264 718x480 48000.0 fps
  PixAspect: 1.0, Aspect: 1.4958333
Audio: aac 48000HZ 2 channels
05/02/09 15:51:11 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Big Love - 206-Dating Game</h1><p>Margene plots to introduce Barb and Nicki to Bill's next potential wife. Meanwhile, journalists take an interest in Rhonda's story.</p><p>Bill Paxton, Jeanne Tripplehorn, Ginnifer Goodwin</p><p class="genre"></p></div></body></html>
05/02/09 15:51:11 SelectionScreen: focusOn entry=null
05/02/09 15:51:13 SelectionScreen: action=pop
05/02/09 15:51:13 SelectionScreen: focusOn entry=Big Love
05/02/09 15:51:15 SelectionScreen: code=6 rawcode=16778246
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E01.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3182554
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E01.mp4, Container: mp4, Duration: 3182.554 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 101-Pilot</h1><p>Dexter is a forensic expert in blood patterns who works with the Miami Police Department. He is also a serial killer, who kills people that the police can't bring to justice. He has to hide his double life from his sister, his girlfriend and his co-workers. He is intrigued by a killer who has found a way to kill girls without leaving blood behind.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E02.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3277565
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E02.mp4, Container: mp4, Duration: 3277.565 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 102-Crocodile</h1><p>Being wrapped up in preparing for his next victim, Dexter, finds out that the Ice Truck Killer is aware of Dexter's dirty little secret.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E03.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3053312
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E03.mp4, Container: mp4, Duration: 3053.312 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 103-Popping Cherry</h1><p>Dexter's on the trail of a recently released murderer who plans to kill again when he's sidetracked by the Ice Truck Killer's latest crime - a cut-up hooker found in a hockey ice rink.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E04.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3462792
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E04.mp4, Container: mp4, Duration: 3462.792 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 104-Let's Give the Boy a Hand</h1><p>The Ice Truck Killer begins leaving pictures from Dexter's childhood at the crime scenes. Is the killer trying to tell Dexter something about his own past?</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E05.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3336124
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E05.mp4, Container: mp4, Duration: 3336.124 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 105-Love American Style</h1><p>While the rest of the police department are focused on finding the Ice Truck Killer, Dexter is busy gathering evidence for his next victim. It turns out he will also discover more about relationships, love and how to make a success of it all. In doing so he gets some hilarious advice from unlikely sources and we see the first time that he actually kills two people at one time.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E06.mp4
05/02/09 15:51:16 FFmpegJavaVideoModule: vidDur:3171306
05/02/09 15:51:16 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E06.mp4, Container: mp4, Duration: 3171.306 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:16 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 106-Return to Sender</h1><p>Dexter is called to the scene of the crime at the Castillo junkyard. The Ice Truck Killer has returned Valerie Castillo's body putting Dexter in danger of being caught. A boy is found who witnessed the crime.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:16 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E07.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3143974
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E07.mp4, Container: mp4, Duration: 3143.974 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 107-Circle of Friends</h1><p>The police identifies the Ice Truck Killer. However Dexter feels there is something wrong with the suspect. Dexter must also deal with Paul, Rita's recently paroled husband.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E08.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3219264
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E08.mp4, Container: mp4, Duration: 3219.264 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 108-Shrink Wrap</h1><p>Dexter suspects rich women's shrink of murder. When he visits the shrink, he is surprised by a dark secret from his past.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E09.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3334831
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E09.mp4, Container: mp4, Duration: 3334.831 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 109-Father Knows Best</h1><p>Dexter receives notification that his biological father has recently passed away. Dexter is named as the sole heir of all his possessions including his house. Dexter goes for a weekend away with Rita, Deb, and Rudy.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E10.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3382545
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E10.mp4, Container: mp4, Duration: 3382.545 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 110-Seeing Red</h1><p>The Ice Truck Killer is back. He leaves a crime scene that brings back some horrifying repressed memories for Dexter. Paul sues Rita for sole custody of Astor and Cody.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E11.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3235482
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E11.mp4, Container: mp4, Duration: 3235.482 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 111-Truth Be Told</h1><p>The Ice Truck Killer puts Dexter in a life changing position when he takes someone close to Dexter hostage. Doakes begins to suspect that Dexter's odd behavior is something darker than he originally thought.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S1E12.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3385344
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S1E12.mp4, Container: mp4, Duration: 3385.344 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 6 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 112-Born Free</h1><p>Dexter follows clues left for him by the Ice-Truck Killer in an attempt to find the hostage.  Paul tries to convince Rita that she and the children are not safe around Dexter.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E01.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3197319
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E01.mp4, Container: mp4, Duration: 3197.319 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 201-It's Alive!</h1><p>Things are really beginning to heat up for Dexter: Doakes' suspicions about him are growing, his victims are escaping, and his body dump site has been found. Meanwhile Paul is troubling Rita over the missing shoe and Debra is going through trauma over the Ice Truck killer incident.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E02.mp4
05/02/09 15:51:17 FFmpegJavaVideoModule: vidDur:3348261
05/02/09 15:51:17 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E02.mp4, Container: mp4, Duration: 3348.261 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:17 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 202-Waiting to Exhale</h1><p>Dexter is finding it hard to have closure on killing his brother. There is a new FBI agent to head the "Bay Harbour Butcher" case. Debra is finding it tough to put the past behind her.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:17 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E03.mp4
05/02/09 15:51:18 FFmpegJavaVideoModule: vidDur:3142250
05/02/09 15:51:18 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E03.mp4, Container: mp4, Duration: 3142.25 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:18 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 203-An Inconvenient Lie</h1><p>Dexter sets his sights on a new victim: a murderer so repulsive it seems only fitting that he's a used-car salesman. Dexter's been unable to lie to Rita about his midnight activities, which has her thinking that he's a drug addict. She's threatened to leave him if he doesn't commit to a 12-step program to deal with his supposed addiction. While in this recovery, though, Dexter meets a sexy, mysterious woman named Lila.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:18 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E04.mp4
05/02/09 15:51:18 FFmpegJavaVideoModule: vidDur:3177340
05/02/09 15:51:18 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E04.mp4, Container: mp4, Duration: 3177.34 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:18 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 204-See-Through</h1><p>Rita's estranged mother visits and senses something is wrong with Dexter. Masuka thinks he's developed a lead in the Bay Harbor Butcher case, which has Dexter concerned. Angel's interrogation of a witness crosses a line.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:18 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E05.mp4
05/02/09 15:51:18 FFmpegJavaVideoModule: vidDur:3356519
05/02/09 15:51:18 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E05.mp4, Container: mp4, Duration: 3356.519 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:18 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 205-The Dark Defender</h1><p>Dexter finds out that the man who killed his mother, right in front of him, is still alive. When he tells this to Lila, she suggests he face the man, as part of his road to addiction recovery. But then as his sponsor she insists on tagging along.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:18 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Dexter/Dexter%20S2E06.mp4
05/02/09 15:51:18 FFmpegJavaVideoModule: vidDur:3214211
05/02/09 15:51:18 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Dexter/Dexter%20S2E06.mp4, Container: mp4, Duration: 3214.211 seconds
Video: h264 720x480 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:18 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Dexter - 206-Dex, Lies, and Videotape</h1><p>A copy-cat killer follows the lead of the "Bay Harbor Butcher." Dexter must destroy an incriminating surveillance video.</p><p>Michael C. Hall, Julie Benz, Jennifer Carpenter</p><p class="genre"></p></div></body></html>
05/02/09 15:51:18 SelectionScreen: focusOn entry=Big Love - 101-Pilot
05/02/09 15:51:21 SelectionScreen: action=pop
05/02/09 15:51:21 SelectionScreen: focusOn entry=Dexter
05/02/09 15:51:23 SelectionScreen: code=6 rawcode=16778246
05/02/09 15:51:23 SelectionScreen: focusOn entry=Dexter - 101-Pilot
05/02/09 15:51:25 SelectionScreen: code=6 rawcode=16778246
05/02/09 15:51:26 VideoModuleHelper: GetVidInfo: file:/L:/MP4/Firefly/Firefly%20E03.mp4
05/02/09 15:51:26 FFmpegJavaVideoModule: vidDur:2635797
05/02/09 15:51:26 FFmpegJavaVideoModule: VideoInfo:
uri: file:/L:/MP4/Firefly/Firefly%20E03.mp4, Container: mp4, Duration: 2635.797 seconds
Video: h264 720x480 59.94005994005994 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: aac 48000HZ 2 channels
05/02/09 15:51:26 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Firefly - 03-Bushwhacked</h1><p>On a salvage mission aboard a drifting colony ship, the Serenity crew find signs that the crew were killed by the cannabalistic Reavers. They find one survivor, but things take a turn for the worse when an Alliance ship looking for an unspecified Firefly-class ship with brother-and-sister stowaways shows up and takes them in.</p><p>Nathan Fillion, Jewel Staite, Summer Glau</p><p class="genre"></p></div></body></html>
05/02/09 15:51:26 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=221]
05/02/09 15:51:27 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:27 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:27 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:27 MP4StreamFactory$1: Processing moov atom...
05/02/09 15:51:27 MP4StreamFactory$1: Format: avc1
05/02/09 15:51:27 MP4StreamFactory$1: Profil: 100
05/02/09 15:51:27 MP4StreamFactory$1: Profile level: 30
05/02/09 15:51:27 MP4StreamFactory$1: Format: mp4a
05/02/09 15:51:27 MP4StreamFactory$1: Format: text
05/02/09 15:51:27 MP4StreamFactory$1: Start sample: 126466048, end: 0
05/02/09 15:51:27 MP4StreamFactory$1: reinterleave turned off. Skipping.
05/02/09 15:51:27 MP4StreamFactory$1: Width: 853, Height: 480
05/02/09 15:51:27 MP4StreamFactory$1: Processing moov atom complete
05/02/09 15:51:30 PlayScreen: action=down
05/02/09 15:51:30 PlayScreen: action=down
05/02/09 15:51:30 PlayScreen: action=down
05/02/09 15:51:32 PlayScreen: action=up
05/02/09 15:51:32 PlayScreen: action=right
05/02/09 15:51:33 PlayScreen: action=right
05/02/09 15:51:34 PlayScreen: action=right
05/02/09 15:51:34 PlayScreen: action=right
05/02/09 15:51:35 PlayScreen: action=left
05/02/09 15:51:35 PlayScreen: action=left
05/02/09 15:51:35 PlayScreen: action=left
05/02/09 15:51:36 PlayScreen: action=left
05/02/09 15:51:36 PlayScreen: action=down
05/02/09 15:51:37 PlayScreen: code=3 rawcode=16777475
05/02/09 15:51:39 PlayScreen: action=up
05/02/09 15:51:40 PlayScreen: action=up
05/02/09 15:51:42 PlayScreen: code=6 rawcode=16778246
05/02/09 15:51:42 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 value=0
05/02/09 15:51:42 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 ViewScreen: Desc: Firefly E03.mp4
05/02/09 15:51:42 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1132,height=221]
05/02/09 15:51:42 PreviewWindow: pWidth: 1280
05/02/09 15:51:42 PreviewWindow: preview parent=BView[#2940,bounds=0,0,1280x720]
05/02/09 15:51:42 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:51:42 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:51:42 ViewScreen: goto position: 0, vidlen: 2635797
05/02/09 15:51:42 ViewScreen: Position not in buffer, starting new stream
05/02/09 15:51:42 ViewScreen: Openening stream at position: 0(0 secs)
05/02/09 15:51:42 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/02/09 15:51:42 MP4StreamFactory$1: Processing moov atom...
05/02/09 15:51:42 MP4StreamFactory$1: Format: avc1
05/02/09 15:51:42 MP4StreamFactory$1: Profil: 100
05/02/09 15:51:42 MP4StreamFactory$1: Profile level: 30
05/02/09 15:51:42 MP4StreamFactory$1: Format: mp4a
05/02/09 15:51:42 MP4StreamFactory$1: Format: text
05/02/09 15:51:42 MP4StreamFactory$1: Start sample: 0, end: 0
05/02/09 15:51:43 MP4StreamFactory$1: ChunkDelta: 2181
05/02/09 15:51:43 MP4StreamFactory$1: Continuing reinterleave...
05/02/09 15:53:14 MP4StreamFactory$1: Width: 853, Height: 480
05/02/09 15:53:14 MP4StreamFactory$1: Processing moov atom complete
05/02/09 15:53:14 NamedStream: Registering named stream: 005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:16 Listener: http=HttpRequest /streambaby/005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:16 Listener: path=/streambaby/005410a4-dfa6-4d0c-89eb-430da28665f6.stream uri=/streambaby/
05/02/09 15:53:16 Listener: 
05/02/09 15:53:16 Listener: 192.168.1.111 005410a4-dfa6-4d0c-89eb-430da28665f6.stream HTTP GET - to factory /streambaby/
05/02/09 15:53:16 StreamBabyStream$StreamBabyStreamFactory: uri=005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:16 NamedStream: Getting mapped stream for named stream: 005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:16 NamedStream: Getting mapped stream for named stream: 005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_top.png
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar.png
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_bottom.png
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_marker.png
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_tick.png
05/02/09 15:53:27 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_play.png
05/02/09 15:53:27 NewStatusBar: state=true
05/02/09 15:53:31 ViewScreen: code=8 rawcode=16784648
05/02/09 15:53:31 ViewScreen: speed=0.0
05/02/09 15:53:31 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_pause.png
05/02/09 15:53:31 NewStatusBar: state=true
05/02/09 15:53:31 NewStatusBar: state=true
05/02/09 15:53:36 ViewScreen: code=4 rawcode=16777732
05/02/09 15:53:36 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 value=4287
05/02/09 15:53:36 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 value=4287applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=221]
05/02/09 15:53:36 HostContext: key=mpos:file:/L:/MP4/Firefly/Firefly%20E03.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/02/09 15:53:36 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 HostContext: compKey=6520001803E10C2-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/02/09 15:53:36 NewStatusBar: 
05/02/09 15:53:37 NamedStream: DeRegistering named stream: 005410a4-dfa6-4d0c-89eb-430da28665f6.stream
05/02/09 15:53:37 Listener: 
05/02/09 15:53:37 Listener: 192.168.1.111 I/O Exception handling  HTTP GET 005410a4-dfa6-4d0c-89eb-430da28665f6.stream: Connection reset by peer: socket write error
05/02/09 15:53:37 Listener: ctx=HttpRequest /streambaby/005410a4-dfa6-4d0c-89eb-430da28665f6.stream t=java.net.SocketException: Software caused connection abort: recv failed
05/02/09 15:53:38 PlayScreen: action=pop
05/02/09 15:53:39 SelectionScreen: focusOn entry=Firefly - 03-Bushwhacked
05/02/09 15:53:39 SelectionScreen: action=pop
05/02/09 15:53:40 SelectionScreen: focusOn entry=Firefly
05/02/09 15:53:40 SelectionScreen: action=pop
05/02/09 15:53:40 SelectionScreen: focusOn entry=MP4 Videos
05/02/09 15:53:41 SelectionScreen: action=pop
05/02/09 15:53:41 Listener: 
05/02/09 15:53:41 Listener: connection to receiver closed
05/02/09 15:53:41 Listener: 
05/02/09 15:53:41 Factory: HME receiver disconnected
05/02/09 15:53:45 Listener: http=HttpRequest /streambaby/icon.png
05/02/09 15:53:45 Listener: path=/streambaby/icon.png uri=/streambaby/
05/02/09 15:53:45 Listener: 
05/02/09 15:53:45 Listener: 192.168.1.111 icon.png HTTP GET - to factory /streambaby/
05/02/09 15:53:45 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
05/02/09 15:53:51 ShutdownHook: Cleaning up...

Any help is appreciated.

Jason


----------



## Yoav

txporter said:


> I don't get the option to push with pytivo. Is this because I actually have it running at the same time already? (I have added tivo.username/password to .ini)


Streambaby and pytivo will happily run alongside each other. It sounds to me like you might not have the latest streambaby downloaded (check the downloads tab.. it should be named -r232 I think). push was only added recently. Fwiw, the push doesn't happen with pytivo by default. It will be done with a push from streambaby (there is a way to set up the options to make the push happen from pyTivo if that's important to you)



> Second question, what is the normal amount of time that I should expect it to take to start the stream? For a 42min episode (~670mb file) it takes 1.5-2 mins before the video starts. These are all video encoded by Handbrake with the profile that moyekj has in kmttg for SD video. I tried streaming one episode that was double length and it timed out (went to live tv). I feel like I have something set up wrong.


Length of the episode shouldn't matter. It sounds to me like your home network might be too slow... If you download with pytivo, can you watch the moviewhile it's downloading? If not, you need to work on improving your network speed on your home network.

In any case, it shouldn't take more than 10 secs to go from black picture to movie playing in streambaby. Try encoding with a lower bitrate...


----------



## westside_guy

So here's a reverse question. 

If I want streambaby to use pyTivo's push functionality (since streambaby's push is currently a bit wonky), how do I indicate that in streambaby.ini? I tried setting pytivo.ip=127.0.0.1, since they're both on the same machine; but streambaby is still doing the pushing.

I looked through the wiki but pytivo.ip isn't mentioned anywhere.

Thanks!


----------



## mikek2

Hi Guys

I am Australian Tivo user and have been using Streambaby for some time without many problems and I would like to use the new push feature.

Reading through the posts, in order to activate the push, Stream Baby connects to the user's Tivo account at tivo.com using the username and password provided in the streambaby.ini file. The problem is that my tivo account is at tivo.com.au. Is it possible as an option to get Streambaby to log in at tivo.com.au instead (assuming that everything is set up the same at the australian tivo site)?

I tried using the push as is and the push option comes up on my Tivo but then says "push failed" when starting. Not surprisingly, when I look in the log file it says that the username or password are incorrect. 

Thanks in advance for any help and thanks for a great program.

Michael


----------



## wmcbrine

No idea if push can work for Aussies... do you guys have TiVoCasts a "Free" category under Video on Demand? Or, in fact, Video on Demand at all?

Edit: "ping: unknown host mind.tivo.com.au". Not promising.


----------



## mikek2

Video on Demand has only just become available for us, on Thursday I think. Some of the movies are available for "free" (there's a small free symbol next the movie name). Is that what you mean?

Edit: I'm not sure if this makes a difference or not, or how this compares with the US, but Video on Demand with the Australian Tivo is done through Blockbuster. You need to have a Blockbuster account and then link your Blockbuster account to your Tivo account.


----------



## wmcbrine

mikek2 said:


> Video on Demand has only just become available for us, on Thursday I think. Some of the movies are available for "free" (there's a small free symbol next the movie name). Is that what you mean?


No... on U.S. TiVos, the "Video on Demand" option pulls up another menu with multiple services (oddly enough, not yet including Blockbuster, although we're supposed to get it at some point). One of the options there is "Browse free videos", which gives you basically a list of podcasts that you can subscribe to. They used to call these "TiVoCasts".

Do the Blockbuster videos download to your Now Playing list, or are they streaming?


----------



## txporter

Yoav said:


> Streambaby and pytivo will happily run alongside each other. It sounds to me like you might not have the latest streambaby downloaded (check the downloads tab.. it should be named -r232 I think). push was only added recently. Fwiw, the push doesn't happen with pytivo by default. It will be done with a push from streambaby (there is a way to set up the options to make the push happen from pyTivo if that's important to you)


That's odd. I went directly to keary's google code site and downloaded streambaby yesterday (0.25). I don't really care whether the push is done from streambaby or pytivo, I just didn't see an option from within streambaby so I was trying to figure out why not.



Yoav said:


> Length of the episode shouldn't matter. It sounds to me like your home network might be too slow... If you download with pytivo, can you watch the moviewhile it's downloading? If not, you need to work on improving your network speed on your home network.
> 
> In any case, it shouldn't take more than 10 secs to go from black picture to movie playing in streambaby. Try encoding with a lower bitrate...


I suppose it is possible that my network is causing a problem, but I am not sure. I don't have any issue with transfer speeds between Tivos or from Tivo to PC or PC to Tivo. Everything is hardwired to 100+ switches. Is there a way for me to test if that is the problem though? Is there anything in the debug info that can shed a light on that?

Jason


----------



## westside_guy

txporter said:


> That's odd. I went directly to keary's google code site and downloaded streambaby yesterday (0.25). I don't really care whether the push is done from streambaby or pytivo, I just didn't see an option from within streambaby so I was trying to figure out why not.


I think you need to download the latest svn (subversion) code - push isn't implemented in the 0.25 release. Hence Yoav's comment about downloading -r232 (or whatever the latest is).


----------



## Yoav

txporter said:


> That's odd. I went directly to keary's google code site and downloaded streambaby yesterday (0.25). I don't really care whether the push is done from streambaby or pytivo, I just didn't see an option from within streambaby so I was trying to figure out why not.


Looking at the googlecode site, the latest right now is: http://streambaby.googlecode.com/files/streambaby-svn-r232.zip

0.25 is very old and doesn't support push.



> I suppose it is possible that my network is causing a problem, but I am not sure. I don't have any issue with transfer speeds between Tivos or from Tivo to PC or PC to Tivo. Everything is hardwired to 100+ switches. Is there a way for me to test if that is the problem though? Is there anything in the debug info that can shed a light on that?
> 
> Jason


Hmm.. hardwired switches should be as fast as you'll get. So unless you encoded the movies at insanely high bitrates, you should be good. Clearly something else is wrong.. Looking through the log, this is interesting:



> 05/02/09 15:53:37 Listener:
> 05/02/09 15:53:37 Listener: 192.168.1.111 I/O Exception handling HTTP GET 005410a4-dfa6-4d0c-89eb-430da28665f6.stream: Connection reset by peer: socket write error
> 05/02/09 15:53:37 Listener: ctx=HttpRequest /streambaby/005410a4-dfa6-4d0c-89eb-430da28665f6.stream t=java.net.SocketException: Software caused connection abort: recv failed


Did you actively cancel the stream? Also, does it work better if you select a quality other than 'same'?


----------



## txporter

Yoav said:


> Looking at the googlecode site, the latest right now is: http://streambaby.googlecode.com/files/streambaby-svn-r232.zip
> 
> 0.25 is very old and doesn't support push.


Thanks for pointing that out. I expected to find the newest file linked to the opening page. Have downloaded that one and copied over to the streambaby directory.



Yoav said:


> Did you actively cancel the stream? Also, does it work better if you select a quality other than 'same'?


I encode my SD video at 2000kbps, so the bitrate isn't high at all. Also, I didn't cancel the stream. Those errors are occurring without my intervention or meddling. I don't know what is causing them, but maybe that is why it is taking so long to start streaming? Not sure how to debug networking issue frankly.  Any guidance would be appreciated.

Jason

P.S. I haven't tried anything other than 'same' but can try. I don't expect it to change anything since I am not overwhelming anything with my bitrates.


----------



## Yoav

txporter said:


> P.S. I haven't tried anything other than 'same' but can try. I don't expect it to change anything since I am not overwhelming anything with my bitrates.


Well, the main reason I want you to try something other than 'same' is because it might be an issue with the actual mp4 file. If you select a different quality, it will transcode it to something we know the tivo can play. Then, we can at least know if it's a bad mp4 or not (bad doesn't mean invalid.. just one the tivo can't play). -- fwiw, using the instructions for mp4 files that moyekj posted on the streambaby wiki generated a file that my tivo couldn't play right


----------



## mikek2

wmcbrine said:


> No... on U.S. TiVos, the "Video on Demand" option pulls up another menu with multiple services (oddly enough, not yet including Blockbuster, although we're supposed to get it at some point). One of the options there is "Browse free videos", which gives you basically a list of podcasts that you can subscribe to. They used to call these "TiVoCasts".
> 
> Do the Blockbuster videos download to your Now Playing list, or are they streaming?


At the moment there is only the Blockbuster Videos option that comes up from the VOD option in Tivo Central. We had something called TivoCasts come up for a little while (they must have been trialling it or something) but they have since disappeared. There was a whole list of free videos that you could download. It sounds like what you describe.

By the way, the Blockbuster videos download to the Now Playing List.


----------



## txporter

Yoav said:


> Well, the main reason I want you to try something other than 'same' is because it might be an issue with the actual mp4 file. If you select a different quality, it will transcode it to something we know the tivo can play. Then, we can at least know if it's a bad mp4 or not (bad doesn't mean invalid.. just one the tivo can't play). -- fwiw, using the instructions for mp4 files that moyekj posted on the streambaby wiki generated a file that my tivo couldn't play right


Thanks for all of the troubleshooting! I just tried playing 1 of the same mp4 and a new one with the latest version of StreamBaby. Both of the streams started in about 10s. Not sure what has changed between 0.25 and r232, but my setup seems to like the latest one better. And the push option is there too. Thanks!

Also, I will try the quality option in the future if I have more problems. I would prefer to minimize the amount of transcodes/re-encodes to avoid unnecessary quality loss if at all possible.

Jason


----------



## chetk

Well this my first attempt at streambaby, my problem is that i cant seem to get my tivo to see any movies files from my laptop. All it says from tivo (top level) no entries in the directory. I tried differnet dir and still no files found. Can anybody help im truely a novice at this so please use plan language. Thanks


----------



## bkdtv

chetk said:


> Well this my first attempt at streambaby, my problem is that i cant seem to get my tivo to see any movies files from my laptop. All it says from tivo (top level) no entries in the directory. I tried differnet dir and still no files found. Can anybody help im truely a novice at this so please use plan language. Thanks


What does your Streambaby.ini file look like?

It should look something like this:



Code:


dir.1=L:\MP4
dir.1.name=MP4 Videos
dir.2="I:\Tivo Downloads"
dir.2.name=Tivo Edits

Make sure you do not have any characters in front of dir.1 or dir.1.name.


----------



## bkdtv

Would it be possible for a future version of Streambaby to provide a buffer setting, so the user could set the amount of buffer time? Or perhaps buffer MP4 files differently than MPEG-2?

Right now, I'm often seeing a ~20 second buffer for a 10Mbps MP4 video that will transfer at 18-20Mbps. That's overkill. An initial buffer of 2-4 seconds would do just as well.


----------



## moyekj

bkdtv said:


> Would it be possible for a future version of Streambaby to provide a buffer setting, so the user could set the amount of buffer time? Or perhaps buffer MP4 files differently than MPEG-2?
> 
> Right now, I'm often seeing a ~20 second buffer for a 10Mbps MP4 video that will transfer at 18-20Mbps. That's overkill. An initial buffer of 2-4 seconds would do just as well.


 Nobody has figured out how to control HME stream buffering yet. That includes both the initial buffer size as well as total buffer size (i.e. the ~ 1.1GB buffer max size). Whoever does figure that out will be a hero. Wish Tivo would throw us a bone and give us a clue...


----------



## bkdtv

moyekj said:


> Nobody has figured out how to control HME stream buffering yet. That includes both the initial buffer size as well as total buffer size (i.e. the ~ 1.1GB buffer max size). Whoever does figure that out will be a hero. Wish Tivo would throw us a bone and give us a clue...


Clearly there is a way, because Netflix 720p is 3.8Mbps, and 1.1GB would equate to maximum run time of 39 minutes. Netflix has 720p movies that run almost three hours, and the TiVo never pauses to re-buffer.

_Fingers crossed that TiVo will contact kearygriffin at some point and tell him how..._


----------



## jcthorne

Sicklybutsexy said:


> there was a problem with the ac3 bat file in that the way I worded it, it was muxing the unconverted ac3 instead of the converted ac3. I wonder if that was your problem? Here is the update version...


Tried your bat files and am having a problem I hope you can help with. Work up to completion of writing the ac3 audio track by eac3to. Then it calls mp4creator and gives the error "Error Decoding sei message" and stops. Tried 2 different files and ends the same way. Seems to be something with the mp4creator command line or something mp4creator does not like about the files.

Thanks


----------



## chetk

thanks for the reply this is what my ini file looks like. #
# ./streambaby --help for more configuration file options
#

#dir.1=C:/t2
#dir.1.name=t2
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.0.196
# port to use
#port=7290
any more help thanks


----------



## reneg

chetk said:


> thanks for the reply this is what my ini file looks like. #
> # ./streambaby --help for more configuration file options
> #
> 
> #dir.1=C:/t2
> #dir.1.name=t2
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.0.196
> # port to use
> #port=7290
> any more help thanks


Remove the # from the dir.1 entries. The # tells streambaby to ignore the rest of the line.


----------



## Yoav

bkdtv said:


> Clearly there is a way, because Netflix 720p is 3.8Mbps, and 1.1GB would equate to maximum run time of 39 minutes. Netflix has 720p movies that run almost three hours, and the TiVo never pauses to re-buffer.
> 
> _Fingers crossed that TiVo will contact kearygriffin at some point and tell him how..._


Completely off on a tangent, but from previous postings in the thread, the opinion is that netflix uses rtsp streaming and doesn't use the HME buffer at all.


----------



## chetk

thanks reneg that did the trick.


----------



## rfryar

Currently when I have large MP4s with AC3 audio (primarily), when Streambaby rebuffers it will almost always get slightly out of synch with the video.

If I jump ahead of the buffer by just a minute then the audio will be back in synch. I assume this is due to me having interleaving audio/video at 1/2 second intervals. 

So a quick suggestion.. When Streambaby goes to rebuffer a MP4 is it possible to instead of starting exactly where it left off to back track to an even second to help keep the audio in synch? 

At least until we figure out RTSP

Thanks,

Rick


----------



## moyekj

NOTE: Keary made a change in latest version to fix the issue with all pushes going to 1 folder.
(The fix uses title names as "source" which is what is used to determine grouping. It's still not a complete fix since in current version access to seriesID is not easily accessible from push code, but Keary stated in a future release it will use seriesID if available instead of title).


----------



## westside_guy

moyekj said:


> NOTE: Keary made a change in latest version to fix the issue with all pushes going to 1 folder.
> (The fix uses title names as "source" which is what is used to determine grouping. It's still not a complete fix since in current version access to seriesID is not easily accessible from push code, but Keary stated in a future release it will use seriesID if available instead of title).


Wow, Keary needs to go to work for Mozilla. I have some bugs filed over there that've been sitting for several years. I file a bug against streambaby, and it's fixed in a couple days. 

Thanks!


----------



## Sicklybutsexy

jcthorne said:


> Tried your bat files and am having a problem I hope you can help with. Work up to completion of writing the ac3 audio track by eac3to. Then it calls mp4creator and gives the error "Error Decoding sei message" and stops. Tried 2 different files and ends the same way. Seems to be something with the mp4creator command line or something mp4creator does not like about the files.
> 
> Thanks


it always says "error decoding sei message". Just ignore it. Are you sure it stops? Just let it go and see what happens. I've been using it very effectively for awhile now. What kind of files are they?


----------



## Sicklybutsexy

This file will convert an mkv to an mp4 so that it
will be Tivo compatible. It can then be used with
streambaby, streambaby push or pytivo push. Sometimes
the file's audio will need to be converted to comply
with Tivo specifications. You need (all free)
several programs available including: mkvmerge.exe,
mkvextract.exe, mp4creator.exe, and eac3to.exe. You can
also place pytivometathis.py in the folder so that it
will automatically get the metadata for you. You
can either place all of these files in the same folder or edit the batch file to direct it to the locations of 
those files. Please place the file you want to mux into
the same folder as this batch file...

Change this txt file to a batch file by changing the extention from .txt to .bat


----------



## kennedy

MY FAMILY LOVE STREAMBABY! Thanks to all for this wonderful HME app.

I'm stumped on what to do with some files that Streambaby reports as incompatible format. These files are native .MP4 files that were recoded on a Samsung HD camcorder. According to the manual, these files are H.264/AVC/MPEG-4 Part 10 files. Any ideas on what I need to do to either configure Streambaby to recognize these files, or how to transcode these to a compatible format? Not looking for anyone to do my homework for me, but just pointing me in the right direction would be a great help.

Thanks


----------



## rfryar

There was one other posting a while back about a similar camcorder. It was determined that the MP4 was encoded at a 60 frames per second frame rate. This frame rate is not supported by the TiVo.

You can find out that information by using MP4Box on your Mp4


 Code:


mp4box -info filename.mp4

If the framerate is above ~30 fps then you will have to reencode. I use MeGUI which is just a UI around a bunch of tools.

Let me know if you need more pointers,

Rick


----------



## wmcbrine

That's not correct. The TiVo has no problem with 60 (or really, 59.94) fps. It's the standard frame rate for 720p.


----------



## pmd

mikek2 said:


> At the moment there is only the Blockbuster Videos option that comes up from the VOD option in Tivo Central. We had something called TivoCasts come up for a little while (they must have been trialling it or something) but they have since disappeared. There was a whole list of free videos that you could download. It sounds like what you describe.
> 
> By the way, the Blockbuster videos download to the Now Playing List.


Could someone who knows the ins and outs of 'push' trying modifying the code to contact symind.tivo.com instead of mind.tivo.com? I'm interested in knowing what happens using a US TiVo.

I installed Tivo Desktop 2.7 last night, selected Australia as the installation location, and ran Wireshark while I upgraded to Plus by adding my Tivo account username and password. I immediately saw traffic to and from symind.tivo.com:8181.

Trying a push from pyTivo to that server seems to log in ok (if I give an incorrect password then I get a cookie authentication error message in the results and a Python crash checking pcBodySearch), but the push didn't work. I saw a fair amount of flickering on the access light of the Tivo's wireless adaptor, but the blue light didn't come on.

Also, I had a problem in pyTivo's config.py get_ip() method - the s.connect('4.2.2.1') line always failed, so I hardcoded my external (correct?) IP address - dodgy. This is running wmcbrine's pyTivo either as part of pyTivoX or independently.


----------



## AudioNutz

pmd said:


> Could someone who knows the ins and outs of 'push' trying modifying the code to contact symind.tivo.com instead of mind.tivo.com? I'm interested in knowing what happens using a US TiVo...


That could be easier than writing code. Just set up a local DNS server on your home net, and manually resolve the name that your TiVo wants to the address that you want to try out.

Or...
If you have a home router that supports it, just do a routing rule from the wrong address to the right address...


----------



## rfryar

wmcbrine said:


> That's not correct. The TiVo has no problem with 60 (or really, 59.94) fps. It's the standard frame rate for 720p.


Sorry I was not clearer.. I meant 1080p @60 frames per second is too much for the TiVo to handle. 720p and lower can use 60 and be just fine.

The post I was refering to is: http://tivocommunity.com/tivo-vb/showthread.php?p=7216869#post7216869

Rick


----------



## wmcbrine

pmd said:


> Also, I had a problem in pyTivo's config.py get_ip() method - the s.connect('4.2.2.1') line always failed, so I hardcoded my external (correct?) IP address - dodgy.


The address it's looking for is actually your LAN IP. The point of trying to connect to an external address is to pick up your default route, as opposed to localhost, VirtualPC, etc. Of course this still may not be the desired address.

I'm surprised that 4.2.2.1 isn't working for you. I'm open to suggestions... the code this replaced used "tivo.com", but that entailed a DNS lookup, and was more hops for (I think) most people.


----------



## Yoav

wmcbrine said:


> The address it's looking for is actually your LAN IP. The point of trying to connect to an external address is to pick up your default route, as opposed to localhost, VirtualPC, etc. Of course this still may not be the desired address.
> 
> I'm surprised that 4.2.2.1 isn't working for you. I'm open to suggestions... the code this replaced used "tivo.com", but that entailed a DNS lookup, and was more hops for (I think) most people.


What's wrong with just running 'route get default' ?
(you'll need to do an OS detect and do the equivalent in windows of course.. )


----------



## wmcbrine

Yoav said:


> What's wrong with just running 'route get default' ?
> (you'll need to do an OS detect and do the equivalent in windows of course.. )


Well, there's one thing that's wrong with it. Plus to me it's a big lose, shelling out when you don't have to. I realize it's kludgy as is, though.

You can see a more elaborated version of the function in HME for Python's start.py. There, I first try the method you're _supposed_ to use -- socket.gethostbyname(socket.gethostname()). The trouble is that this always comes up with 127.0.0.1, on my system. (Actually it worked on my Windows system, IIRC, but not Ubuntu. Checking it now, I see that it also works on my Mac.) So, in that case, it falls back to the fake connection.

In bringing this function over to pyTivo, I was replacing two instances of code which armooo had come up with independently that worked in the same way, except that he used tivo.com and port 123 where I used 4.2.2.1 and port 0 -- and he didn't first try gethostbyname(). So, I thought, if I used gethostbyname(), it might unintentionally change pyTivo's behavior for someone, by finding the wrong interface. So I decided to omit it, and thought I'd be keeping pyTivo's old behavior if only the address and port were changed (for the reasons mentioned above). In that, it appears I was mistaken.


----------



## myarken

wh


----------



## pmd

wmcbrine said:


> I'm surprised that 4.2.2.1 isn't working for you. I'm open to suggestions... the code this replaced used "tivo.com", but that entailed a DNS lookup, and was more hops for (I think) most people.


Here's what I got using Python on my Mac running 10.5.6:



Code:


Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.connect(('4.2.2.1',0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in connect
socket.error: (49, "Can't assign requested address")
>>> s.connect(('4.2.2.1',1))
>>> print s.getsockname()[0]
192.168.1.2
>>> print socket.gethostbyname(socket.gethostname())
172.16.115.1

Not sure what the gethostbyname() method is doing returning that IP - earlier I tried the same thing and it failed, then worked:



Code:


Python 2.5.1 (r251:54863, Jan 13 2009, 10:26:13) 
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> print socket.gethostbyname(socket.gethostname())
172.16.115.1
>>> s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
>>> s.connect(('4.2.2.1',0))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in connect
socket.error: (49, "Can't assign requested address")
>>> print socket.gethostbyname(socket.gethostname())
192.168.1.2

Anyway, connecting to a port other than 0 seems to work. This isn't unheard of: http://www.nabble.com/socket-code-works-on-Win32-but-not-Mac-:-(-td21475137.html

Has anyone else tried pushing to symind.tivo.com yet? I'd like to know whether it's specifically for Australian Tivos, or whether it's a new system that all units can use. I don't know how to debug further, as it looks like I'd need to replicate the original SSL man-in-the-middle attack, and that's way beyond me at the moment!


----------



## jcthorne

have you tried changing mind.tivo.com to symind.tivo.com in mind.py? (2 instances)

Has worked for me when I needed to address a different tivo server.


----------



## pmd

jcthorne said:


> have you tried changing mind.tivo.com to symind.tivo.com in mind.py? (2 instances)


Yes, I have. The push didn't come through. I was just hoping someone else would give it a go to confirm my results in case I'm doing something wrong. Using mind.tivo.com doesn't work with Australian accounts - the login fails.

I'm interested in the possibility that symind.tivo.com might accept connections from all Tivos (and then there would be more people possibly willing to crack that one too - not that there's much incentive for US owners I know  )


----------



## kearygriffin

pmd said:


> Yes, I have. The push didn't come through. I was just hoping someone else would give it a go to confirm my results in case I'm doing something wrong. Using mind.tivo.com doesn't work with Australian accounts - the login fails.
> 
> I'm interested in the possibility that symind.tivo.com might accept connections from all Tivos (and then there would be more people possibly willing to crack that one too - not that there's much incentive for US owners I know  )


And just to note, in streambaby there is an INI setting:
tivo.mind=
Which defaults to:
tivo.mind=mind.tivo.com:8181

Which points streambaby to the "mind" server to use.

Keary


----------



## MighTiVo

I have searched but can not find the asnwers, these have to have been asked before though...

1) I have movies on WHS so I understand I can't run streambaby as a service on my computer as it wouldn't have access to networked drives.
Q) How do I set up Streambaby to auto start when he computer boots?
(Note there is a user "media" on this windows 7 HTPC that logs in automatically so I just need to program to start on the users login and somehow run hidden)

2) I understand SB ignores dot names for directories 
Q) Can I add another ignore rule such as VIDEO_TS

3) SB seems to have an understanding of meta information, although it is a bit buggy as the title changes after viewing the data.
Q) Is there some way to configure the name of the program as displayed in the playback menu 
For example: 
don't display extension
convert _ to space
use the meta tag initially instead of after the program is selected

Thanks for a super app, and apologies ahead of time for not being able to find this info...


----------



## m_jonis

MighTiVo said:


> I have searched but can not find the asnwers, these have to have been asked before though...
> 
> 1) I have movies on WHS so I understand I can't run streambaby as a service on my computer as it wouldn't have access to networked drives.
> Q) How do I set up Streambaby to auto start when he computer boots?
> (Note there is a user "media" on this windows 7 HTPC that logs in automatically so I just need to program to start on the users login and somehow run hidden)
> 
> 2) I understand SB ignores dot names for directories
> Q) Can I add another ignore rule such as VIDEO_TS
> 
> 3) SB seems to have an understanding of meta information, although it is a bit buggy as the title changes after viewing the data.
> Q) Is there some way to configure the name of the program as displayed in the playback menu
> For example:
> don't display extension
> convert _ to space
> use the meta tag initially instead of after the program is selected
> 
> Thanks for a super app, and apologies ahead of time for not being able to find this info...


Not sure what WHS is, but normally any service (meaning it's in the services section on your PC--ie: start -> run -> services.msc) can access network drives, whether it be SMB (Windows, Unix/Linux via SAMBA, NetWare via CIFS) or NFS, etc.

You have to reconfigure the service though to:

a) Access the data via UNC paths (ie: \\server\share\something)
b) Change the Run As (normally it would be System or something like that) so that it runs as a local user with the same userid/password as what would exist on the server you intend to access.

So if you have a windows server (or SAMBA or something) and the account is say: jsmith, with a password of: password (either in the AD domain, workgroup, local account, etc.)

You'd have the service run as:
jsmith (you have to create a local account usually on your PC and I find it easier to browse/choose the userid)
and specify the password of: password

Then as long as your PC is booted up (you don't have to login), if the service is set to start automatically, when it tries to access the UNC path, it should make the appropriate calls to the OS (Windows in this case) to access the data with the credentials you specified in the service.


----------



## MighTiVo

m_jonis said:


> Not sure what WHS is, but normally any service (meaning it's in the services section on your PC--ie: start -> run -> services.msc) can access network drives, whether it be SMB (Windows, Unix/Linux via SAMBA, NetWare via CIFS) or NFS, etc.


Thanks, I'll give it a shot.
WHS = Windows Home Server


----------



## Kershek

I was asked to provide debug information as to why my TiVo doesn't see Streambaby, which is copied below. Any help is appreciated. 


Kershek said:


> Thanks for the help!
> 
> Debug log looks rather clean, but then again, I don't know what I'm looking for
> 
> I started streambaby, went to the TiVo and selected the Music, Photos, and Showcases menu, and then came back to the PC and broke out of the program.
> 
> 
> Code:
> 
> 
> 04/30/09 22:16:08 StreamBabyConfig: WorkingDir: "C:\streambaby-0.25"
> 04/30/09 22:16:08 StreamBabyConfig: StreamBabyDir: C:\streambaby-0.25
> 04/30/09 22:16:08 StreamBabyConfig: CurDir: C:\streambaby-0.25\native
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avutil-49.dll
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avcodec-52.dll
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\avformat-52.dll
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Loaded: C:\streambaby-0.25\native\swscale-0.dll
> 04/30/09 22:16:08 FFmpegJavaConfig$1: Marking libswscale as available.
> 04/30/09 22:16:09 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
> 04/30/09 22:16:09 FFmpegExeVideoModule: FFmpegPath: C:\streambaby-0.25\native\ffmpeg.exe
> 04/30/09 22:16:09 FFmpegExeVideoModule: FFmpegExeModule: Loaded
> 04/30/09 22:16:09 StreamBabyMain: STARTING StreamBaby v0.25...
> 04/30/09 22:16:09 Main: args= start=true
> 04/30/09 22:16:09 Main: args= [email protected]
> 04/30/09 22:16:09 Listener: [email protected] [email protected]
> 04/30/09 22:16:09 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
> 04/30/09 22:16:09 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
> 04/30/09 22:16:09 Listener: name=/streambaby/
> 04/30/09 22:16:09 Listener:
> 04/30/09 22:16:09 Listener: added factory
> 04/30/09 22:16:09 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
> 04/30/09 22:16:09 Main: MDNS: http://192.168.1.10:7290/streambaby/
> 04/30/09 22:16:09 Main: streambaby ready & listening.
> 04/30/09 22:16:09 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
> 04/30/09 22:17:09 ShutdownHook: Cleaning up...


----------



## jcthorne

pmd said:


> Yes, I have. The push didn't come through. I was just hoping someone else would give it a go to confirm my results in case I'm doing something wrong. Using mind.tivo.com doesn't work with Australian accounts - the login fails.
> 
> I'm interested in the possibility that symind.tivo.com might accept connections from all Tivos (and then there would be more people possibly willing to crack that one too - not that there's much incentive for US owners I know  )


I tried symind.tivo.com from here and it does not work. Must be for non-us accounts or something. Anyway, did not work with my US account.


----------



## kearygriffin

I just added a couple of new features to the current SVN streambaby. If this seems to work pretty well I will probably compile it as a new "release" and put it on the streambaby front page. (The current "release" actually has far more problems than the most recent SVN builds, so it's about time)

- Push of series should end up in a series folder on the tivo. This can be disabled in the INI with push.folders=false
- Changed the default to always try to parse all pyTivo metadata and use it to display on the selection screen. (As opposed to only using it after selecting a movie). The selection screen will no longer (by default) use the mp4 metadata title. 
- The two settings that affect the above are use.title.cachedonly=false (old default was true) and use.title.simpleonly=true (new parameter) which tells streambaby to only use easily parseable (pyTivo/XSL) metadata titles on the selection screen.
- The ability to use multiple "--config /path/to/config.ini" entries on the command line, so specify multiple INI files. They are processed in the order they are found on the command line. (And note to Yoav: Specifying a file that does not exist will not cause an error, if it makes a difference)

I think thats it. Here is the URL:
http://streambaby.googlecode.com/files/streambaby-svn-r235.zip


----------



## mikek2

kearygriffin said:


> And just to note, in streambaby there is an INI setting:
> tivo.mind=
> Which defaults to:
> tivo.mind=mind.tivo.com:8181
> 
> Which points streambaby to the "mind" server to use.
> 
> Keary


I tried adding tivo.mind=symind.tivo.com:8181 to my streambaby INI with my Australian account tivo and push still didn't recognize my account. Its a pity we can't get this working with Aussie Tivo's. Are there any other avenues to try?

Mike


----------



## jasa

kearygriffin everything works great only request I have is to document all new functionality so users can read what functions they can use and what lines to put in .ini file


thanks again this app added tivo the missing functionality only thing that i would want my tivo to do now is to show my live desktop.


----------



## jannlinder

Could we get a "generated" 'Recently Added' folder at the top of each listing that displays (using modification time of the files) recent additions to any one section?

For instance, say your ini file has the following:


Code:


dir.1=/Volumes/Drobo/TV Shows
dir.1.name=TV Shows
dir.2=/Volumes/Drobo/Movies
dir.2.name=Movies

Then going into TV Shows would yield the following


Code:


Recently Added (this is a folder that when you selected it would display the items)
Folder or item 1
Folder or item 2
Folder or item 3

and going into Movies would yield:


Code:


Recently Added (this is a folder that when you selected it would display the items)
Folder or item 1
Folder or item 2
Folder or item 3

Recently Added would only be initiated (to save scanning time) when the user entered that folder. That way the spouse/family could quickly see the files you have most recently put in the repository. I would, of course, list the files found alphabetically by series, then by filename sort (if that value is true) with files that have no series (in the .txt or mp4 metadata) coming first in the list.

My family loves to watch tv after I have killed the commercials and this would make the Streambaby (or for that matter the PyTivoX product) a massive hit in our home.

The other thing I would suggest is the displaying of parental ratings. If the ratings field of the MP4 metadata (AtomicParsley uses the iTunEXTC Atom -- for PyTivo the metadata uses the tvRating field ) .. It would be nice to put this at the beginning of the description. This would make the info screen REALLY useful for those of us that use ratings for our MP4 files.

The format of the iTunEXTC is simple:
standard|rating|score|reasons

Standard is:
us-tv or mpaa for TV SHOW or MOVIE
Rating is:
textual rating for score.
Score is:
a number that is country-independant.
Reasons is:
TV: Violence (V), Language (L), Sexual Content (S), Dialogue (D), or Fantasy Violence (FV)
MOVIE: random ... but simply display the string

At the very least, I would hope the REASONS field would be displayed regardless of parsing the rest of the data. (Some of it...like the RATING field itself is country dependant for the wording.)

This is all displayed and described at: http://shadowofged.blogspot.com/2008/06/itunes-content-ratings.html

Comments?

Jann


----------



## jannlinder

westside_guy said:


> Looking at it pragmatically, I agree - since the original file is already on your computer, and your computer is already set to serve the file up to all of the Tivos on your home network, this artificial (and meaningless) restriction doesn't bother me.
> 
> I'd rather have this feature come with a restriction like this than not have the feature at all - assuming those are the only two options.  Right now this is my favorite "Tivo" feature...


Ben Franklin said "They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety." Doesn't this also apply to other aspects of our lives?

As far as how this option works on TiVos: Demand what you want. You are paying them! I am paying TiVo $38.85 + taxes each month. I want the ability to transfer any shows that are NOT required to be DRM'd. DRM is a slippery slope. If we, as developers, do not demand this, then the general public does not necessarily know it can be any other way.

Remember the hard drive DRM fiascos a couple of years ago? http://www.google.com/search?hl=en&...ard+drive+western+digital+seagate&btnG=Search

This is now a no-brainer. It is also stupid. For instance: I can get the cable companies' DVR and it is federally mandated for them to put a firewire connection unencrypted on the back of it so i can do what I like for personal use (legally speaking) with the video that I pay for. This was originally because firewire was to be the transfer medium from by box to my tv to my High-def digital recording device and on and on to the other parts of my stereo system.

Transferring to a different medium is a legally protected right that I have under that situation. BUT the cable company has given the right to the content providers by essentially agreeing to put in place the copy once (to the tivo) flag under ANY NEW contract they have with ANY premium provider. This is essentially cos the cable companies have also become the media companies and have a built-in reason to agree to this insane copy definition. Can you say Video-On-Demand?

BUT TiVo does not have that requirement. TiVo has buckled under and agreed, though they were NEVER required to agree to this, that Copy Once means the copy stored on their sealed hard drive. The TiVo argument that has never taken place with Cable Labs should be that this is NOT the Copy Once. They did not previously have the "capital" or the political muscle to take on Cable Labs, but considering the huge profits they are now seeing from the Echostar lawsuits, etc, couldn't thet take this on now?

My point being that when DRM wins, end users lose and if we are not willing to push them when it does not make sense to DRM something, we are buckling ourselves and only have ourselves to blame.

Come to think of it, it is against federal law for cable companies to DRM local SD or HD broadcasts on their own cable systems. Why does TiVo think they can initiate DRM on our own content (no matter where that content comes from)?

By the way, the "Digital Tuning Adapter" that cable companies are bringing out and that Tivo has signed on to is NOT just for preserving their much needed bandwidth to your home, it also disables EVERY SINGLE cable-card television on the market today.

Think about it, your TV with a cable card slotc now decrypts the signal from the cable company and displays it on your TV. When the cable companies put this tuning adapter on the market in each of their markets, all cable card ready TVs will become useless! The TVs were never engineered to use DTAs. TiVo owners do not worry about that right now, however, think about it, DTAs are NOT fully compatible with SERIES 2 TiVos. (See http://tivocommunity.com/tivo-vb/showthread.php?p=6975004#post6975004 ) How many of them are on the market? How many TiVo users will this affect (can you say Millions)?

TiVo owners are generally more tech-savvy than other cable viewers. We need to be at the forefront of this fight.

This is another step that, if one thinks about it, is just wrong!

Just some food for thought.

Jann


----------



## westside_guy

jannlinder said:


> Ben Franklin said "They who can give up essential liberty to obtain a little temporary safety, deserve neither liberty nor safety." Doesn't this also apply to other aspects of our lives?


That's a great quote. Problem is, I don't see how it's even remotely applicable to the subject that was being discussed. 

I'm not giving up anything, since I have the original file. I can transfer it wherever I want to. I can push it (or pull it) to any Tivo I own. What, exactly, is it you think you're giving up in this scenario?


----------



## jannlinder

westside_guy said:


> That's a great quote. Problem is, I don't see how it's even remotely applicable to the subject that was being discussed.
> 
> I'm not giving up anything, since I have the original file. I can transfer it wherever I want to. I can push it (or pull it) to any Tivo I own. What, exactly, is it you think you're giving up in this scenario?


I am applying that to DRM in general and the heavy hand in which TiVo applies it to MY hardware and MY media in particular.

Franklin was specifically speaking of anyone giving up ANY of their rights. In this case, TiVo is imposing their idea of what I can do with that specific file once it is on my TiVo. If all TiVo shows were uncopyable, that would be one thing. By not implementing an interface allowing the PUSHER to specify whether or not to apply copy protection, TiVo is using too heavy a hand.

It equates to the following:

"They who give the right NOT to have DRM imposed in order to obtain the ability to view their media on a TiVo, deserve neither a DRM-free world nor the ability to view their own media on a TiVo"

I am not equating liberty to the right to watch TV (as there is no such right), I am equating liberty to the imposition of DRM.

There should be a law against imposing DRM when the Federal government does NOT say you should and when contracts with your vendors does not say you should. In this case the Cable Labs (as flawed as that agreement is) says you must honor the Copy Once flag, but it does NOT say and has no authority over applying DRM to MY MEDIA. There is such a law in regards to cable operators and local networks but there is no law against device manufacturers applying DRM to media that is not covered by copyright. They are assuming all media is covered by copyright and are playing babysitter. This is not valid. TiVo is usually better than this.

</end of rant>

Jann


----------



## sullydavid

MighTiVo said:


> 1) I have movies on WHS so I understand I can't run streambaby as a service on my computer as it wouldn't have access to networked drives.
> Q) How do I set up Streambaby to auto start when he computer boots?
> (Note there is a user "media" on this windows 7 HTPC that logs in automatically so I just need to program to start on the users login and somehow run hidden)


I have installed this on WHS and have no problems with it as a service. At this point I do not use it for any networked drives, but you can specify a username and password under the service options for it to run as. As long as that user has access to the network share, then it should be fine.


----------



## BJezz

I am very much against DRM and I find the restrictions imposed on protected shows prevent me from using my equipment in what should be a reasonable way. As recently posted in another thread, despite wanting a second TiVo for the bedroom to gain extra tuners and the ability to watch recordings on either TiVo, so much of what we record is protected that it doesn't seem worth it. I'm more likely to use a video distribution system than buy another TiVo.

But, in TiVo's defence (and I may be wrong here, but this is how I understand it) they aren't the ones imposing the restrictions, but are implementing the restrictions forced on them in order to use cablecards. And I don't want to lose cablecards.

I agree that imposing DRM restrictions on content streamed from our own machines is pointless, but at the same time I am always going to treat the PC copy as the master anyway, so it doesn't actually cause a problem for me. But I admit that even when I've downloaded free web videos through the TiVo, I've been puzzled as to why they are restricted when I can typically pull the same video through the web-site with no restrictions on it.


----------



## jannlinder

BJezz said:


> But, in TiVo's defence (and I may be wrong here, but this is how I understand it) they aren't the ones imposing the restrictions, but are implementing the restrictions forced on them in order to use cablecards. And I don't want to lose cablecards.


Unfortunately you are wrong here.

Once the original device was approved by Cable Labs, they had nothing to say (no approval needed) for future changes to the product that do not take an encrypted signal from the CABLE IN port and decrypt it with the Cable Card. The video-over-ip function was brought out later and has nothing to do with Cable Labs. Cable Labs legally cannot touch any video-over-ip functionality.

This was a TiVo decision in order not to be sued by content providers. That is all it was. Do not let anyone convince you otherwise.

By the way, the new Hauppage HD PVR ( http://www.google.com/url?sa=t&sour...56Kn3PPoK5ipMZmLQ&sig2=b2HFkF6j5mFnZE7hYhohTw ) records off component. Why doesn't TiVo have the same option. This is a CHEAP option ($250-ish bux). I know it is not "1st generation copy" (which is probably why no lawsuits are pending against it) however, it is a viable substitute and gets the elephant in the room (Cable Labs) out of any future decision making that has to do with product lines!

Jann


----------



## BJezz

I'm in agreement that I don't understand why the Cable Labs restrictions are being applied to web content. Although if the provider locked their content down and would only supply it to the TiVo with copy protection, that would make sense for that content only.

I also agree that if someone's goal is to end up with an unrestricted video, they'll get that video. The TiVo restrictions just serve to frustrate and limit those that just want to take advantage of features such as multi room viewing. I mean if a show is protected and I want the flexibility to choose which room I watch the recording in, I have to record it in both rooms, so waste space and get no advantage of having additional tuners.

I feel that this is going off topic as Streambaby doesn't really suffer these restrictions if you leave the master on the PC, so I'm going to end here.


----------



## jannlinder

BJezz said:


> I feel that this is going off topic as Streambaby doesn't really suffer these restrictions if you leave the master on the PC, so I'm going to end here.


Agreed to end it here..

Jann


----------



## kupe

Yoav and I were discussing some issues with Streambaby, and he suggested I carry this over here.

I'm running PyTivoX 1.2- the current release including Streambaby. Here are the issues I'm seeing:

1) Several .MOV files will not play to my TivoHD with Streambaby. They are all Star Trek HD movie trailers from the Apple website. When I try to stream them, I get Error: 0xffff Those files do play just fine if I download them from Now Playing to my Tivo HD. Here is the Terminal info for one of the files:



Code:


FFmpeg version SVN-r18731, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: [email protected]_path --arch=i386 --cpu=i686 --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libfaad --enable-libx264 --extra-cflags='-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2-2.7/include -I/Users/yoav/src/faac-1.28/include -I/Users/yoav/src/x264' --extra-ldflags='-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2-2.7/libfaad/.libs -L/Users/yoav/src/faac-1.28/libfaac/.libs -L/Users/yoav/src/x264/'
  libavutil     50. 3. 0 / 50. 3. 0
  libavcodec    52.28. 0 / 52.28. 0
  libavformat   52.32. 0 / 52.32. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libswscale     0. 7. 1 /  0. 7. 1
  built on May  2 2009 14:48:06, gcc: 4.0.1 (Apple Inc. build 5484)

Seems stream 0 codec frame rate differs from container frame rate: 47.95 (5994/125) -> 23.98 (24000/1001)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/dave/Desktop/Tivo Shares/Star Trek.mov':
  Duration: 00:00:37.08, start: 0.000000, bitrate: 9466 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 1920x800, 23.98 tbr, 23.98 tbn, 47.95 tbc
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16
    Stream #0.2(eng): Data: tmcd / 0x64636D74
At least one output file must be specified

Streambaby seems to think the file is directly playable by Tivo and tries to stream it as-is. Note that the file does stream if I choose a different Quality to force a transcode.

2) After streaming any movie, the movie's name changes in the file list in Streambaby. Streambaby changes the name to numbers which appear to represent the running time of the movie. When I check the file on my Mac, it is still named properly by the movie title.

So I did some digging with MetaX, and here's what I found. The title field is correct for all the movies. No need to change any of them. The problem seems to be the fact that the running time is in the metadata "short description" field (evidently a bug in Toast 9). This appears to be what Streambaby is relying on. When I edit that field and change it to blank, Streambaby again displays the correct title.

So, that brings me to this question- Is that really the desired behavior for Streambaby? i.e. to use the Short Description metadata over the Title metadata? In any case, this appears to be a change from earlier versions of Streambaby, where I did not have this renaming issue.

Thanks!

Kupe


----------



## kearygriffin

kupe said:


> Yoav and I were discussing some issues with Streambaby, and he suggested I carry this over here.
> 
> I'm running PyTivoX 1.2- the current release including Streambaby. Here are the issues I'm seeing:
> 
> 1) Several .MOV files will not play to my TivoHD with Streambaby. They are all Star Trek HD movie trailers from the Apple website. When I try to stream them, I get Error: 0xffff


Could you post the URL to one of the trailers that you are having a problem with? I'll have to take a look at the file and see if I can figure out exactly what TiVo doesn't like about it (or what streambaby is doing wrong to it). It looks OK from the posting(?). One of the open questions in my mind is how TiVo likes/dislikes/detects interlaced MP4 files. I'm not sure where in the MP4 file it denotes a file as "interlaced". The reason I bring this up is the fact that the container has a frame-rate double the actual frame rate of the video stream in the file, and I suspect that something like this is how interlaced is denoted in MP4 files.



> Those files do play just fine if I download them from Now Playing to my Tivo HD.


This is *probably* because when you transfer them from Now Playing (via pyTivo) it transcodes the movie to mpeg (same as when you change the quality in streambaby to something other than Same)


> 2) After streaming any movie, the movie's name changes in the file list in Streambaby. Streambaby changes the name to numbers which appear to represent the running time of the movie. When I check the file on my Mac, it is still named properly by the movie title.
> 
> So I did some digging with MetaX, and here's what I found. The title field is correct for all the movies. No need to change any of them. The problem seems to be the fact that the running time is in the metadata "short description" field (evidently a bug in Toast 9). This appears to be what Streambaby is relying on. When I edit that field and change it to blank, Streambaby again displays the correct title.
> 
> So, that brings me to this question- Is that really the desired behavior for Streambaby? i.e. to use the Short Description metadata over the Title metadata? In any case, this appears to be a change from earlier versions of Streambaby, where I did not have this renaming issue.


I can reverse the order of detection, as I was really guessing when I wrote the code to handle the MP4 metadata reading. Currently it does the following:
If desc atom metadata exists use as title
else if (c)nam atom metadata exists use as title

Unless someone says otherwise, I will swap the logic.

(Having said that, the latest SVN of streambaby does not even use MP4 metadata by default for generating titles on the selection screen, for speed reasons. It only uses pyTivo data. It does still use the MP4 metadata for the information after you select the video)


----------



## kupe

kearygriffin said:


> Could you post the URL to one of the trailers that you are having a problem with? I'll have to take a look at the file and see if I can figure out exactly what TiVo doesn't like about it (or what streambaby is doing wrong to it).


Sure! Here it is- it's a pretty large file.

[Hmmm- just noticed that link doesn't always work. Here's the page it's on- I'm using the large 1080p file- the first one entitled "Film Clip"]
http://www.apple.com/trailers/paramount/startrek/hd/



kearygriffin said:


> I can reverse the order of detection, as I was really guessing when I wrote the code to handle the MP4 metadata reading. Currently it does the following:
> If desc atom metadata exists use as title
> else if (c)nam atom metadata exists use as title
> 
> Unless someone says otherwise, I will swap the logic.


Wow! Thank you! That certainly has my vote. 

Kupe


----------



## Iluvatar

Has anyone ever gotten further with changing AVC profile levels? I have been attempting to do so without any luck. I have used tsMuxer (also tried h264info) to change the profile levels from High 5.1 to High 4.1 or Main 4.0 and while they will play on my computer just fine and codec info programs verify that the profile was changed, the TiVo just chokes on them.

They will play fine for 2-3 seconds and then pause, skip a few seconds to catch up and then play fine for 2-3 seconds and pause again. Over and over. The files range from 300MB to 8GB, are typically in the 3000-8000kbps range and are all originally h264+ac3 MKV files before I change them into MP4 files. I use the latest SVN.

Thanks.


----------



## rfryar

Iluvatar said:


> Has anyone ever gotten further with changing AVC profile levels? I have been attempting to do so without any luck. I have used tsMuxer (also tried h264info) to change the profile levels from High 5.1 to High 4.1 or Main 4.0 and while they will play on my computer just fine and codec info programs verify that the profile was changed, the TiVo just chokes on them.
> 
> They will play fine for 2-3 seconds and then pause, skip a few seconds to catch up and then play fine for 2-3 seconds and pause again. Over and over. The files range from 300MB to 8GB, are typically in the 3000-8000kbps range and are all originally h264+ac3 MKV files before I change them into MP4 files. I use the latest SVN.
> 
> Thanks.


Do you have a small sample video that we can toy with to resolve the issue. I recently got my camcorder videos to play, I did not have to rencode the video, just pulled it out as a raw H264, reencode the audio as AAC LC, and remux and they streamed fine for me. But I am going to assume my camcorder is not the same as yours.

But if you have a download link for a sample (Any size, just a fast dl link) I will see what I can get working.

Rick


----------



## Iluvatar

rfryar said:


> Do you have a small sample video that we can toy with to resolve the issue. I recently got my camcorder videos to play, I did not have to rencode the video, just pulled it out as a raw H264, reencode the audio as AAC LC, and remux and they streamed fine for me. But I am going to assume my camcorder is not the same as yours.
> 
> But if you have a download link for a sample (Any size, just a fast dl link) I will see what I can get working.
> 
> Rick


PM sent


----------



## jcthorne

BJezz said:


> I agree that imposing DRM restrictions on content streamed from our own machines is pointless, but at the same time I am always going to treat the PC copy as the master anyway, so it doesn't actually cause a problem for me. But I admit that even when I've downloaded free web videos through the TiVo, I've been puzzled as to why they are restricted when I can typically pull the same video through the web-site with no restrictions on it.


Are you guys referring to the copy restricition on files pushed to the tivo? This is not actually Tivo's doing. The copy restricted setting is selected by the application pushing the file, in this case pyTivo or Streambaby. Unforturnatly, the unducumented calls being used to implement the push came from trapping data exchange beteween tivo and the pc that happened to be copy restricted. There have been no unrestricted pushed media examples to capture and correct this since. Its a reverse engineering problem, not tivo doing evil DRM deals. The Tivo thinks the file being sent is requesting copy protection.


----------



## BJezz

That actually makes a lot more sense than it simply being the default position taken on all Internet downloads. I appreciate that the push uses technology not really meant for community development, though it would be great if TiVo did update their SDK. I also wonder why Internet shows are protected that are freely available to download anyway.

Actually to get more on topic, I've noticed a small bug with Streambaby. Go into a file with enough metadata to permit scrolling up/down to view it all. Then play the file. When you return from the video to the previous screen (i.e. the one with metadata at top and play/quality/push at the bottom) then the metadata is displayed twice at the top but overlayed on each other, one version you can scroll up and down and the other is fixed. If the two don't line up it is probably unreadable. If it makes a difference, this is on a series 3 in HD.

But excellent program so thank you! It is great to be able to stream things directly without having to transfer first. It's also great to be able to skip to a scene in a film without having to wait for the film to transfer first.


----------



## MighTiVo

BJezz said:


> That actually makes a lot more sense than it simply being the default position taken on all Internet downloads. I appreciate that the push uses technology not really meant for community development, though it would be great if TiVo did update their SDK. I also wonder why Internet shows are protected that are freely available to download anyway.


Drives me nuts that I can not MRV the free VOD programs. 
I would like to have a single TiVo configured to download and organize these programs then watch from any TiVo in the house instead of having them set up everywhere.


----------



## kearygriffin

MighTiVo said:


> Drives me nuts that I can not MRV the free VOD programs.
> I would like to have a single TiVo configured to download and organize these programs then watch from any TiVo in the house instead of having them set up everywhere.


Ah! Now I get it. I couldn't figure out why people cared in the least that a video they just pushed to their tivo *from* their PC was copy protected or not. They obviously already had a non-copy protected version.

Having only a single TiVo here, I never thought about possibly wanting to move it from the living room TiVo to the bedroom TiVo... (And if was mentioned before it went right over my head)

Having said that, there's not much we can do at the moment. The only examples of unprotected TivoCast videos I have seen mentioned (which we could use to reverse engineer) are now defunct (at least as far as transfer to TiVo goes...)


----------



## txporter

MighTiVo said:


> Drives me nuts that I can not MRV the free VOD programs.
> I would like to have a single TiVo configured to download and organize these programs then watch from any TiVo in the house instead of having them set up everywhere.


While not a solution that everyone can use, I get around DRM protection by outputting my component video from my main TivoHD to a component amp/distribution box and send it to all of my other TVs. I can watch anything stored on my main TivoHD on any TV in my house regardless of whether or not it is protected. In case of recording conflicts, I record anything that cannot be transferred on my main HD and all of the network stuff on the other one.

Jason


----------



## trashjunkid

Great Application. Love the fast forwarding plus streaming capabilities- and the ability to play srt subtitles.


Two questions:
1) Can the font size of the closed captions/subtitles be increased. I have a 1080p tv, and the font is rather smallish. I have tried bumping up the font numbers in the meta-720.css file, and the meta-480.css for good measure, to no avail or obvious effect.

2) The subtitles work great with an external srt file, but I have DVD ISO's that play from a virtual drive (so VOB files) and it does not recognize/display the embedded captions there. Any possibility of getting the subtitles to display under these circumsatnces?

Thanks again- great application,
Trashjunkid


----------



## bkdtv

Is MPG file playback limited to MPEG-2 on the TiVo?

Among PS3 users, the mkv2vob is a popular utility that will remux MKV videos into MPEG-4 MPGs. It has the option to automatically re-encode DTS tracks and 640Kbps DD tracks into 448Kbps DD.


----------



## moyekj

trashjunkid said:


> Great Application. Love the fast forwarding plus streaming capabilities- and the ability to play srt subtitles.
> 
> Two questions:
> 1) Can the font size of the closed captions/subtitles be increased. I have a 1080p tv, and the font is rather smallish. I have tried bumping up the font numbers in the meta-720.css file, and the meta-480.css for good measure, to no avail or obvious effect.
> 
> 2) The subtitles work great with an external srt file, but I have DVD ISO's that play from a virtual drive (so VOB files) and it does not recognize/display the embedded captions there. Any possibility of getting the subtitles to display under these circumsatnces?
> 
> Thanks again- great application,
> Trashjunkid


1) Put following in streambaby.ini
cc.fontsize=value
(value can be medium, small, tiny or an integer. small is default value)

2) Not supported, but you can pretty easily create srt files from VOB/mpeg files using t2extract.

P.S. Not all options are documented, but run streambaby --help to get full list of options.


----------



## trashjunkid

Hope Somebody's up:

I monkeyed around with the ini file, including specifying the ffmpeg path to a different version on my computer....

Anyway, something I did broke streambaby. I tried deleting and opening streambaby up again and it did not fix it.

Whenever I go to play a file I get an error on-screen: Resource unavailable.

(This all started because streambaby, as I installed it with the default settings, wasn't seeing or playing flv files.... so I added the extensions=....,flv and found that didn't do it, though the files did show up they did not play, and so set off to specify a different version of ffmpeg...)

I think it's not finding the right ffmpeg, but I don't know.

There is one error message on the cmd screen: "Unable to rename first-run script."

Help.

And thanks by the way- I look forward to bigger subtitles when I get streambaby unbroken.

-Trashjunkid

(I'm on windows vista, for what it's worth)


----------



## trashjunkid

Well, I ended up rebooting my computer and restarting the tivo. Between those two steps I got streambaby back again.

Still not sure why streambaby can't see/stream flv.
For future reference, what ffmpeg is downloaded by the automated script and where does it put the file? Is there a better more comprehensive ffmpeg I could be using?

-Trashjunkid


----------



## Kershek

Unfortunately, I still cannot see StreamBaby on my TiVo even though I'm running TiVo Desktop with no issues. Can anyone help? I posted debug information when requested on post #1104.


----------



## mphtrilogy

Hi,

I am having trouble with seeing my video files they are on my external L: Drive,

is this the correct Config File:

#
# ./streambaby --help for more configuration file options
#

#dir.1=L:\
#dir.1.name=\TIVO-RECORDINGS
#dir.2=L:\ 
#dir.2.name=L:\TIVO-RECORDINGS
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Thanks for the help!!!


----------



## trashjunkid

You've got to remove the # from the top of the lines that you've altered in order for them to be implemented.
Here's what your streambaby.ini ought to look like with your changed lines:



Code:


#
# ./streambaby --help for more configuration file options
#

dir.1=L:\
dir.1.name=\TIVO-RECORDINGS
dir.2=L:\ 
dir.2.name=L:\TIVO-RECORDINGS
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


----------



## kearygriffin

trashjunkid said:


> Well, I ended up rebooting my computer and restarting the tivo. Between those two steps I got streambaby back again.
> 
> Still not sure why streambaby can't see/stream flv.
> For future reference, what ffmpeg is downloaded by the automated script and where does it put the file? Is there a better more comprehensive ffmpeg I could be using?
> 
> -Trashjunkid


In the streambaby.ini add:
extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv

This should enable streambaby to "see" FLV files. The above is also the default for latest SVN version of streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r235.zip

The ffmpeg downloaded is "ffmpeg-r15986-gpl-shared-win32.tar.bz2 " from the streambaby google-code site. (originally from the http://ffmpeg.arrozcru.org/builds/ web site)

It is downloaded into the native subdirectory of streamabby.


----------



## kearygriffin

Kershek said:


> Unfortunately, I still cannot see StreamBaby on my TiVo even though I'm running TiVo Desktop with no issues. Can anyone help? I posted debug information when requested on post #1104.


Hi Kershek,

Everything looked pretty normal in the log, so I am really not sure. Do you have any routers/etc between your TiVo and the PC running streambaby? The most common cause for something like this is some device not passing the mDNS (bonjour/zeroconf) messages between the PC and the TiVo (not passing multicast packets). The problem with this theory is that I *think* TiVo Desktop would have similar issues if this was the problem.

Also, you may want to make sure you are using the latest SVN version of streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r235.zip
and make sure you are running it with the streambaby.bat file and not as a service. This version has some extra settings to disable IPV6 which can also cause problems with the TiVo finding streambaby.


----------



## mphtrilogy

trashjunkid said:


> You've got to remove the # from the top of the lines that you've altered in order for them to be implemented.
> Here's what your streambaby.ini ought to look like with your changed lines:
> 
> 
> 
> Code:
> 
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=L:\
> dir.1.name=\TIVO-RECORDINGS
> dir.2=L:\
> dir.2.name=L:\TIVO-RECORDINGS
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290


Thank you very much it worked great!

I am raw with this stuff.


----------



## jasa

just tried out new .27 work great thanks keary


----------



## BJezz

I've added OGM to my list of extensions and streamed videos without issue.


----------



## granroth

I realize that streambaby checks the existing parameters of a given video file and if it determines that it is not natively playable by the TiVo, then it will transcode it. My question is this: What checks is streambaby doing, exactly? As in, what is the actual acceptable range of "native" values?

I ask because I cannot seem to find those values through trial and error. No matter how I encode my files (within the h.264 realm), it always ends up being transcoded while streaming. One of the tests included the Handbrake example on the streambaby wiki... and I still saw ffmpeg pegged at 100% CPU while streaming it. My processors apparently aren't fast enough to do this in real-time for an HD source and so I want to "pre-encode" them.

Charts? Tables? Links to source files? Anything will be appreciated.


----------



## moyekj

granroth said:


> I realize that streambaby checks the existing parameters of a given video file and if it determines that it is not natively playable by the TiVo, then it will transcode it. My question is this: What checks is streambaby doing, exactly? As in, what is the actual acceptable range of "native" values?
> 
> I ask because I cannot seem to find those values through trial and error. No matter how I encode my files (within the h.264 realm), it always ends up being transcoded while streaming. One of the tests included the Handbrake example on the streambaby wiki... and I still saw ffmpeg pegged at 100% CPU while streaming it. My processors apparently aren't fast enough to do this in real-time for an HD source and so I want to "pre-encode" them.
> 
> Charts? Tables? Links to source files? Anything will be appreciated.


 The ffmpeg & handbrake samples given in the wiki page should produce natively streamable mp4 files if encoding from most common mpeg2 sources with AC3 audio. Maybe you should start with a video that is known to stream natively such as:
http://tivostream.googlecode.com/files/test.mp4
Try that out and see what happens in your environment.


----------



## pmd

kearygriffin said:


> And just to note, in streambaby there is an INI setting:
> tivo.mind=
> Which defaults to:
> tivo.mind=mind.tivo.com:8181
> 
> Which points streambaby to the "mind" server to use.
> 
> Keary


Somewhat magically, MP4 push is now working on Australian TiVos, using the symind server I mentioned previously and wmcbrine's pyTivo (after changing mind.py).

But, it's not working in streambaby 

I captured the network traffic to confirm that the config option is working properly - it's talking to symind.tivo.com - but the streambaby log says that the login failed. It's using the correct username and password.

There must have been some subtle change in porting the code from Python (perhaps a 'simplification' ;-) ). Is there a way to get more debug information about the push - like pyTivo's dumping of the XML it sends?


----------



## moyekj

pmd said:


> Is there a way to get more debug information about the push - like pyTivo's dumping of the XML it sends?


Enable debug mode as detailed in debugging_problems then examine/post the streambaby.log


----------



## pmd

moyekj said:


> Enable debug mode as detailed in debugging_problems then examine/post the streambaby.log


Here's my log, running streambaby-0.27 on OS X 10.5.7 on an Australian TiVo HD with the networking package enabled:



Code:


05/21/09 19:25:11 StreamBabyConfig: WorkingDir: /Users/pauld/Downloads/streambaby-0.27
05/21/09 19:25:11 StreamBabyConfig: StreamBabyDir: /Users/pauld/Downloads/streambaby-0.27
05/21/09 19:25:11 StreamBabyConfig: CurDir: /Users/pauld/Downloads/streambaby-0.27
05/21/09 19:25:11 FFmpegJavaConfig$1: Loading avutil, default: avutil
05/21/09 19:25:11 FFmpegJavaConfig$1: Error attempting toload ffmpeg libraries: Unable to load library 'avutil': dlopen(libavutil.dylib, 1): image not found
05/21/09 19:25:11 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
05/21/09 19:25:11 FFmpegExeVideoModule: FFmpegPath: ffmpeg
05/21/09 19:25:11 FFmpegExeVideoModule: FFmpegExeModule: Loaded
05/21/09 19:25:11 StreamBabyMain: STARTING StreamBaby v0.27...
05/21/09 19:25:11 Main: args= start=true
05/21/09 19:25:11 Main: args= [email protected]
2009-05-21 19:25:12.139 java[2527:c0b] Can't open input server /Library/InputManagers/Smart Crash Reports
05/21/09 19:25:12 Listener: [email protected] [email protected]
05/21/09 19:25:12 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
05/21/09 19:25:12 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
05/21/09 19:25:12 Listener: name=/streambaby/
05/21/09 19:25:12 Listener: 
05/21/09 19:25:12 Listener: added factory
05/21/09 19:25:12 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
05/21/09 19:25:12 Main: MDNS: http://192.168.1.2:7290/streambaby/
05/21/09 19:25:12 Main: streambaby ready & listening.
05/21/09 19:25:12 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
05/21/09 19:25:17 TiVoListener: addService: DVR-21FD
05/21/09 19:25:17 TiVoListener: Updating service: _http._tcp.local. (DVR-21FD)
05/21/09 19:25:17 TiVoListener: resolveService: _http._tcp.local. (DVR-21FD)
05/21/09 19:25:17 TiVoListener: jmDns found TiVo: DVR-21FD, tsn: 6**********21FD
...
...
05/21/09 19:25:48 VideoModuleHelper: GetVidInfo: file:/Volumes/Store/Video/demnow.mp4
05/21/09 19:25:48 FFmpegExeVideoModule: FFmpegCmd: ffmpeg -i /Volumes/Store/Video/demnow.mp4
05/21/09 19:25:49 FFmpegExeVideoModule: ChannelStr to parse: stereo, s16
05/21/09 19:25:49 FFmpegExeVideoModule: VideoInfo:
uri: file:/Volumes/Store/Video/demnow.mp4, Container: mp4, Duration: 3545.15 seconds
Video: h264 320x240 14.98 fps
  PixAspect: 1.0, Aspect: 1.3333334
Audio: aac 32000HZ 0 channels
05/21/09 19:25:49 HostContext: key=mpos:file:/Volumes/Store/Video/demnow.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/21/09 19:25:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/21/09 19:25:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/21/09 19:25:49 HostContext: compKey=6**********21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/21/09 19:25:49 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/21/09 19:25:49 HostContext: key=mpos:file:/Volumes/Store/Video/demnow.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/21/09 19:25:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/21/09 19:25:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/21/09 19:25:49 HostContext: compKey=6**********21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/21/09 19:25:49 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/21/09 19:25:52 ButtonScreen: action=down
05/21/09 19:25:53 ButtonScreen: action=down
05/21/09 19:25:56 ButtonScreen: code=6 rawcode=16778246
05/21/09 19:25:56 InternalPush: intPush: file:/Volumes/Store/Video/demnow.mp4, tivo: DVR-21FD
05/21/09 19:25:56 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/21/09 19:25:57 InternalPush: Failed to login to tivo-push-control: [email protected]***, mypassword
05/21/09 19:25:57 PlayScreen$pushTivoButtonHandler$1: Push Failed: demnow.mp4->DVR-21FD

And here's the streambaby.ini I'm using:



Code:


#
# ./streambaby --help for more configuration file options
#

dir.1=/Volumes/Store/Video
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.2
# port to use
#port=7290

tivo.mind=symind.tivo.com:8181
[email protected]***
tivo.password=mypassword

When I choose Push to DVR-21FD, streambaby thinks for a second or so, then says 'Push failed'. As I said previously, pyTivo works OK using symind.tivo.com.

I think this will need more code to log the login transaction. Thanks for any help.


----------



## mphtrilogy

Hi,

It seems to be working well, but all my videos stop midway through..

Any suggestions?


----------



## BJezz

Do they stop completely, or do they pause for a few seconds with a rebuffering message, then carry on?

If it's the latter, it's currently unavoidable using this software as the TiVo has a fixed buffer size, so once it is full it will pause at the end of the buffer while it starts a new buffer running. To avoid this, you can use something like pyTivo to copy larger videos to the Now Playing List instead of streaming them. This way they are copied to the TiVo's hard disk and not subject to the buffer limitations.

If they stop completely we may need some more information. How long are the videos and how far do you get before they stop? What format are the videos in? You may also need to post your log files.


----------



## mphtrilogy

BJezz said:


> Do they stop completely, or do they pause for a few seconds with a rebuffering message, then carry on?
> 
> If it's the latter, it's currently unavoidable using this software as the TiVo has a fixed buffer size, so once it is full it will pause at the end of the buffer while it starts a new buffer running. To avoid this, you can use something like pyTivo to copy larger videos to the Now Playing List instead of streaming them. This way they are copied to the TiVo's hard disk and not subject to the buffer limitations.
> 
> If they stop completely we may need some more information. How long are the videos and how far do you get before they stop? What format are the videos in? You may also need to post your log files.


It's not a Buffer issue, they stop completely.

This is from the notepad of my last session:
05/15/09 11:22:34 Listener: added factory
05/15/09 11:22:34 Main: streambaby ready & listening.
05/15/09 11:22:36 Factory: HME receiver connected
05/15/09 11:23:36 Listener: 192.168.1.5 83c71053-32e9-4ec7-975e-6538f21c4865.stream HTTP GET - to factory /streambaby/
05/15/09 11:24:12 Listener: 192.168.1.5 I/O Exception handling HTTP GET 83c71053-32e9-4ec7-975e-6538f21c4865.stream: Connection reset by peer: socket write error
05/15/09 11:29:48 Listener: connection to receiver closed
05/15/09 11:29:48 Factory: HME receiver disconnected
05/15/09 12:30:39 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
05/15/09 12:30:44 Factory: HME receiver connected
05/15/09 12:32:19 Listener: 192.168.1.5 0f30b6bd-a58d-43d5-ae7c-f0c4f1b495b0.stream HTTP GET - to factory /streambaby/
05/15/09 12:42:33 Listener: 192.168.1.5 I/O Exception handling HTTP GET 0f30b6bd-a58d-43d5-ae7c-f0c4f1b495b0.stream: Connection reset by peer: socket write error
05/15/09 12:42:59 Listener: connection to receiver closed
05/15/09 12:42:59 Factory: HME receiver disconnected
05/15/09 12:43:03 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
05/15/09 17:04:48 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
05/15/09 17:05:01 Factory: HME receiver connected
05/15/09 17:06:39 Listener: 192.168.1.5 0757db4d-578f-475e-b88e-69126d60a39a.stream HTTP GET - to factory /streambaby/
05/15/09 17:26:11 Listener: 192.168.1.5 I/O Exception handling HTTP GET 0757db4d-578f-475e-b88e-69126d60a39a.stream: Connection reset by peer: socket write error
05/15/09 17:50:28 Listener: 192.168.1.5 658f922d-3c17-4ca8-8dc0-abec356461dc.stream HTTP GET - to factory /streambaby/
05/15/09 17:50:46 Listener: 192.168.1.5 I/O Exception handling HTTP GET 658f922d-3c17-4ca8-8dc0-abec356461dc.stream: Connection reset by peer: socket write error
05/15/09 17:51:20 Listener: 192.168.1.5 acde7637-6b54-4c71-897f-6f7f1a45f4be.stream HTTP GET - to factory /streambaby/
05/15/09 17:51:35 Listener: 192.168.1.5 I/O Exception handling HTTP GET acde7637-6b54-4c71-897f-6f7f1a45f4be.stream: Connection reset by peer: socket write error
05/15/09 17:51:54 Listener: 192.168.1.5 9c85faa8-6767-432e-a419-4f5ff36e9057.stream HTTP GET - to factory /streambaby/
05/15/09 18:12:01 Listener: 192.168.1.5 I/O Exception handling HTTP GET 9c85faa8-6767-432e-a419-4f5ff36e9057.stream: Connection reset by peer: socket write error
05/15/09 19:10:19 Listener: 192.168.1.5 0a4fb177-4250-4b65-9c9d-b6efdf596f29.stream HTTP GET - to factory /streambaby/
05/15/09 19:12:16 Listener: 192.168.1.5 I/O Exception handling HTTP GET 0a4fb177-4250-4b65-9c9d-b6efdf596f29.stream: Connection reset by peer: socket write error
05/15/09 19:12:16 Listener: 192.168.1.5 c8727d7a-1178-4a8f-8fd2-01020e58ce2d.stream HTTP GET - to factory /streambaby/
05/15/09 19:12:44 Listener: 192.168.1.5 I/O Exception handling HTTP GET c8727d7a-1178-4a8f-8fd2-01020e58ce2d.stream: Connection reset by peer: socket write error
05/15/09 19:12:45 Listener: 192.168.1.5 d71fa44d-9204-45db-9057-69c13ed6417a.stream HTTP GET - to factory /streambaby/
05/15/09 19:13:01 Listener: 192.168.1.5 I/O Exception handling HTTP GET d71fa44d-9204-45db-9057-69c13ed6417a.stream: Connection reset by peer: socket write error
05/15/09 19:13:16 Listener: 192.168.1.5 decad463-e6e7-4dd5-b482-e8b30fd0e8c9.stream HTTP GET - to factory /streambaby/
05/15/09 19:14:01 Listener: 192.168.1.5 I/O Exception handling HTTP GET decad463-e6e7-4dd5-b482-e8b30fd0e8c9.stream: Connection reset by peer: socket write error
05/15/09 19:14:02 Listener: 192.168.1.5 885fe81b-4f74-401e-b9e4-3f290b579644.stream HTTP GET - to factory /streambaby/
05/15/09 19:14:40 Listener: 192.168.1.5 I/O Exception handling HTTP GET 885fe81b-4f74-401e-b9e4-3f290b579644.stream: Connection reset by peer: socket write error
05/15/09 19:15:06 Listener: 192.168.1.5 08e4755d-daec-4b3d-baa7-5e85ebc77e69.stream HTTP GET - to factory /streambaby/
05/15/09 19:37:05 Listener: 192.168.1.5 I/O Exception handling HTTP GET 08e4755d-daec-4b3d-baa7-5e85ebc77e69.stream: Connection reset by peer: socket write error
05/15/09 19:48:49 Listener: connection to receiver closed
05/15/09 19:48:49 Factory: HME receiver disconnected
05/15/09 19:48:50 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
05/15/09 19:49:08 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/


----------



## Yoav

mphtrilogy said:


> It's not a Buffer issue, they stop completely.


That looks very similar to an old bug related to timeouts that was fixed a few months ago. Which version of streambaby are you using? And are you using any network firewalls or is your router configured to reset connections after a while?


----------



## kearygriffin

pmd said:


> Somewhat magically, MP4 push is now working on Australian TiVos, using the symind server I mentioned previously and wmcbrine's pyTivo (after changing mind.py).
> 
> But, it's not working in streambaby


Could you try the new SVN version I just uploaded:
http://streambaby.googlecode.com/files/streambaby-svn-r237.zip

It seems that symind.tivo.com is using a self-signed SSL certificate so streambaby would reject the connection. I've added some code to accept self-signed SSL certificates.

I've also activated some more debugging that got lost when I was integrating moyekj's port of mind.java with streambaby.


----------



## mphtrilogy

I'm using .25, I just noticed .27 is up, let me try that and see if it solves the issue

Thanks


----------



## mphtrilogy

I just installed .27, and the problem still persists after about 1hour of standard def video.

You think its my router settings?

what should the router be set at?


----------



## BJezz

That does sound about the point that the buffer would fill. If you watch a video that has stopped but start watching from just before the point it stopped last time, I'm guessing that it would continue past the point that it froze last time. This would indicate that something is preventing Streambaby from rebuffering when you hit this point, but I don't know what that might be.

Does the position bar update correctly when playing a video? If not, this might indicate that Streambaby is not able to track where you are in the video.


----------



## mphtrilogy

BJezz said:


> That does sound about the point that the buffer would fill. If you watch a video that has stopped but start watching from just before the point it stopped last time, I'm guessing that it would continue past the point that it froze last time. This would indicate that something is preventing Streambaby from rebuffering when you hit this point, but I don't know what that might be.
> 
> Does the position bar update correctly when playing a video? If not, this might indicate that Streambaby is not able to track where you are in the video.


Yes it tracks the time, but then it freezes at the 1 hour or so mark of the video. I can rewind until that point, but it cannot play past that point. If I try to fast forward past the buffer it reboots and starts at the beginning.


----------



## Yoav

mphtrilogy said:


> No it freezes. I can rewind, but it cannot play past that point. If I try to fast forward past the buffer it reboots and starts at the beginning.


Is this for all files or unique to one? Is it possible the file is corrupt / making ffmpeg crash when it gets to that certain point? I think you'll see that behavior if ffmpeg fails at a certain point in the movie...

I don't think you ever answered these questions:

1) What file format are these files? mp4? .tivo? mpeg? avi? etc...
2) Can you approximate how many gigs in is the 'problem point' in the movie?
3) can you run something like 'ffmpeg -i <filename>' so we can see what ffmpeg reports about it?


----------



## mphtrilogy

Yoav said:


> Is this for all files or unique to one? Is it possible the file is corrupt / making ffmpeg crash when it gets to that certain point? I think you'll see that behavior if ffmpeg fails at a certain point in the movie...


I've tried it for about 5 files.


----------



## kearygriffin

Yoav said:


> Is this for all files or unique to one? Is it possible the file is corrupt / making ffmpeg crash when it gets to that certain point? I think you'll see that behavior if ffmpeg fails at a certain point in the movie...


And if you are retesting it makes sense to turn on streambaby debugging first and then post the log again. Instructions for turning on the log is detailed here: 
debugging_problems


----------



## pmd

kearygriffin said:


> Could you try the new SVN version I just uploaded:
> http://streambaby.googlecode.com/files/streambaby-svn-r237.zip
> 
> It seems that symind.tivo.com is using a self-signed SSL certificate so streambaby would reject the connection. I've added some code to accept self-signed SSL certificates.
> 
> I've also activated some more debugging that got lost when I was integrating moyekj's port of mind.java with streambaby.


Your new version works perfectly. The extra debug text is useful too. Thank you for fixing it so quickly.


----------



## cleverdevil

I'd love to use this, but I am a pretty busy guy these days, and don't really want to spend the time and effort to get everything compiled. I would love to see a set of binaries for the library dependancies, or better yet an installer package that installed everything for me.

At the very least, would anyone be willing to upload a tar.gz of their dependancies for Streambaby somewhere for OS X 10.5 so that I could download it?


----------



## Yoav

cleverdevil said:


> I'd love to use this, but I am a pretty busy guy these days, and don't really want to spend the time and effort to get everything compiled. I would love to see a set of binaries for the library dependancies, or better yet an installer package that installed everything for me.
> 
> At the very least, would anyone be willing to upload a tar.gz of their dependancies for Streambaby somewhere for OS X 10.5 so that I could download it?


These things don't come cheap you know...

But if you're willing to pony up $0.00, then you should look at pyTivoX: http://code.google.com/p/pytivox/

Speaking of which, is it ok if I edit the installation document to tell mac people about it? I guess it's not as obvious as I assumed...


----------



## kearygriffin

Yoav said:


> Speaking of which, is it ok if I edit the installation document to tell mac people about it? I guess it's not as obvious as I assumed...


Please feel free. You can put a link somewhere near the top of the front page, and anywhere else you think is appropriate.


----------



## Yoav

kearygriffin said:


> Please feel free. You can put a link somewhere near the top of the front page, and anywhere else you think is appropriate.


doh. Looks like although I'm a project member I don't have admin bits to the front page.

Can you just toss in a short link under "Getting Started" saying something like "Mac users should just download and install http://pytivox.googlecode.com/ which includes streambaby" or somesuch


----------



## moyekj

Yoav said:


> doh. Looks like although I'm a project member I don't have admin bits to the front page.
> 
> Can you just toss in a short link under "Getting Started" saying something like "Mac users should just download and install http://pytivox.googlecode.com/ which includes streambaby" or somesuch


 Keary, while you are at it can you fix the "Getting Started" link of the home page? Right now it points to the web editor so for most people it doesn't work. It should point to the following url instead:
http://code.google.com/p/streambaby/wiki/getting_started


----------



## BJezz

mphtrilogy, did you rip these videos yourself? It's just that if you have ripped a set of videos from DVD for example, but there's a problem with the program or settings used to rip them, this may be be specific to your ripping process. We may be able to replicate the issue. But if these videos are of different types or from different sources then it really points to a problem with your Streambaby installation. Obviously Streambaby works for most people, so we need to isolate what is different in your case that's causing this problem. It may be something to do with your setup or your videos. The more you can tell us, the more likely it will include a clue that will help one of us realise what the issue is.

If it is an option, you can PM me and we can arrange a way to send me a video. I'll happily try it and report back.


----------



## Kiotie

Sorry to take your thread off topic but I'm not sure where else to turn. I'm a linux novice but trying to make the effort to switch and not take the easy path with windows.

I can't seem to get streambaby working under ubuntu server 8.04LTS. From a fresh install here is my procedure:

1. sudo apt-get install sun-java6-jre
2. sudo apt-get install ffmpeg
3. download and extract streambaby in my home directory.
4. edit streambaby.ini:

#
# ./streambaby --help for more configuration file options
#

dir.1=/home/user/Videos
dir.1.name=Movies
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.2
# port to use
#port=7290

5. Execute streambaby.

Whether I run the program as myself or root it starts up and appears to be ready to go but the Tivo does not see it. I thought maybe it was some issue specific to server so I tried it on my labtop which runs Ubuntu 9.04 and I get the same results. On Windows I follow pretty much the same procedure and it works every time.

Thanks in advance for any assistance you can offer.


----------



## cleverdevil

Yoav said:


> These things don't come cheap you know...
> 
> But if you're willing to pony up $0.00, then you should look at pyTivoX: http://code.google.com/p/pytivox/
> 
> Speaking of which, is it ok if I edit the installation document to tell mac people about it? I guess it's not as obvious as I assumed...


Nice! Thanks, I don't know why I didn't see this. It should definitely be linked from the StreamBaby website, so that folks like me find it


----------



## kearygriffin

Kiotie said:


> Sorry to take your thread off topic but I'm not sure where else to turn. I'm a linux novice but trying to make the effort to switch and not take the easy path with windows.
> 
> ...
> ...
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=/home/user/Videos
> dir.1.name=Movies
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.2
> # port to use
> #port=7290
> ...
> ...
> Whether I run the program as myself or root it starts up and appears to be ready to go but the Tivo does not see it. I thought maybe it was some issue specific to server so I tried it on my labtop which runs Ubuntu 9.04 and I get the same results. On Windows I follow pretty much the same procedure and it works every time.


Ubuntu 8.04LTS was the version of Linux streambaby was developed on, and 9.04 is what I am currently running, so I am sure it works on those versions.

-- The first thing I would try is uncommenting the ip=xxx.xxx.xxx.xxx line in streambaby.ini (remove the #) and manually settting it to the IP you want streambaby to bind to (the main IP address of your linux system). I need to do this on my machine or Java likes to bind to the wrong IP.

-- Make sure you are running the latest (.27 I think, or the latest SVN version) as the older versions had difficulty on Linux systems with IPV6 enabled.

-- If none of the above solves the problem, are the Linux boxes on the same network segment as the Windows box (and the TiVo)? If you have some kind of router/bridge in between the linux boxes and the TiVo the broadcast may not make it to the TiVo. (I had this issue when I had a linksys router acting as a WiFi client bridge in front of the TiVo)


----------



## kearygriffin

cleverdevil said:


> Nice! Thanks, I don't know why I didn't see this. It should definitely be linked from the StreamBaby website, so that folks like me find it


Should be there now, as well as the fix to the link moyekj suggested.


----------



## reneg

reneg said:


> When you are playing a video with Streambaby, enter the Slow key, the video goes into slow motion, if you press the pause key, the video resumes play at normal speed. I'd like to request that Streambaby emulate Tivo playback such that when playing a video, enter the slow key, the video goes into slow motion, and if you press the pause key, the video pauses. All other combinations of play/slow/pause seem to work like Tivo playback except this one.


I posted this a while ago and thought I'd try and figure it out on my own, but I have to say that I'm no Java expert. I got the following debug output when playing a video, pressing slow, and then pressing pause.


Code:


05/22/09 11:51:32 NewStatusBar: state=true
05/22/09 11:51:38 NewStatusBar: state=false
05/22/09 11:51:47 ViewScreen: code=9 rawcode=16784905
05/22/09 11:51:47 ViewScreen: speed=0.125
05/22/09 11:51:47 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_slow.png
05/22/09 11:51:47 NewStatusBar: state=true
05/22/09 11:51:55 ViewScreen: code=8 rawcode=16784648
05/22/09 11:51:55 ViewScreen: speed=1.0
05/22/09 11:51:55 NewStatusBar: state=true
05/22/09 11:51:55 NewStatusBar: state=true
05/22/09 11:52:00 ViewScreen: code=4 rawcode=16777732

The code=9 is the slow key and it is setting the playback speed to 0.125 which plays the video in slow motion. The code=8 is the pause key, what I expect is the speed to be set to 0.0, but it is getting set to 1.0 which is normal playback speed.

Snippet from viewscreen.java:


Code:


case KEY_PAUSE:                                 // Toggle between pause and play modes
        if (stream.isPaused()) {
              stream.play();
              stream_speed = 3
              changeSpeed(1);
              displayStatusBar(true);
        } else {
              stream.pause();
              changeSpeed(0);
              displayStatusBar(true); // keep status bar displayed
              timeout_status = -1;
        }
        return true;

I cannot figure out how the playback speed is getting set to 1.0 unless the isPaused function is broken. I've looked at both the changeSpeed function as well as the HME SDK source code and the isPaused function in the HME SDK returns a boolean, return speed == 0;

What am I missing? It's probably just my lack of knowledge about java. Anyone have any ideas before I breakdown and install a java dev/debug environment?


----------



## granroth

moyekj said:


> The ffmpeg & handbrake samples given in the wiki page should produce natively streamable mp4 files if encoding from most common mpeg2 sources with AC3 audio. Maybe you should start with a video that is known to stream natively


Ah.. sure enough. That streamed perfectly with no additional transcoding. On that success, I redid my test encoding paying even closer attention to the example given and that worked as well. Perhaps I missed something in my first attempt?

Okay, so based on that, I have one set of known parameters that work. I suppose I could just experimenting with all of them to see what triggers the transcoding and what doesn't.

It seems like that should be unnecessary work, though. The code is already doing some sort of check on the parameters to decide if it passes some criteria.

So... is that part of the code available in source code or is it part of a closed-source extra lib? If it is available in source, can somebody point me to the right one? There are quite a few files in the SVN repo and I'm not sure where to start.


----------



## kearygriffin

reneg said:


> What am I missing? It's probably just my lack of knowledge about java. Anyone have any ideas before I breakdown and install a java dev/debug environment?


I don't know-- But I just changed the line to read:


Code:


if (getLastSpeed() == 0)

instead of using isPaused()... Seems to do the trick. I've made the change in my local copy, so unless I end up finding a problem with it, it will be in the next release/SVN version.

I've also changed most other occurences of isPaused getSpeed to use getLastSpeed instead, hopefully I won't break anything.

(Note I didn't really look into this too much, except to confirm isPaused was returnging true while it was in slow-mode. It was easier just to make the change since getLastSpeed should return the correct value, as it is a value streambaby sets itself everytime it changes a speed)


----------



## kearygriffin

granroth said:


> Ah.. sure enough. That streamed perfectly with no additional transcoding. On that success, I redid my test encoding paying even closer attention to the example given and that worked as well. Perhaps I missed something in my first attempt?
> 
> Okay, so based on that, I have one set of known parameters that work. I suppose I could just experimenting with all of them to see what triggers the transcoding and what doesn't.
> 
> It seems like that should be unnecessary work, though. The code is already doing some sort of check on the parameters to decide if it passes some criteria.
> 
> So... is that part of the code available in source code or is it part of a closed-source extra lib? If it is available in source, can somebody point me to the right one? There are quite a few files in the SVN repo and I'm not sure where to start.


This page does a pretty good job of describing what should work without transcoding:
http://code.google.com/p/streambaby/wiki/video_compatibility

If you have a file that seems to meet those qualifications, but ends up transcoding, please post the mediainfo info for that file (there should be previous posts on how to do this, I'm not really familiar with the tool) and the information displayed when you type:
ffmpeg -i <filename>

Also if you could turn on the debug log, try to stream a problematic file, and post streambaby.log, we may be able to see from the log what the issue is:
http://code.google.com/p/streambaby/wiki/debugging_problems


----------



## Kiotie

Thanks kearygriffin, I downloaded .27 and added the IP to the config. Now the Tivo sees the streambaby application in the menu but still not working.

When I go into that menu I get the following error code:

An error occurred while running the application. HTTP failure (Http connection error. 0x50005).

Any ideas?


----------



## kearygriffin

Kiotie said:


> Thanks kearygriffin, I downloaded .27 and added the IP to the config. Now the Tivo sees the streambaby application in the menu but still not working.
> 
> When I go into that menu I get the following error code:
> 
> An error occurred while running the application. HTTP failure (Http connection error. 0x50005).
> 
> Any ideas?


It's probably one of two things-- Streambaby crashing (what do you see on the console?) You may want to turn on debugging as detailed in:
http://code.google.com/p/streambaby/wiki/debugging_problems

The other possibility is some kind of firewall issue. Assuming you haven't changed the port from the default (7290) you may want to try the following. (It sounds like you have multiple PC's on your network):

From the PC streambaby is running on, in a browser goto:
http://XXX.XXX.X.X:7290/streambaby/folder.png

Replacing XXX.XXX.X.X with the IP address of your PC.

You should see a little picture of a folder.

Then try the same from another PC on your network (leaving the IP address as the address running streambaby)

If it works on the local machine running streambaby, but not on the other machine, it would point to a firewall issue (I think...)


----------



## reneg

kearygriffin said:


> I don't know-- But I just changed the line to read:
> 
> 
> Code:
> 
> 
> if (getLastSpeed() == 0)
> 
> instead of using isPaused()... Seems to do the trick. I've made the change in my local copy, so unless I end up finding a problem with it, it will be in the next release/SVN version.
> 
> I've also changed most other occurences of isPaused getSpeed to use getLastSpeed instead, hopefully I won't break anything.
> 
> (Note I didn't really look into this too much, except to confirm isPaused was returnging true while it was in slow-mode. It was easier just to make the change since getLastSpeed should return the correct value, as it is a value streambaby sets itself everytime it changes a speed)


Thanks, that is kind of what I was thinking. Will test your next release when it posted.


----------



## granroth

kearygriffin said:


> This page does a pretty good job of describing what should work without transcoding:[snip]
> 
> If you have a file that seems to meet those qualifications, but ends up transcoding, please post the mediainfo info for that file (there should be previous posts on how to do this, I'm not really familiar with the tool) and the information displayed when you type:
> ffmpeg -i <filename>
> 
> Also if you could turn on the debug log, try to stream a problematic file, and


Okay, I finally broke down and did some dedicated searching through the source code... and found what I was looking for. Apparently streambaby does a very minimal check for streamability. I was expecting some table of values, but all it looks for is:

Container: MP4
Codec: h.264
Audio codec: AAC or AC3
Audio bitrate: 44100 or 48000

That's it! Simple. Looking back, the reason my earlier example kept encoding was that I put it in an MKV container, thinking that didn't matter. That also explains why nobody would tell me the range of acceptable values -- there isn't a range! 

So, cool. Everything works great as long as I stay away from my normal MKV containers.


----------



## hfehawkeye

I sure hope this wasn't answered before.. if it was i'm sorry, I did try and search.

But, when I am playing a movie, that is about 4.5GB in size, it stops playing at around the 1 hour mark or so... Is there a limitation, should I rip the DVD in 1gb chunks? These are VOB files ripped using DVD Shrink. I can provide more info, if i Know what i need to provide...


----------



## BJezz

Nobody has answered this yet as far as I know, but you're not the first with the problem.

The TiVo only has a limited buffer for streaming, so what's supposed to happen is when you exhaust that buffer you get a rebuffering message and a brief pause as the next buffer is started. As of yet we don't know if the reason this can happen is something to do with the Streambaby setup, or if it is something to do with the way that the videos are encoded.

Streambaby does rebuffer correctly on my machine, so I'm going to try out DVD Shrink and report back.


----------



## moyekj

hfehawkeye said:


> I sure hope this wasn't answered before.. if it was i'm sorry, I did try and search.
> 
> But, when I am playing a movie, that is about 4.5GB in size, it stops playing at around the 1 hour mark or so... Is there a limitation, should I rip the DVD in 1gb chunks? These are VOB files ripped using DVD Shrink. I can provide more info, if i Know what i need to provide...


 Sometimes there are glitches in the mpeg2 stream and Tivo will reject the stream. You should try copying the same video to your Tivo using pyTivo and see if it has a problem at the same point it stops in Streambaby. If that fails as well then that is the problem for sure.
If you run the stream through VideoRedo QuickStream Fix very often it will fix glitches and then will stream/copy fine to Tivo.


----------



## BJezz

I ripped a DVD with DVD Shrink and tested streaming the VOB with Streambaby and reproduced the problem. It stopped when it hit the end of the buffer and did not rebuffer.

I also noticed another significant difference. When I play a working video the timeline immediately shows the total duration of the video and the green bar gradually fills as the video downloads. Streambaby even permits you to fast forward beyond the buffered segment, automatically creating a new buffer when you press play.

However, the DVD Shrink VOB only showed the video duration as the amount currently streamed. As more video was streamed in the duration increased. This means that when the end of the buffer was hit, as far as Streambaby was concerned it was already at the end of the video. It appears that FFMPEG is returning a 0 duration for this file.

So there's probably nothing wrong with your Streambaby setup, but not sure that DVD Shrink is the best tool to use with it. Although I haven't tested this further, I suspect it might be more to do with VOB format than DVD Shrink.


----------



## rfryar

BJezz said:


> However, the DVD Shrink VOB only showed the video duration as the amount currently streamed. As more video was streamed in the duration increased. This means that when the end of the buffer was hit, as far as Streambaby was concerned it was already at the end of the video. It appears that FFMPEG is returning a 0 duration for this file.


This indicates that the MPEG file itself is damaged. Run the MPG through a tool like VideoRedo's Quick Stream Fix and it will quickly resolve these little issues and produce a new MPG file that will stream correctly.

Rick


----------



## Kiotie

> It's probably one of two things-- Streambaby crashing (what do you see on the console?) You may want to turn on debugging as detailed in:
> ttp://code.google.com/p/streambaby/...gging_problems
> 
> The other possibility is some kind of firewall issue. Assuming you haven't changed the port from the default (7290) you may want to try the following. (It sounds like you have multiple PC's on your network):
> 
> From the PC streambaby is running on, in a browser goto:
> ttp://XXX.XXX.X.X:7290/streambaby/folder.png
> 
> Replacing XXX.XXX.X.X with the IP address of your PC.
> 
> You should see a little picture of a folder.
> 
> Then try the same from another PC on your network (leaving the IP address as the address running streambaby)


kearygriffin,

I tried your URL suggestion and I get a '404 page not found' error on the local machine as well.

I attached the debugs you requested from my Server and Desktop machines that I'm attempting this on. I'm guessing that I'm missing an addon application or that one is misconfigured. Unfortunately I'm lacking in Linux knowledge so I'm not sure where to look to make corrections. Please let me know if you see anything in the debugs.

Again, thanks for your help.


----------



## kearygriffin

Kiotie said:


> kearygriffin,
> 
> I tried your URL suggestion and I get a '404 page not found' error on the local machine as well.
> 
> I attached the debugs you requested from my Server and Desktop machines that I'm attempting this on. I'm guessing that I'm missing an addon application or that one is misconfigured. Unfortunately I'm lacking in Linux knowledge so I'm not sure where to look to make corrections. Please let me know if you see anything in the debugs.
> 
> Again, thanks for your help.


Looking at the logs (both) I see the following line:
MDNS: http://127.0.1.1:7290/streambaby
which says that streambaby is listening on the "local" network interface (127.0.0.1) which won't be accessible from other machines (i.e. the TiVo)

What does the line in your streambaby.ini that you changed to bind to the IP address of your linux box look like? For a typical home network (but not all home networks) it should be probably look something like:

ip=192.168.x.x

If you could post the exact line in the streambaby.ini that assigns the IP address, and also post the output of the linux command:
ifconfig

That may help to sort out the problem. If the ip= in the streambaby.ini is correct, and it matches the main network address from ifconfig, I'm not sure what the problem would be. (I don't think streambaby auto-defaults to 127.0.0.1 in any cases, but I could be wrong about that)


----------



## hfehawkeye

rfryar said:


> This indicates that the MPEG file itself is damaged. Run the MPG through a tool like VideoRedo's Quick Stream Fix and it will quickly resolve these little issues and produce a new MPG file that will stream correctly.
> 
> Rick


Thanks, I'll give that a try and let you know how it came out. Thanks to all that helped, I was begining to think I was the only one who had this issue.

As an aside, what DVD ripping software does anyone recommend?


----------



## Kiotie

Here are the outputs from my .ini file and ifconfig command.

[email protected]:~/streambaby-0.27$ cat streambaby.ini
#
# ./streambaby --help for more configuration file options
#

dir.1=/home/xxxxx/Movies
dir.1.name=Movies
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this.
ip=10.10.10.25
# port to use
#port=7290

--------------

[email protected]:~/streambaby-0.27$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:6e:2e:e3:c9
inet addr:10.10.10.25 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::20c:6eff:fe2e:e3c9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:141 errors:0 dropped:0 overruns:0 frame:0
TX packets:144 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15660 (15.2 KB) TX bytes:17671 (17.2 KB)
Interrupt:16 Base address:0xa000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:200 (200.0 B) TX bytes:200 (200.0 B)


----------



## kearygriffin

Everything looks perfect in the above configuration, so I started tracing through the IP handling code in streambaby itself. There were definitely a couple of bugs related to IP address handling. I couldn't come up with a scenario where it would bind to 127.0.01, but it definitely could bind to an address not specified in the INI file.

I've just uploaded a new version to SVN that I think resolves the IP related issues. If you could give it a try that would be great (make sure you put/leave the ip=10.10.10.25 line in your INI)

http://streambaby.googlecode.com/files/streambaby-svn-r238.zip

Hopefully this version will either work or at least spit out an error message about not being able to bind to the specified IP address/port.


----------



## mphtrilogy

BJezz said:


> mphtrilogy, did you rip these videos yourself? It's just that if you have ripped a set of videos from DVD for example, but there's a problem with the program or settings used to rip them, this may be be specific to your ripping process. We may be able to replicate the issue. But if these videos are of different types or from different sources then it really points to a problem with your Streambaby installation. Obviously Streambaby works for most people, so we need to isolate what is different in your case that's causing this problem. It may be something to do with your setup or your videos. The more you can tell us, the more likely it will include a clue that will help one of us realise what the issue is.
> 
> If it is an option, you can PM me and we can arrange a way to send me a video. I'll happily try it and report back.


No, I've taken these off of the Tivo with the Tivo desktop software. I then cut and paste them over to another bigger external hard drive that I want to access with streambaby. All of the videos are from TCM and under 2 hours standard def, 1.5-3gig.

I'm not too strong on the troubleshooting end, but with some detailed instructions I can give it a shot.


----------



## moyekj

mphtrilogy said:


> No, I've taken these off of the Tivo with the Tivo desktop software. I then cut and paste them over to another bigger external hard drive that I want to access with streambaby. All of the videos are from TCM and under 2 hours standard def, 1.5-3gig.
> 
> I'm not too strong on the troubleshooting end, but with some detailed instructions I can give it a shot.


 Oh, well if these are .TiVo files then that would explain it. You need to decrypt to .mpg in order for streambaby to be able to re-buffer once the 1.1GB stream limit is reached. For .TiVo files that is not possible. (For .TiVo files once you stream ~ 1.1GB worth of data the Tivo will cut off the stream and streambaby is unable to re-start stream where you left off. Decrypting to .mpg solves the problem of not being able to start a new stream where it was cut off).


----------



## reneg

kearygriffin said:


> ...
> 
> I've just uploaded a new version to SVN that I think resolves the IP related issues. If you could give it a try that would be great (make sure you put/leave the ip=10.10.10.25 line in your INI)
> 
> http://streambaby.googlecode.com/files/streambaby-svn-r238.zip
> 
> Hopefully this version will either work or at least spit out an error message about not being able to bind to the specified IP address/port.


I quickly checked out the pressing slow then pause change you made and it looks like it emulates the Tivo playback. Thanks, it comes in handy for double checking scenes in Lost episodes.


----------



## mphtrilogy

moyekj said:


> Oh, well if these are .TiVo files then that would explain it. You need to decrypt to .mpg in order for streambaby to be able to re-buffer once the 1.1GB stream limit is reached. For .TiVo files that is not possible. (For .TiVo files once you stream ~ 1.1GB worth of data the Tivo will cut off the stream and streambaby is unable to re-start stream where you left off. Decrypting to .mpg solves the problem of not being able to start a new stream where it was cut off).


Can you advise how I can decrypt these files?

I have DVD decrypter and also DVD Fab Platinum.

What should I do?

Thanks


----------



## moyekj

mphtrilogy said:


> Can you advise how I can decrypt these files?
> 
> I have DVD decrypter and also DVD Fab Platinum.
> 
> What should I do?
> 
> Thanks


 There are several free options for decrypting .TiVo files. kmttg (see link in my sig) is one of those options and can do a lot more than just decrypt, though you can use it solely as a GUI for decrypting if that's all you need. If you just want a simple command line program to do it then *tivodecode* is all you need. There are some other GUI interfaces built around tivodecode as well that can do it.


----------



## mphtrilogy

moyekj said:


> There are several free options for decrypting .TiVo files. kmttg (see link in my sig) is one of those options and can do a lot more than just decrypt, though you can use it solely as a GUI for decrypting if that's all you need. If you just want a simple command line program to do it then *tivodecode* is all you need. There are some other GUI interfaces built around tivodecode as well that can do it.


thank you very much, I will give this a try.

If I want to move these back on to my Tivo after I decrypt them, will I be able to?


----------



## moyekj

mphtrilogy said:


> If I want to move these back on to my Tivo after I decrypt them, will I be able to?


 Yes. If you use pyTivo to copy them back to your Tivo you can also keep the program information (title, description, etc) by generating a pyTivo metadata file which is a simple .mpg.txt file that accompanies the .mpg file. kmttg has option to generate this metadata file from .TiVo files as well. (Streambaby also reads the metadata file to show information about a video file).


----------



## rfryar

mphtrilogy said:


> Can you advise how I can decrypt these files?


I use a tool called Direct Show Dump. It quickly turns the TiVo file into a MPG.

Just do a google search and you should find it. However you must have at least the free Tivo Desktop installed in order to get the right decoder installed on your PC.

Rick


----------



## moyekj

rfryar said:


> I use a tool called Direct Show Dump. It quickly turns the TiVo file into a MPG.
> 
> Just do a google search and you should find it. However you must have at least the free Tivo Desktop installed in order to get the right decoder installed on your PC.
> 
> Rick


 That is another option. But the requirement of having the the proper TD codecs installed for it to work is why I don't bother mentioning it since tivodecode has no such dependencies and works very fast and reliably on all major platforms. VideoRedo is another non-free option for decrypting but again relies on proper TD codecs being installed.


----------



## wmcbrine

Yeah, I don't see why anyone still uses Direct Show Dump. It was a great workaround when it was all that was available, but now we can decrypt directly.


----------



## rfryar

Using the FFMPEG script to convert a TiVo HD MPG into a MP4 I get really tinny sounding audio. Has anyone else encountered this?

ffmpeg -y -i inputFile.mpg -vcodec libx264 -coder 0 -level 41 -sameq -g 300 -bufsize 14745k -b 5000k -maxrate 16000k -bug "+autodetect+ms" -me_method epzs -trellis 2 -mbd 1 -acodec copy -f mp4 outputFile.mp4

I am using the FFMPEG binary on windows that is distributed with the Streambaby package. 

Also I have tried just exporting the -acodec copy to a AC3 file and then using MP4box to mux that with the H264 created above but MP4box complains about the AC3 file.

Any hints on how to easily create a batch script to convert TiVo MPGs into Mp4 that does not cause the audio to become tinny?

Thanks,

Rick


----------



## wmcbrine

-acodec copy... you're not doing anything to the audio at all. But sometimes the TiVo gets in a weird state. It can sometimes be cleared up by playing a stream with different parameters, or almost always by rebooting.


----------



## rfryar

wmcbrine said:


> -acodec copy... you're not doing anything to the audio at all. But sometimes the TiVo gets in a weird state. It can sometimes be cleared up by playing a stream with different parameters, or almost always by rebooting.


I understand that FFMPEG is not _supposed_ to be doing anything to the audio but it definately is, or when it muxs it into MP4 it causes the issue. All that I can be sure of is that the audio is fine in MPG, but any attempt to get the audio out of the MPG with FFMPEG causes the tinny sounding audio. This is in any player, even PC players, not just the TiVo.

No one else experiences this FFMPEG AC3 behavior on Windows?

Rick


----------



## moyekj

rfryar said:


> No one else experiences this FFMPEG AC3 behavior on Windows?


 No I have not experienced that behavior on Windows or Linux platforms using -acodec copy to get a copy of AC3 audio. Most of my sources are from Tivo recordings. Could be something about source video is causing the issue, especially if it's a Blu Ray rip or something of that nature. Perhaps if you post somewhere a short clip of a source video that you are having an issue with others could try it out to see what happens.
Assuming the source video is mpeg2 have you run it through VRD QSFix to see if that helps?


----------



## Kiotie

> Everything looks perfect in the above configuration, so I started tracing through the IP handling code in streambaby itself. There were definitely a couple of bugs related to IP address handling. I couldn't come up with a scenario where it would bind to 127.0.01, but it definitely could bind to an address not specified in the INI file.
> 
> I've just uploaded a new version to SVN that I think resolves the IP related issues. If you could give it a try that would be great (make sure you put/leave the ip=10.10.10.25 line in your INI)
> 
> ttp://streambaby.googlecode.com/fil...y-svn-r238.zip
> 
> Hopefully this version will either work or at least spit out an error


YES, YES, YES! Thank you keary, you da man! The svn worked correctly. Do you take donations for this project somewhere? I didn't see one on the streambaby web page.


----------



## gonzotek

Kiotie said:


> YES, YES, YES! Thank you keary, you da man! The svn worked correctly. Do you take donations for this project somewhere? I didn't see one on the streambaby web page.


I didn't have a chance to do extensive testing and report this earlier, but .27 was broke in the same way for me (Ubuntu 8.10, recent svn builds of ffmpeg and x264) and the r238 build worked great, as expected. So it looks like there was definitely something wrong with the address binding.


----------



## Yoav

rfryar said:


> Using the FFMPEG script to convert a TiVo HD MPG into a MP4 I get really tinny sounding audio. Has anyone else encountered this?
> 
> ffmpeg -y -i inputFile.mpg -vcodec libx264 -coder 0 -level 41 -sameq -g 300 -bufsize 14745k -b 5000k -maxrate 16000k -bug "+autodetect+ms" -me_method epzs -trellis 2 -mbd 1 -acodec copy -f mp4 outputFile.mp4


 Odds are that when changing containers ffmpeg messes up the audio codec ID or bitrate or whatnot. Try using mencoder instead of ffmpeg. It's known to better handle ID tags when you change containers.

Or re-encode the audio... I doubt you'll notice much of a slowdown or quality hit... At least see if re-encoding fixes it...


----------



## jmemmott

I just wanted to let everyone know that I have put up a new version of T2Sami that is able to convert DVD subtitle streams as well as closed caption to .srt files for use with streambaby. Newer domestic material typically has closed captions but older and foreign media often do not. The addition of subtitles should expand the amount of captioned material available to be streamed. 

It should also allow captions in Spanish, French, ... to be created if the appropriate substreams are present. I have not done a lot of testing with this latter capability so I do not know how streambaby will respond to a full range of foreign character sets yet. It is also limited by the OCR process I am using. The further one gets from English, the higher the error rate will be.


----------



## dlfl

Just graduated from S2D2 to HD and of course one of the first things I had to do was get StreamBaby going! Basically it went pretty smooth. Just followed the getting started part of the wiki and voila! -- it works!

Running on Windows XP (SP3) I notice the following error message in the command window on every start up:



> Initializing StreamBaby v0.27...
> 05/29/09 16:34:27 Listener: added factory
> 05/29/09 16:34:27 Main: streambaby ready & listening.
> Exception in thread "JmDNS.SocketListener" java.lang.StringIndexOutOfBoundsExcep
> tion: String index out of range: -1
> at java.lang.String.substring(Unknown Source)
> at javax.jmdns.impl.JmDNSImpl.toUnqualifiedName(JmDNSImpl.java:1461)
> at javax.jmdns.impl.JmDNSImpl.updateRecord(JmDNSImpl.java:933)
> at javax.jmdns.impl.JmDNSImpl.handleResponse(JmDNSImpl.java:1025)
> at javax.jmdns.impl.SocketListener.run(SocketListener.java:68)
> at java.lang.Thread.run(Unknown Source)


However things appear to be working anyway, although I see lots of warnings like the following in the command window:



> StreamBabyStream[#1,uri=null] warning: resource 2532 not found.
> StreamBabyStream[#1,uri=null] warning: resource 2532 not found.


These messages aren't in the log file, but the log file has lots of messages like:


> 05/29/09 16:53:03 Listener: 192.168.0.104 I/O Exception handling HTTP GET 039af0ab-c541-404c-b81b-9f8aaa153904.stream: Connection reset by peer: socket write error


Do any of these messages indicate actual problems?

My ini file is a very simple one liner:


> dir.1=J:\Videos\FLV


The files I'm streaming are HandBrake .mp4 transcodes of S2D2 TTG transfers (edited with VideoReDo). Typical mediaInfo for one of these is:

Video
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : avc1
Bit rate mode : Variable
Bit rate : 650 Kbps
Width : 640 pixels
Height : 288 pixels
Display aspect ratio : 2.222
Frame rate mode : Variable
Frame rate : 29.970 fps

Audio
Format : AAC
Bit rate mode : Variable
Bit rate : 160 Kbps
Maximum bit rate : 244 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits

The PAR for these is 1:1 and they display correctly with "Panel" aspect ratio, as stated in the StreamBaby docs. So far I'm streaming them with the "same" bit rate.

I have had problems with audio sync getting off a few seconds after random seeking outside the buffer, but this only happens sometimes and I'm not sure what the dependence on seek method is (#-Skip, ##<enter> or FF). This may be due to properties of my source videos.

And also, I generated the .srt file for one of my videos with T2Sami and the CC's work perfectly when streaming.

Thanks for the cool program!


----------



## whozat

Hi all! I really know very little about the Tivo ecosystem, or digital video in general, though I do know my way around Linux in general. I'm curious...what is it that running streambaby inside Galleon buys me? I ask because I've got some mp4s that I created using the ffmpeg recipe on the video compatibility page in the wiki, and they stream to my Tivo just fine when I'm running streambaby on its own, but I get the red "Error - 0xffff" message when I try to view them when streambaby is being run via Galleon. Ideally, I'd like to get that cleared up...but I could also just write a script to start streambaby at boot time and restart it if it crashes 

Thoughts?

Thanks!


----------



## tlc

FYI, Exception thrown when steambaby is run from / :

Initializing StreamBaby v0.27...
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:37)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1768)
at com.unwiredappeal.tivo.config.StreamBabyConfig.getCurDir(StreamBabyConfig.java:790)
at com.unwiredappeal.tivo.config.StreamBabyConfig.setupDefaultDirectories(StreamBabyConfig.java:796)
at com.unwiredappeal.tivo.config.StreamBabyConfig.<clinit>(StreamBabyConfig.java:37)
... 1 more


----------



## windracer

whozat said:


> I'm curious...what is it that running streambaby inside Galleon buys me?


I run it through Galleon just so I don't have to run two separate java apps on my server. I don't know why you'd get that error through Galleon, but to be honest I have not played around that much with streambaby lately. I remember having problems early on, but nothing recently.


----------



## Kershek

kearygriffin said:


> Hi Kershek,
> 
> Everything looked pretty normal in the log, so I am really not sure. Do you have any routers/etc between your TiVo and the PC running streambaby? The most common cause for something like this is some device not passing the mDNS (bonjour/zeroconf) messages between the PC and the TiVo (not passing multicast packets). The problem with this theory is that I *think* TiVo Desktop would have similar issues if this was the problem.
> 
> Also, you may want to make sure you are using the latest SVN version of streambaby:
> http://streambaby.googlecode.com/files/streambaby-svn-r235.zip
> and make sure you are running it with the streambaby.bat file and not as a service. This version has some extra settings to disable IPV6 which can also cause problems with the TiVo finding streambaby.


I just tried your latest r238 but couldn't get TiVo to see it. I tried it on 3 different machines running Windows XP SP3 32bit. Again, not having any issues with TiVo Desktop. My router is a TrendNet TEW-652BRP.

I would really like to use this program if possible - is there anything else I can do to help troubleshoot?


----------



## Emillion

jmemmott said:


> I just wanted to let everyone know that I have put up a new version of T2Sami that is able to convert DVD subtitle streams as well as closed caption to .srt files for use with streambaby. Newer domestic material typically has closed captions but older and foreign media often do not. The addition of subtitles should expand the amount of captioned material available to be streamed.
> 
> It should also allow captions in Spanish, French, ... to be created if the appropriate substreams are present. I have not done a lot of testing with this latter capability so I do not know how streambaby will respond to a full range of foreign character sets yet. It is also limited by the OCR process I am using. The further one gets from English, the higher the error rate will be.


When streaming from a DVD folder .srt files should match the names of the .vob files in order to show on Tivo, right? Could T2Sami create one .srt file per vob (with time starting from 0 for each of them) instead of one per DVD?
Thank you - great tool.


----------



## jmemmott

Emillion said:


> When streaming from a DVD folder .srt files should match the names of the .vob files in order to show on Tivo, right? Could T2Sami create one .srt file per vob (with time starting from 0 for each of them) instead of one per DVD?
> Thank you - great tool.


I will have to think about it to see if I can come up with something that makes sense doing it this way.

Right now, t2sami extracts by program title not physical storage. If you actually look at the contents of a DVD and compare them to the program content, they seldom respect the .vob boundaries. The main movie feature will typically span multiple .vob files and these may or may not be sequentially numbered. Some manufactures seem to intentionally scramble the order to frustrate viewers. Features such as background material and commentaries are frequently short enough that more than one can be put in a single vob or into empty space in the same vob as the main feature.

Episodic DVDs such a anime disks often have episodes that are short enough to span vob files : episode 1 ( vob 01 ), episode 2 ( vob 01 => vob 02), episode 3 ( vob 02 => vob 03 ), etc. t2sami and most of the decryption programs deal with this by reading the ifo files and allowing you to following the program segments in specific VTS, PGC pairs. This allows you to extract single features or episodes for viewing as a whole independent of everything else on the disk. The t2sami GUI works this way to extract both the mpeg program stream and the captioning content. The t2extract utility was set up to extract only captioning to allow it to work with other conversion programs people might prefer but this does have the unintended consequence that you have encountered if you extract the video in a different way.

In some ways it would make more sense to give t2extract the optional ability to extract the mpeg stream for processing in another way than to limit the captions to the physical vob boundaries. However, I am open to other points of view.


----------



## Emillion

I can see the complications. Would you rather see this fixed on the Streambaby side, with a setting in .ini like:
cc.containter=[file]|folder
where it would be able to keep reading cc from only one .srt file with the same name as the folder when going through vobs?
Or a T2Sami solution that would work in 90% of the cases? Maybe you could just do some post processing on the one file, splitting it in four and changing the timestamps starting with the second to make up for length of the vob(s) prior to the current one?


----------



## jmemmott

I dont think creating one file would work. I took a look at a typical DVD I use as a test case and it contains 26 VTS sets in 55 .vob files. One of these VTS sets is the main presentation and the rest are commentaries, background material, menu sets, and other assorted uninteresting stuff. If you put everything into one file, there would be no way to identify which captions are what. You could never locate the right captions for anything as there are no identifiers to link anything with.

Dumping the captions from a specific .vob would easy so I have no issue with implementing that. I just find it a little ugly and dont quite understand how it would work for playback in general. Streambaby would have to process all 55 .vob files on the above DVD to play back the one set of four files containing the main program and then sort out what to do with the rest. If the program spans vobs or begins in the middle of one, it will have to work that out.

When I use t2sami to feed pyTivo, it writes out both a VTS_01P2.srt and VTS_01P2.mpg pair to use to transfer VTS 1, PGC 2 programming. These contain only the program stream and synchronized captions so that only the relevant material needs to be processed. This is faster and cleaner because everything else can be ignored. My own thinking is to adapt this approach as an another alternate option in t2extract.


----------



## Frankoz2

Hello All,

I'm a new subscriber and user of Streambaby. Absolutely fantastic, but with one small, irritating problem.

With my Tivo 3 set to Panel aspect, I am watching files on a Sony 42' TV. It is not true 1080 and accordingly trims the top bottom and sides. Problem is that it also trims the bottom half of any subtitles showing.

I've searched this thread and googled heavily for an answer but to no avail.

Does anyone have a solution to move the position of the subtitle on screen, perhaps through the *.ini file?

Any help would be greatly appreciated.

Thanks


----------



## BJezz

If your TV is not full 1080, it should still scale the input and display the image correctly.

At a guess, the TV is set to zoom mode. This presumes the TiVo has a 4:3 output and zooms it to fill the screen horizontally, but cropping the top and bottom from the image to do so. The TiVo outputs a 16:9 image if configured for use with a 16:9 TV, so includes black bars in the left and right side of the image when in panel mode. The TV should be set to full mode, which stretches the image to fill the screen horizontally and vertically to correctly display the TiVo's 16:9 output.

If this is the problem, it will have been cropping the top and bottom from the TiVo output in general, not just from Streambaby.


----------



## rfryar

I have a similar issue with my older HD Tube TV. Since it is a tube TV there is an overscan area and it happens that lower half of the subtitles are in that overscan area and are cut off. 

I have never complained before as this is not my primary TV. But I second the option to have a ini setting or a TiVo specific setting to be able to move the subtitles up X pixels or whatever.

Rick


----------



## Frankoz2

BJezz said:


> If your TV is not full 1080, it should still scale the input and display the image correctly.
> 
> At a guess, the TV is set to zoom mode. This presumes the TiVo has a 4:3 output and zooms it to fill the screen horizontally, but cropping the top and bottom from the image to do so. The TiVo outputs a 16:9 image if configured for use with a 16:9 TV, so includes black bars in the left and right side of the image when in panel mode. The TV should be set to full mode, which stretches the image to fill the screen horizontally and vertically to correctly display the TiVo's 16:9 output.
> 
> If this is the problem, it will have been cropping the top and bottom from the TiVo output in general, not just from Streambaby.


BJezz,

Thanks very much for your help! You are right, the TV does currently trim the extremities. I'll try the idea of changing aspect to "Full" and then trying Streambaby; that may provide a solution.

I was nonetheless wondering if there is a way to manipulate the subtitles because my experience has been that the picture quality deteriorates/distorts when in "Full" mode.

rgds
FrankOz:up:


----------



## Emillion

Solving this subtitle issue would make DVD network storage/streaming a great Streambaby feature.

Did not mean one file with everything in it. When creating the file user would just pick English subtitles, for example.
But I like the one file per vob approach because it works with the current version of Streambaby, no modifications required.

Thank you for looking into it.



jmemmott said:


> I dont think creating one file would work. I took a look at a typical DVD I use as a test case and it contains 26 VTS sets in 55 .vob files. One of these VTS sets is the main presentation and the rest are commentaries, background material, menu sets, and other assorted uninteresting stuff. If you put everything into one file, there would be no way to identify which captions are what. You could never locate the right captions for anything as there are no identifiers to link anything with.
> 
> Dumping the captions from a specific .vob would easy so I have no issue with implementing that. I just find it a little ugly and dont quite understand how it would work for playback in general. Streambaby would have to process all 55 .vob files on the above DVD to play back the one set of four files containing the main program and then sort out what to do with the rest. If the program spans vobs or begins in the middle of one, it will have to work that out.
> 
> When I use t2sami to feed pyTivo, it writes out both a VTS_01P2.srt and VTS_01P2.mpg pair to use to transfer VTS 1, PGC 2 programming. These contain only the program stream and synchronized captions so that only the relevant material needs to be processed. This is faster and cleaner because everything else can be ignored. My own thinking is to adapt this approach as an another alternate option in t2extract.


----------



## jmemmott

Emillion said:


> But I like the one file per vob approach because it works with the current version of Streambaby, no modifications required.


Turns out that vob by vob processing was the first approach I took when I started processing DVDs. When I looked to see what it would take to reactivate it, I discovered that I had never disabled it. As a result, you can already do that. Just use an mpeg style command line with the target file name rather than flagging it as a dvd. You will need to process each .vob file and it will only work for closed captions. When I convert subtitle streams, I must follow the internal ifo mappings because of differences in the way they are stored:

"C:\Program Files\T2Sami\t2extract.exe" -f srt "E:\OTH\VIDEO_TS\VTS_17_1.VOB"

with produce VTS_17_1.srt with captions for the whole vob.

I have also finished implementing my approach as well. I am updating the documentation and will update the website with new executables as soon as I update the installer. Should happen over the weekend. In the coming version

"C:\Program Files\T2Sami\t2extract.exe" -f srt --video --vts 17 --pgc 1 --subtitle EN -p "d:\My Video" -o "Behind the Animation" --dvd "E:\OTH\VIDEO_TS"

will produce two files from VTS 17, PGC 1:

d:\My Video\Behind the Animation.mpg
and
d:\My Video\Behind the Animation.srt

containing a 15 minute DVD feature - synchronized mpeg program stream and captions. The captions are derived from the English subtitle stream rather than the DVD closed captions.


----------



## BJezz

FrankOz, did that work? Full should cause less degradation than zoom as it performs less upscaling. However, because the TiVo and the TV both have aspect correction, you can easily end up with them double compensating and distorting the image.

Interestingly, when I first got my TiVo, I set the TV to automatically switch to 4:3 for SD and 16:9 for HD, then set the TiVo aspect correction to full. This meant that the TV did all of the compensation and takes advantage of the TV's better upscaler. Then a TiVo update came out and it no longer works. No matter what I set on the TV, it is convinced that the TiVo is sending 16:9. I can manually force it to 4:3, but that means I have to change it back when switching between SD and HD which is just a pain. When you first power up the TiVo the TV stays in 4:3 for part of the boot process, so I assume the TiVo is signalling the TV to switch to 16:9. This is with an HDMI connection.

So now I have the TV set to full and the TiVo set to panel. It works fine, but I know that TiVo is reducing the horizontal resolution in order to add the black bars. I can avoid that by going to fixed, but then I'm not using the TV's upscaler. Fixed does have the benefit that it can deinterlace paused video which the TV cannot, but I don't see that as a big deal.

I'm not worried about solving this though. Some of the videos I watch through pyTivo and Streambaby are not 4:3 or 16:9. TiVo's panel mode compensates for this correctly, but if I set the TV to full there's no way to get the TV to return them to the correct aspect ratio. Also it's nice having the info and guide boxes stay at the same size instead of being forced into the 4:3 space. The only issue is that I know that technically I'm losing horizontal resolution for SD content, but I don't notice this when watching it.


----------



## Emillion

Tested the CCs. You could make the installer add a shortcut in the "Send To" folder, like "C:\Program Files\T2Sami\t2extract.exe" -f srt making it easy to extract CCs from one VOB. Should also work with a multiple selection of VOBs sent to the shortcut but for some reason it stops after the first one...

Waiting for the subtitles...
Great.



jmemmott said:


> ..............................................................
> "C:\Program Files\T2Sami\t2extract.exe" -f srt "E:\OTH\VIDEO_TS\VTS_17_1.VOB"
> with produce VTS_17_1.srt with captions for the whole vob.
> ...............................................................
> "C:\Program Files\T2Sami\t2extract.exe" -f srt --video --vts 17 --pgc 1 --subtitle EN -p "d:\My Video" -o "Behind the Animation" --dvd "E:\OTH\VIDEO_TS"
> will produce two files from VTS 17, PGC 1:
> d:\My Video\Behind the Animation.mpg
> and
> d:\My Video\Behind the Animation.srt
> ..............................................................


----------



## kearygriffin

Just uploaded a new SVN build that should fix a couple of issues mentioned earlier.
http://streambaby.googlecode.com/files/streambaby-svn-r239.zip

1. Fixes (hopefully) a problem with audio/video sync in MP4's (after a random-seek or rebuffering)
2. new streambaby.ini setting:
cc.yoff=xxx
where xxx is the number of pixels above the bottom to put the closed captioning. The default is 24. (so, for example, to make it go higher set it to 50)


----------



## Frankoz2

Kearygriffin, 

Thank you very much for the update and change. I've been very impressed with Streambaby and I'm just stoked with the fix.

I'll update and try later today.

rgds

PS: BJezz, thanks for the follow up, this was the solution I was hoping for!


----------



## Emillion

What is the difference between cc.mintime and cc.minchartime?
Is there a setting to make them go away? For me the last subtitle stays on the screen until the next dialog....



kearygriffin said:


> Just uploaded a new SVN build that should fix a couple of issues mentioned earlier.
> http://streambaby.googlecode.com/files/streambaby-svn-r239.zip
> 
> 1. Fixes (hopefully) a problem with audio/video sync in MP4's (after a random-seek or rebuffering)
> 2. new streambaby.ini setting:
> cc.yoff=xxx
> where xxx is the number of pixels above the bottom to put the closed captioning. The default is 24. (so, for example, to make it go higher set it to 50)


----------



## kearygriffin

Emillion said:


> What is the difference between cc.mintime and cc.minchartime?
> Is there a setting to make them go away? For me the last subtitle stays on the screen until the next dialog....


cc.mintime is the minimum number of milliseconds (default=1500) to leave a CC on the screen (unless there is another CC that needs to be displayed in which case the new CC takes precedence).

cc.minchartime is similar but is based on the number of characters in the CC to display. So for example using the default of cc.minchartime=50, and a CC of 20 characters, the minimum time to leave it on is 50*20=1000 milliseconds.

Whichever value is higher for the CC to display is used. So for example with cc.mintime=1000 and cc.minchartime=50 a CC with 10 chars would be displayed for: max(1000,50*10)=1000 milliseconds. A CC with 30 chars would be displayed for: max(1000, 50*30)=1500 milliseconds.

Setting both to 0 will disable minimum times completely. (or you can disable them individually)

I added these parameters because in my initial testing the CC'ing for TV shows I had extracted from my TiVo were way to fast for me to read. example:


Code:


14
00:00:36,502 --> 00:00:37,101
HOW COULD YOU DO THAT
TO YOUR BEAUTIFUL HANDS?

15
00:00:38,203 --> 00:00:39,303
WITH YOUR FLAT,
MANLY MILKING THUMBS

16
00:00:40,406 --> 00:00:41,406
AND YOUR LONG,
GRACEFUL KNUCKLE HAIR--

17
00:00:43,008 --> 00:00:43,307
THANK YOU, KENNETH.
AH-CHOO!

18
00:00:44,710 --> 00:00:45,076
ARE YOU SICK?

Note closed caption #17 is only set to display for .3 seconds which I found unreadable, even though the next caption isn't set to display for 1.7 seconds after it. (And I found even #14 which only displays for .6 seconds is hard to read in that time without concentrating so hard on the closed captions you don't have time to actually watch video portion of the show...)

Full Disclosure: I don't use CC'ing much at all, so it is conceivable there are bugs in anything I talk about above. It is also conceivable I was doing something wrong with extracting the closed captions into an SRT file that was causing the very quick closed captions.


----------



## jmemmott

The Streambaby developers will have to help with those specific settings, but timing is fundamentally a property of the extraction process not a playback issue. In general, you can limit the maximum amount of time a caption will hang around by setting the cutoff duration on the t2extract command line:

--cutoff-duration, -c cutoff duration (sec.) 

When the closed captions are converted to subtitles (.srt), there is an ambiguity in timing that makes the process art as well as science. Closed captions are timed and displayed in two characters increments when they are used normally. Srt subtitles are displayed and timed a paragraph at a time. This means that when closed captions are converted to .srt the exact start and stop times in the caption stream cannot be taken too literally or readability and comprehension can be compromised. If T2sami detects that this may be an issue, it has to make adjustments to the timing to try to avoid problems. These adjustments are made conservatively which means the captions may stay on too long  up to the cutoff duration or the next caption which ever comes first. Different individuals have different reading and comprehension rates so the program does not try to select the cutoff duration for you. If you do not set one, it is infinite.


----------



## Hyrax

I realize this may not be the correct forum, but I'm not sure where else to ask. The TivoHD is one of many boxes out there that stream Netflix video. Is it possible that Streambaby could ever be expanded to support more than just Tivo?


----------



## Emillion

Generated my srt with subtitles using the T2Sami GUI, and did not see any settings for cutoff...Guess this is why they stay on?


jmemmott said:


> ........................
> t2extract command line:
> --cutoff-duration, -c cutoff duration (sec.)
> .........................


----------



## jmemmott

In the GUI, select the Options dialog from the Tools menu. It should come up with the Captions Tab on top. Enable the cutoff with the check box if it is not already checked. Then use the slider to set a value. OK or Apply will save the value. This will then be the default for all GUI captions you extract.


----------



## Frankoz2

Hi all,

Thanks to Kearygriffin for the "subtitle positioning" fix!

I guess solving one problem often creates another!

1. I Have downloaded and installed SVN-R239 containing subtitle position fix
2. Subtitles show as white in a black box and frame
3. Subtitles for different speakers are not differentiated by colour - some coding around on screen suggests that this aspect is not working

Ideally, subtitles should be shown against a transparent background and perhaps show subtitles in white, yellow etc. depending upon the speaker.

Any help will be appreciated.

rgds


----------



## jmemmott

Frankoz2 said:


> 3. Subtitles for different speakers are not differentiated by colour - some coding around on screen suggests that this aspect is not working
> 
> Ideally, subtitles should be shown against a transparent background and perhaps show subtitles in white, yellow etc. depending upon the speaker.


There is really no source for the speaker information. The .srt file that is used to create subtitles has no provision for storing this or any color information. The sources that are being used for extraction of the caption likewise do not contain this information. Closed caption are just a text stream : position, text, timing - the use of color is rare and has no standard meaning - no speaker information at all. DVD subtitles are just pictures. Color, etc may be used to convey other ideas but there is no way to extract that because there is no standard for usage of these things.


----------



## jmemmott

Emillion said:


> Waiting for the subtitles...
> Great.


I have placed a new installer on the t2sami.com website. It contains a new version of t2extract that will extract the synchronized video while it processes VOBs. Not done adding this capability to the GUI but my schedule will delay that into next week so I decided to make the t2extract changes available now.

"C:\Program Files\T2Sami\t2extract" -f srt --vts 3 --pgc 1 --subtitle EN --video -o "Animation" --dvd "C:\DVD\The Story of Art\VIDEO_TS"

will convert the English subtitles associated with VTS 3, PGC 1 of the unencrypted DVD in C:\DVD\The Story of Art\VIDEO_TS to an SRT format and save them in "C:\DVD\The Story of Art\VIDEO_TS\Animation.srt". It will also save the corresponding mpeg2 program stream in "C:\DVD\The Story of Art\VIDEO_TS\Animation.mpg".


----------



## fyodor

Hi,

I was wondering if there is anyway to configure the Push feature to use the embedded MP4 metadata when sending videos to the Tivo?

Thanks
F


----------



## tbear334

I'm trying to make a few small changes to Streambaby. Have installed Eclipse/Java on my Windows XP machine, and checked out the latest source, but get several errors mostly around jmdns. Don't have a lot of experience with Eclipse/Java so am not sure my project is setup properly. Any help would be appreciated.


----------



## whozat

windracer said:


> I run it through Galleon just so I don't have to run two separate java apps on my server. I don't know why you'd get that error through Galleon, but to be honest I have not played around that much with streambaby lately. I remember having problems early on, but nothing recently.


Ok...I guess I can run streambaby on its own, then...but I'm still curious as to what could be causing this problem.

How can I diagnose this? This is a file that streambaby should be able to send right to the tivo without transcoding...how can I verify that it is doing so? What governs streambaby's decision to send a file right to the tivo?


----------



## fyodor

Just to clarify, it pulls the episode title from the metadata (apparently) but not the name of the series or the description.



fyodor said:


> Hi,
> 
> I was wondering if there is anyway to configure the Push feature to use the embedded MP4 metadata when sending videos to the Tivo?
> 
> Thanks
> F


----------



## bkdtv

For a future version of Streambaby, please consider supporting command-line parameters so other applications can use it as a "helper program" to support "push" functionality. [Reference]


----------



## Prestond

I absolutely love this application it works without a hiccup for me for streaming. Is there any way that this can be broadened (or ported?) to possibly work with other streaming client besides Tivo? The server side seems to stream quite nicely, is there any way to make it work for other clients? 

I use PS3 Media Server and Tversity to stream to my PS3, they seem to choke on some of the higher bandwidth recordings with minor stuttering, the same movies played back through Streambaby play without a hitch (softmodded xbox running xbmc works well too). Thats why I am wondering if there is a way to stream to other devices or is it strictly Tivo magic?


----------



## canbonbon

I have just installed StreamBaby and it works very well. I have mpg files that I am trying to watch over tivo. But once in a while I get the message Rebuffering, please wait. It is very distracting. Is there any way I can avoid seeing that message? I see Netflix movies and they are just fine and I never see that message there. Please suggest if there is some setting in the ini file that I might have missed.

Thanks a bunch.


----------



## moyekj

canbonbon said:


> I have just installed StreamBaby and it works very well. I have mpg files that I am trying to watch over tivo. But once in a while I get the message Rebuffering, please wait. It is very distracting. Is there any way I can avoid seeing that message? I see Netflix movies and they are just fine and I never see that message there. Please suggest if there is some setting in the ini file that I might have missed.
> 
> Thanks a bunch.


 Nothing you can do about it. Currently TiVo seems to have imposed a maximum of ~1.1GB buffer for video streaming. Once exceeded TiVo shuts down the stream. Streambaby works around this by starting a new stream at the point where you were cut off but obviously the side effects are a longish delay for a new stream to start as well as losing built up buffer.
Video streaming to TiVo is currently officially undocumented/unsupported (no help from TiVo) and nobody from TiVo seems to have dropped any hints on how to overcome this limitation so for now there is no better workaround for the problem.


----------



## johnh123

Is there any way to run streambaby without the command line console box being open?


----------



## moyekj

johnh123 said:


> Is there any way to run streambaby without the command line console box being open?


 service mode


----------



## larry99

On aspect ratio, I keep the TIVO on full and use the TV aspect ratio control to control image. Also, I set TIVO to transmit native resolution to the TV screen. Although, this introduces some delay when switching channels, I feel that it results in a better image.

On audio, a minor problem I have had is losing syncronization between audio and video when resuming play in the middle of a file. I discovered an easy way to fix this, just go back a few seconds and start play over.

I am also interested if there is a list of all the error codes available?

Overall, I am very impressed well how well this program works. Great job to all those who worked on it.


----------



## canbonbon

Thanks for your reply. I got it. But then how does Netflix or Amazon (or any other movie streaming website) does it on TIVO? They don't seem to run into that buffer limitation and we can watch un-interrupted. So I guess, there is a way, someone just needs to hack into it. So I guess, for now, I will got back to PyTivo.

Thanks again.



moyekj said:


> Nothing you can do about it. Currently TiVo seems to have imposed a maximum of ~1.1GB buffer for video streaming. Once exceeded TiVo shuts down the stream. Streambaby works around this by starting a new stream at the point where you were cut off but obviously the side effects are a longish delay for a new stream to start as well as losing built up buffer.
> Video streaming to TiVo is currently officially undocumented/unsupported (no help from TiVo) and nobody from TiVo seems to have dropped any hints on how to overcome this limitation so for now there is no better workaround for the problem.


----------



## bkdtv

canbonbon said:


> Thanks for your reply. I got it. But then how does Netflix or Amazon (or any other movie streaming website) does it on TIVO? They don't seem to run into that buffer limitation and we can watch un-interrupted. So I guess, there is a way, someone just needs to hack into it.


The TiVo can definitely stream without the need to rebuffer every 1.1GB (as evidenced by Netflix), but TiVo hasn't said publicly how to do it. Until TiVo tells people how to do it, we're going to be stuck with the current limitation.


----------



## dlfl

larry99 said:


> ........On audio, a minor problem I have had is losing syncronization between audio and video when resuming play in the middle of a file. I discovered an easy way to fix this, just go back a few seconds and start play over..........
> Overall, I am very impressed well how well this program works. Great job to all those who worked on it.


Ditto on both comments.


----------



## BJezz

canbonbon said:


> I have just installed StreamBaby and it works very well. I have mpg files that I am trying to watch over tivo. But once in a while I get the message Rebuffering, please wait. It is very distracting. Is there any way I can avoid seeing that message? I see Netflix movies and they are just fine and I never see that message there. Please suggest if there is some setting in the ini file that I might have missed.
> 
> Thanks a bunch.


As moyekj has already posted, this is not currently possible using Streambaby. However, you could use something such as pyTivo for longer recordings. It doesn't stream the video, but instead copies it to the Now Playing List. You can start watching immediately, but can only watch what has copied so far. So Streambaby is useful if you want to search through a film and start watching from part way through without waiting for it to transfer right away. It is also useful for transferring shorter recordings which don't trigger a rebuffer. Also when you transfer something using pyTivo or similar, it might be necessary to make room for it and the TiVo could delete some older recordings. Streambaby would avoid this, but you'd need to rebuffer.


----------



## moyekj

This stream buffer limitation is very annoying, no doubt about it and I'm pretty sure a better undiscovered solution/workaround to the problem exists. If anyone here have some clout with TiVo it would be great to get a hint at how to solve this problem. I can understand TiVo not divulging information publicly about this since HME video streaming is not officially/publicly supported, but surely a private message or some sort of indirect hint at how to do it is all that is needed.


----------



## wmcbrine

I see no reason to expect help from TiVo, and I don't. Anything they gave us would go into open source code, so it's not like they can have us sign NDA's, and there's no logic behind them PM'ing something that they ought to just publish in HME SDK 1.5 (or whatever).

Anyway, there's no reason we can't figure it out ourselves, as we did the original video streaming, as well as the pushing of MP4, and so on.


----------



## moyekj

wmcbrine said:


> Anyway, there's no reason we can't figure it out ourselves, as we did the original video streaming, as well as the pushing of MP4, and so on.


 I guess it is more exciting that way... I think it would help if Keary would pull out the SSL spy gear on Netflix streaming.


----------



## spocko

wmcbrine said:


> there's no logic behind them PM'ing something that they ought to just publish in HME SDK 1.5 (or whatever).


Do you anticipate that we will ever see any more updates to the HME SDK? It doesn't look like there has been anything new on the HME sourceforge site since 2007.

Personally, I don't see why Tivo wouldn't want to drop you guys a few unofficial hints to help you out. Programs like pytivo, streambaby, galleon, kmttg, tivoplaylist, etc. add a lot of value to the Tivo platform, helping to set Tivo apart from other DVRs, and it doesn't cost Tivo anything. Heck, I think they should give the major 3rd party devs free service or something just to say thanks.


----------



## Iluvatar

I havent kept up with all 100+ pages of this but I know rtsp has been mentioned. Has anyone downloaded any of the free rtsp servers to mess around with? If a simple hme wrapper could be written around it we might be able to see if the TiVo would respond to some of the standard protocol commands.

I've not seen any java implementations so the rtsp server would have to be completely re-implemented/written to fit in with streambaby. The project may not be worth the amount of effort  Although if someone can get it working it seems that the rtsp protocol uses fairly easy to understand commands for things like cache/buffer control and persistent connections for multiple range requests.

Something like this makes me wish I knew how to code better


----------



## matelot

Hi, I am using streambaby within PyTivoX. My video stops streaming at about 28 mins every single time. It's a 1-hr show and the file size is 2GB. Any config I need to look into?

Thanks.


----------



## BJezz

Spocko - I heard that TiVo did an about turn on their vision of HME. Originally they thought like you (and probably the rest of us) that this was a way of getting new functionality for little effort and actively promoted development from the community. Then somewhere along the line they decided that they didn't want just anybody creating HME applications and so no longer do anything to encourage it. I understand this is because of the concerns that people would call them for support on software they didn't write or have any control over. It might also be that they don't want to encourage software that doesn't fit in with their interface or vision of the product. So although they haven't withdrawn anything they've done so far (nor do I imagine them ever doing so), they have stopped publishing updates to the SDK. That's not to say they haven't created new versions, just that they are not available to the public.

I don't know for sure that's the real explanation and it seems strange to leave us dangling with an old SDK so we can develop but not easily take advantage of new features. I'd like to think that they realize this is a mistake, because I also think that the ability to add unofficial software to the TiVo is one of its greatest strengths. I mean, right now, if I think about what the TiVo is capable of, I'm including things that a TiVo without unofficial HME applications cannot do. It's the same as if you asked me what you could do with a PC; I wouldn't limit myself to only suggesting functionality capable with just an operating system installed.

Matelot - The last time somebody had this problem, it was down to the way that the video was encoded. In their case the video was ripped from DVD still in VOB format.

The clue will be that Streambaby normally shows a time line for the duration of the entire clip and the green bar gradually grows to show the element streamed. If instead the duration is equal to the amount streamed and the duration also grows as more data comes back, this shows that Streambaby is not able to interpret the video length correctly. The actual cause was that the video was reporting a 0 duration. At the 28 minute mark the buffer is full, but Streambaby cannot re-seek in this kind of video to create a new video stream because it thinks that it has already gone beyond the end of the video.


----------



## moyekj

matelot said:


> Hi, I am using streambaby within PyTivoX. My video stops streaming at about 28 mins every single time. It's a 1-hr show and the file size is 2GB. Any config I need to look into?
> 
> Thanks.


 Is that a .TiVo file? If so then that's normal behavior - .TiVo files cannot (currently) be played back where you left off once the stream buffer fills up and TiVo disconnects the stream. Decrypt it to a regular mpeg and you should have no problems.


----------



## jannlinder

bkdtv said:


> The TiVo can definitely stream without the need to rebuffer every 1.1GB (as evidenced by Netflix), but TiVo hasn't said publicly how to do it. Until TiVo tells people how to do it, we're going to be stuck with the current limitation.


Ummm... it is easy how they get around it. Netflix uses Microsoft's Silverlight (name correct?) which is an App that (TiVo/NetFlix) wrote for use on the Linux operating system. That app takes over all communications and does NOT use HME (or TiVo's built-in routines to play MP4) to talk to anything. This was a requirement of the Studios for any player so the studios could "lock down content". That is also how it keeps sending back info on the connection and appropriately sets the parameters for bitrate, etc (during playback). Therefore the 1.1 gig limit does not apply since they are not using TiVo's built-in routines. Just an aside: Don't ya' wish we could do THAT in Streambaby? For those of us that accidentally start up an HD movie using a 5k bitrate (and have slower networks/computers that we are serving video on) the auto-adjusting bitrate would be GREAT!

Unfortunately HME does not allow us to actually run any apps on the TiVo. It simply enables us to utilize apps already on the TiVo to do what we want...like streaming MP4's, displaying HTML-like characters on the TiVo, etc.

If we could write our own TiVo apps and have TiVo sign them or approve them, etc (like w/the iPhone) we would have much better systems, IMHO.

For someone that just got into Wii programming (using HomeBrew) I would wish sometime that we could do this with the Wii... MPlayer is on the Wii.. and we can write our own apps for the Wii...Is there really a reason that we could not do something like playing MP4 streams on other platforms that Streambaby could serve to without many code changes?

Jann


----------



## wmcbrine

The Netflix clearly player uses a different method than the standard HME video streaming (as used by YouTube and Streambaby), yes. But what's your basis for saying that it uses Silverlight?

The reason the Netflix player doesn't have a limited buffer is apparently that it doesn't have _any_ buffer, or rather has only a limited forward buffer, and retains nothing already played, but re-fetches it if you rewind. It's possible that using this would be as simple as passing a few more options to the CMD_RSRC_ADD_STREAM command, but I don't know.


----------



## matelot

The file was left as VOB. I didn't bother to change the extension to MPEG because I thought it's the same format as MPEG. I will change the extension and see if it still does the same thing.

Thanks


----------



## jannlinder

wmcbrine said:


> The Netflix clearly player uses a different method than the standard HME video streaming (as used by YouTube and Streambaby), yes. But what's your basis for saying that it uses Silverlight?


Netflix uses silverlight across all platforms:

http://www.tgdaily.com/content/view/40514/122/
and
http://macdailynews.com/index.php/weblog/comments/18892/

They even blamed it for layoffs.


----------



## jmemmott

jannlinder said:


> Netflix uses silverlight across all platforms:


It is not quite correct to say that they are using Silverlight/Moonlight in the Tivo as Silverlight is a cross-platform client side browser technology. Rather, Netflix is using Windows Media Services for distribution. In addition to adaptive streaming, WMS also has the ability to enforce authentication, impose various connection limits, and restrict access. WMS utilizes a proprietary encrypted control protocol and an optionally encrypted content stream. Typically, Windows Media Player is used to decode and watch/listen to the streams, but other players (Microsoft Silverlight, VLC, MPlayer, etc.) are also capable of playing Windows Media content if the content is unencrypted and other components provide the DRM and control support. Moonlight lacks the DRM component needed to make it work with Netflix streams. As a result, Netflix Silverlight players will not work under Linux browsers.


----------



## wmcbrine

jannlinder said:


> Netflix uses silverlight across all platforms:


No, it doesn't. I don't see how you get that out of the articles you linked, either.

In fact, if you read some of the Netflix threads here, you'll see that the TiVo's Netflix player reportedly behaves more like the pre-Silverlight Netflix players for other platforms.


----------



## moyekj

Ability to stream WMV to TiVos via HME showed up as soon we got software update that enabled Tivo/Netflix, so to me that suggests it is tightly coupled to HME (just not HME as we know it). The problem we have is the published HME SDK specs are way outdated compared to the current capabilities Tivo has added.


----------



## jmemmott

moyekj said:


> Ability to stream WMV to TiVos via HME showed up as soon we got software update that enabled Tivo/Netflix, so to me that suggests it is tightly coupled to HME (just not HME as we know it). The problem we have is the published HME SDK specs are way outdated compared to the current capabilities Tivo has added.


I would agree with you but having seen OEM CE projects from the inside, I would suggest that the connection to HME is mostly API and UI connections and may not generalize to any lower levels. Netflix has its own Partner Client player group that appears to be tasked with providing and supporting the player for their OEM partners. Their core code is also running on other Linux boxes such as the Roku box with no hard disk, and limited memory and may run on specialty OS platforms such as LG broadband HDTVs. The API is most likely implemented as drop in binaries provided by Netflix so the internals/protocols involved may have nothing do with anything else Tivo does.

If this is the case, the player process for locating/talking to the stream servers and identifying available streams is likely coded to the Netflix Window Media Servers and may not resemble HME streaming. If Netflix controls this under NDA  which I would certainly do if I were them, it will never get into the SDK specs.


----------



## mourning_air

Is anyone else having any issues with mp4s looking interlaced? I'm digitizing my dvds and they look great if I just play the VOB through streambaby but once I convert the VOB to mp4 I get what looks like interlacing lines. They are especially obvious on scenes with text (opening credits). I am using Handbrake's PS3 preset to encode the VOBs. Mediainfo shows that the mp4 is not interlaced.

I am using the r239 streambaby


----------



## Iluvatar

mourning_air said:


> Is anyone else having any issues with mp4s looking interlaced? I'm digitizing my dvds and they look great if I just play the VOB through streambaby but once I convert the VOB to mp4 I get what looks like interlacing lines. They are especially obvious on scenes with text (opening credits). I am using Handbrake's PS3 preset to encode the VOBs. Mediainfo shows that the mp4 is not interlaced.
> 
> I am using the r239 streambaby


Yes I am seeing this issue as well. I hadnt gotten around to figuring out why though. MP4 files sometimes seem interlaced however when transcoded with ffmpeg through pyTivo the picture is perfect quality.

*Maybe off topic* - I also noticed that the menu bar is slightly interlaced when using 1080i on my TV. It is set at 720p for now which took care of the issue.


----------



## solutionsetc

Using StreamBaby from PyTiVoX I have some Apple supplied .m4v files. Some are 4:3 640x480, and these play at the proper AR. Others are 16:9 640x360, and these are squished into 4:3.

Can anything be done to get the 16:9 files to play with the proper AR?


----------



## moyekj

solutionsetc said:


> Using StreamBaby from PyTiVoX I have some Apple supplied .m4v files. Some are 4:3 640x480, and these play at the proper AR. Others are 16:9 640x360, and these are squished into 4:3.
> 
> Can anything be done to get the 16:9 files to play with the proper AR?


 Try adjusting PAR using MP4Box on the offending m4v files. More information in this thread:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=421873&highlight=PAR
(For your 16:9 640x360 clips you should set PAR=1, i.e. *MP4box -par 1=1:1 file.m4v*)


----------



## solutionsetc

moyekj said:


> Try adjusting PAR using MP4Box on the offending m4v files.


Thanks... I'm happy to try that but am having a bit of trouble locating an OS X binary of MP4Box. Any suggestions?


----------



## moyekj

solutionsetc said:


> Thanks... I'm happy to try that but am having a bit of trouble locating an OS X binary of MP4Box. Any suggestions?


Try this one.
(To unpack it from command line: *bunzip2 -c mp4box-mac-tar.bz2 | tar xf -*)


----------



## solutionsetc

Thanks again... but it seems I am not having much luck. Here is what I am seeing:



Code:


Work:~ ss$ /Volumes/Stuff/Documentation/Audio-Video/Tivo/MP4Box -par 2=1:1 /Volumes/XP/SneakPeak.m4v 
Setting up iTunes/iPod file...
Forcing AVC/H264 SAR to 1:1...
Saving /Volumes/XP/SneakPeak.m4v: 0.500 secs Interleaving
Error renaming file out_SneakPeak.m4v to /Volumes/XP/SneakPeak.m4v

And the original file is gone! Can you tell me what I am missing?


----------



## moyekj

Here's documentation on MP4Box:
http://gpac.sourceforge.net/doc_mp4box.php

You can use *-out file* switch to specify the output file as different than the input file.


----------



## solutionsetc

Thank you so much... That did the trick! Now I just need to write a GUI for this as I get these kinds of files regularly.


----------



## BJezz

Netflix are not mentioned in the copyright information on the TiVo, whereas pretty much everybody that can be mentioned has been. This suggests to me that there is no Netflix component running on the TiVo itself and that they are streaming data over HME.

I'm just guessing though. But if it is using HME, I would be surprised if the network traffic to control the streaming was encrypted. I would only expect the video itself to be encrypted.

I don't have a Netflix account, so I cannot volunteer with a packet sniffer.


----------



## wmcbrine

TiVo routinely uses HME over SSL, even for stuff that seems pointless to hide, much less stuff that they actively want to hide; so yes, it's encrypted.

HME per se doesn't stream anything. We send a command to the TiVo, with a URL, and it fetches the material "behind the scenes". As it does so, it sends back status reports every so often -- where it is in the stream, what rate it's playing at. At the same time, we can send commands -- pause, speed up, etc.

Now, in Streambaby, the TiVo ends up making its http request right back to the same server that's running the HME front-end. But handling that request is technically outside the scope of HME. (It's just a standard http request, like you'd make to download a file.)


----------



## BJezz

Well that sucks, but is very interesting. I had this vision of the HME commands being intertwined with the encrypted video, making it difficult (but eventually possible) to decipher the command set. But if the HME calls are encrypted on a separate connection, I see rebuffering being a workaround in Streambaby for a long time to come.


----------



## jcthorne

For vids longer than 1 hr, why not just have them pushed and start watching a few minutes later when the buffer has built up? Seems to work for most .mp4s I have tried.


----------



## blastoff

Have given streambaby a try. No problems installing, messages indicate it is running, but it does not show up on my Tivo (under music, photos ...). Have tried changing video directory, ports, and IP, but no joy.


----------



## wbm

blastoff said:


> Have given streambaby a try. No problems installing, messages indicate it is running, but it does not show up on my Tivo (under music, photos ...). Have tried changing video directory, ports, and IP, but no joy.


I'm having problems getting it to work too. Dled and configured it, got the latest version of Java. Mine shows its ready on the PC, and appears in the tivo menu, but when I click the option I usually just get a please wait screen for a couple of minutes, then the 50005 connection error. A couple of times it has pulled up my videos folder, but when I press play I get about a second of video, then it crashes and the PC shows the connection has been reset. I'm not real literate with this stuff, so if anyone has ideas for me to try I would very much appreciate them. Also, if there's a resource where there's troubleshooting info I would love to know about it.

I liked the idea of SB because I've read the TIVO desktop is a bit of a resource hog on a PC, and I just want to occasionally be able to stream a movie or TV show from my computer.

Thx in advance for any help.


----------



## rfryar

jcthorne said:


> For vids longer than 1 hr, why not just have them pushed and start watching a few minutes later when the buffer has built up? Seems to work for most .mp4s I have tried.


For the HD videos I am using in MP4 format, 8K bitrates, they will stream fine, just a bit faster than live. But when pushed they transfer a LOT slower than real time. Not sure why that is the case but it is for me at least.

Also one of my Tivo's is on the test servers so I can not push content to it at the moment. 

Rick


----------



## windracer

rfryar said:


> Also one of my Tivo's is on the test servers so I can not push content to it at the moment.


First rule of fight club ...


----------



## moyekj

rfryar said:


> Also one of my Tivo's is on the test servers so I can not push content to it at the moment.
> Rick


 Actually you can. In streambaby config just change the mind server to the following (instead of mind.tivo.com):
stagingmind.tivo.com


----------



## Sheldon469

Subscribed.


----------



## cburbs

What does this error mean?

Initializing StreamBaby svn-r238...
java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpSer
ver.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:
169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:
103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:152)
error: Cannot assign requested address: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class

Exited.
Press any key to continue . . .


----------



## solutionsetc

Just a guess but do you have a firewall that might be blocking incoming connections to Java?


----------



## cburbs

It worked the other day on an older version of streambaby. I just upgraded recently.


----------



## cburbs

SVRN-232 runs fine I just tested it.....I always just copy my ini file over to the new version. I can't run any of the 2 new versions 238 and 239.


----------



## solutionsetc

Does the version that used to work still work?


----------



## kearygriffin

cburbs said:


> SVRN-232 runs fine I just tested it.....I always just copy my ini file over to the new version. I can't run any of the 2 new versions 238 and 239.


Somewhere between those version (I think) I "fixed" a problem with binding to wrong IP addresses... Either I fixed it incorrectly, or it was only working on your system before due to a bug.

Do you have an ip= line in your streambaby.ini? If so make sure it is the correct IP address that you want to bind to. (And you can try commenting it out if it is there also).


----------



## cburbs

kearygriffin said:


> Somewhere between those version (I think) I "fixed" a problem with binding to wrong IP addresses... Either I fixed it incorrectly, or it was only working on your system before due to a bug.
> 
> Do you have an ip= line in your streambaby.ini? If so make sure it is the correct IP address that you want to bind to. (And you can try commenting it out if it is there also).


Yep - I just copy the ini file from each version to the next. I also commented it out and then it just sits there and doesn't do anything.
R237 works but I can't get 238 or 239 to go.


----------



## westside_guy

I've run into a problem with the latest subversion code (r239), running on Mac OS X 10.5.7. Happens whether I use the default java or force use of 1.6.



Code:


$ ./streambaby
Initializing StreamBaby svn-r239...
06/21/09 16:56:55 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
java.net.BindException: Can't assign requested address
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
        at java.net.ServerSocket.bind(ServerSocket.java:319)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpServer.java:204)
        at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:169)
        at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
        at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
        at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: Can't assign requested address
usage: Main [--port <port>] [--ip <ip>] class

$

With an identical streambaby.ini file, 0.27 works just fine. I just decided to try the subversion code today to see if some mp4 audio synch issues got cleared up.

Here's the .ini file (in case someone asks):



Code:


#
# ./streambaby --help for more configuration file options
#

# Video share(s)

title=Our Video Collection (Streambaby svn-r239)
dir.1=/Volumes/foobar/moveez
dir.1.name=Our Video Collection

toplevel.skip=true

# Ip address to bind to

ip=192.168.1.7

# port to use

port=7290

# ffmpeg info

ffmpeg.path=/sw/bin/ffmpeg

# Tivo.com account information (needed for optional video push)

[email protected]
tivo.password=fubar42

tivo.1=This is the important tivo
tivo.1.tsn=1234567890ABCD
tivo.2=This is the less important tivo
tivo.2.tsn=DCBA0987654321

# Miscellaneous settings

##mp4module.interleave=false
preview.big=true

use.title=true
sort.filename=true
meta.vidinfo.disable=false
use.title.cachedonly=false

Any ideas? Thanks!


----------



## Yoav

Obvious question: is your machine's IP address 192.168.1.7? is port 7290 already taken by another program?


The ffmpeg warning is because you don't have the shared libs set up right (although I'm assuming you don't care).


----------



## westside_guy

Yoav said:


> Obvious question: is your machine's IP address 192.168.1.7? is port 7290 already taken by another program?


Yes, and no. Everything works fine with streambaby 0.27. When I stop it, and then try to start svn-r239, the errors occur. If I then turn around and start 0.27 again, everything is fine.



Yoav said:


> The ffmpeg warning is because you don't have the shared libs set up right (although I'm assuming you don't care).


Yeah, I've never cared enough about those warnings to bother solving them.  I almost exclusively use streambaby in push mode; so the thumbnailing etc. isn't important to me.


----------



## westside_guy

Okay, I'm officially an idiot. All this time I thought I'd assigned that computer the address 192.168.1.7; but it's actually 192.168.1.2 - that was the issue.

However that does bring up another (academic) problem - why did it work with the latest release (0.27), since the wrong IP was in that streambaby.ini as well? It seems like both should've been broken, or both should've worked.


----------



## kearygriffin

westside_guy said:


> However that does bring up another (academic) problem - why did it work with the latest release (0.27), since the wrong IP was in that streambaby.ini as well? It seems like both should've been broken, or both should've worked.


There was a bug in streambaby that caused it to not bind correctly to the IP address specified in the INI file. The last couple of SVN versions fix this problem. (It's not quite as simple as this, as having the ip= line in the INI in old versions did affect the binding, just not in the correct way...)


----------



## MrGolden

I've searched for this, and couldn't find an answer...

My problem is an mkv file with subtitles *below* the video, inside the bottom black bar. If I play the video in WMP or VLC, I can see the subtitles, but when I play it on the Tivo using Streambaby the subtitles aren't visible. It seems like Streambaby is zooming in on just the video, and leaving out the black bars (and the subtitles). 

I'm using version 027 and have tried the Tivo Ratio button and different TV settings, but none of that works. Any ideas?

Thanks in advance.


----------



## cburbs

kearygriffin said:


> There was a bug in streambaby that caused it to not bind correctly to the IP address specified in the INI file. The last couple of SVN versions fix this problem. (It's not quite as simple as this, as having the ip= line in the INI in old versions did affect the binding, just not in the correct way...)


Mine works now after changing it to the correct IP - :up:


----------



## windracer

I've apparently screwed something up. I haven't used streambaby in a while and now I'm getting 0xffffff errors whenever I try to play a video. In the log I see

JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe closed

I rebuilt ffmpeg last night just in case, but no luck. Guess I'll have to dig into this a bit more ...


----------



## windracer

windracer said:


> I've apparently screwed something up. I haven't used streambaby in a while and now I'm getting 0xffffff errors whenever I try to play a video.


Looks like it's just MP4 videos causing me problems ... AVI, WMV, MPG, etc. works fine. Something must be wrong with my current ffmpeg build. 

_edit:_ ah, looks like I am having the "codec frame rate differs from container frame rate" problem reported earlier in this thread (back in March). Lowering the quality works around the problem and the file plays. Was there ever a solution discovered for this?


----------



## rfryar

windracer said:


> _edit:_ ah, looks like I am having the "codec frame rate differs from container frame rate" problem reported earlier in this thread (back in March). Lowering the quality works around the problem and the file plays. Was there ever a solution discovered for this?


What I do is remux the MP4. Use MP4Box to extract the raw audio and video streams and remux. That way the container will be recreated. I have to do this with several tools that create the MP4 container is some manner that StreamBaby (Or the TiVo) does not like. This may fix your issue.

Rick


----------



## dlfl

windracer said:


> Looks like it's just MP4 videos causing me problems ... AVI, WMV, MPG, etc. works fine. Something must be wrong with my current ffmpeg build.
> 
> _edit:_ ah, looks like I am having the "codec frame rate differs from container frame rate" problem reported earlier in this thread (back in March). Lowering the quality works around the problem and the file plays. Was there ever a solution discovered for this?


MP4's created by HandBrake don't seem to have this issue. (Windows system).


----------



## windracer

rfryar said:


> What I do is remux the MP4. Use MP4Box to extract the raw audio and video streams and remux. That way the container will be recreated. I have to do this with several tools that create the MP4 container is some manner that StreamBaby (Or the TiVo) does not like. This may fix your issue.


Ugh ... earlier this year I converted all of my videos and DVDs into MP4 using WinFF. These used to play just fine through streambaby, but with a different version of ffmpeg I guess. It would be quite a lot of work to re-mux those.


----------



## kearygriffin

windracer said:


> Ugh ... earlier this year I converted all of my videos and DVDs into MP4 using WinFF. These used to play just fine through streambaby, but with a different version of ffmpeg I guess. It would be quite a lot of work to re-mux those.


MP4 shouldn't need ffmpeg to do anything except generate previews (which even if it doesn't work shouldn't cause errors), so I don't think that is going to be the problem...

Do these videos work with an older version of streambaby? (Say V0.25 which uses different MP4 splitting code) Which version are you currently running?


----------



## windracer

kearygriffin said:


> Do these videos work with an older version of streambaby? (Say V0.25 which uses different MP4 splitting code) Which version are you currently running?


I'm using the latest svn. Tonight I'll try rolling back and see what happens, thanks!


----------



## windracer

Sure enough, rolling back to 0.25 resolved my 0xffffff issue. Thanks!


----------



## bluehz

Can anyone share an ffmpeg h264 recipe that works with streambaby. I am having no luck. Tried several recipes from the most simple to the most complex and stillno luck playing in streambaby. I have also tried various builds of streambaby including 0.25, 0.27, svn-r232 and svn-r239 and still no luck. I can transcode with ffmpeg to mpeg-4 all day and they play fine with streambaby. Lookin' for some suggestion.

FWIW - my ffmpeg is a custom build using the June 26, 2009 svn and all the latest components. But I have tried other ffmpeg including older versions built by myself and prebuilt versions (incl. the one that comes pkgd inside pyTivoX) and still no luck with h264.

Also - a side note here - I run streambaby on a headless Ubuntu server and streambaby was always complaining about "couldn't open X display" because I don't have an X server running on that machine. If you run into this problem - the solution is to open streambaby and add: -Djava.awt.headless=true

e.g.

#!/bin/bash
DIRNAME=`dirname $0`
java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" [email protected]

Hope that helps someone - took me a while to figure it out.


----------



## moyekj

Both the ffmpeg H.264 recipes posted in video_compatibility should work fine if starting from mpeg2 source with AC3 video.


----------



## bluehz

Those were the first ones I tried - no go. The source material is DV, but that really shouldn't make much difference I would think.



moyekj said:


> Both the ffmpeg H.264 recipes posted in video_compatibility should work fine if starting from mpeg2 source with AC3 video.


----------



## moyekj

bluehz said:


> Those were the first ones I tried - no go. The source material is DV, but that really shouldn't make much difference I would think.


 What's "DV"? Source material does kind of matter since those profiles are set to copy audio, so unless the source audio is already compliant that would be a problem.
Post your source video specs here using mediainfo and we can probably give a little more help. Perhaps more importantly post the video specs of the encoded video using one of those profiles and then we may see right away what the problem is.


----------



## bluehz

DV = Digital Video format (pulled straight from a mini-DV video camera (see Wikipedia)

To see if maybe the DV was the problem, I converted it to mpeg-2 using:

ffmpeg -i $INPUT.mov -sameq -target dvd $OUTPUT.mpg

and then converted that using your recipe:

ffmpeg -y -i $INPUT.mpg -vcodec libx264 -coder 0 -level 41 -sameq -g 300 -bufsize 14745k -b 5000k -maxrate 16000k -bug "+autodetect+ms" -me_method epzs -trellis 2 -mbd 1 -acodec copy -f mp4 $OUTPUT.mp4

Still no go. I don't get an error on the Tivo (like most mp4 I attempt), just a black screen with the scrub bar, but no video or audio.

I am attaching the mediainfo output for both the original DV source material and the converted mpeg-2 source material.

FWIW - this is using streambaby-0.27



moyekj said:


> What's "DV"? Source material does kind of matter since those profiles are set to copy audio, so unless the source audio is already compliant that would be a problem.
> Post your source video specs here using mediainfo and we can probably give a little more help. Perhaps more importantly post the video specs of the encoded video using one of those profiles and then we may see right away what the problem is.


----------



## moyekj

I don't see an issue with the DVD compliant conversion (though the Audio Bit rate of 448Kbps is at the limit of what Tivo can decode). Could you also post the mediainfo information of the final mp4 file?
Also would be helpful to have streambaby debug info (streambaby.log file) as detailed in the debugging_problems wiki when attempting to stream the mp4 file.


----------



## moyekj

Also another note. Sometimes when decoding H.264 the Tivo decoder can take up to 10 seconds before displaying video, so you should use a longer clip than 6 seconds for testing it out.

For testing your streambaby setup it's also useful to try out a known good to stream H.264 clip such as this one. (That particular one has AAC audio).
There is another test H.264 clip with oddball resolution and AC3 audio here.


----------



## bluehz

Here is the mediainfo for the converted h264 video that was converted from sources above DV > mpeg-2 > h264 using the recipe from your googlecode site.

I will enable the debug info and report back.



moyekj said:


> I don't see an issue with the DVD compliant conversion (though the Audio Bit rate of 448Kbps is at the limit of what Tivo can decode). Could you also post the mediainfo information of the final mp4 file?
> Also would be helpful to have streambaby debug info (streambaby.log file) as detailed in the debugging_problems wiki when attempting to stream the mp4 file.


----------



## moyekj

bluehz said:


> Here is the mediainfo for the converted h264 video that was converted from sources above DV > mpeg-2 > h264 using the recipe from your googlecode site.
> 
> I will enable the debug info and report back.


 That one is showing AAC audio instead of AC3? Not that AAC should be an issue but if you generated it from the DVD compliant recording with AC3 audio you should end up with AC3 audio.
Also make sure the sample streams I linked to above stream fine for you with streambaby as those are known to work.


----------



## windracer

I've run into my first MKV file that is giving ffmpeg (and thus streambaby and pyTivo) fits for me. I think it might be the AAC-HE audio stream? I've been trying all sorts of things to remux this sucker into a TiVo compatible format and cannot get it to work.

So I just found Sicklybutsexy's MKVac3-Mp4.bat file and it's choking on the audio track as well so I end up with an MP4 video without audio. Am I missing a tool? Any ideas?



Code:


Extracting track 1 with the CodecID 'V_MPEG4/ISO/AVC' to the file 'C:\Users\CurrentUser\AppData\Local\Temp\tmpvidce.h264'. 
Container format: AVC/h.264 elementary stream
Progress: 100&#37;
Extracting track 2 with the CodecID 'A_AAC/MPEG4/LC/SBR' to the file 'C:\Users\CurrentUser\AppData\Local\Temp\tmpvidce.ac3'. 
Container format: raw AAC file with ADTS headers
Progress: 100%
AAC, 5.1 channels, 24khz
Unfortunately libav doesn't contain an (LGPL) AAC decoder.
Using mp4creator for fps 23.976, 64 bits and optimize
Error decoding sei message
mp4creator: can't open file C:\Users\CurrentUser\AppData\Local\Temp\tmpvidce2.ac3: No such file or directory
Deleting temporary files...
Could Not Find C:\Users\CurrentUser\AppData\Local\Temp\tmpvidce2.*
Stop time: 22:37:02.87
Done! Tivo compatible...

It looks like the "unfortunately libav" message is coming from eac3to.

_edit:_ doh! I just realized I've been misreading AAC as AC3!  I guess _that's_ my issue ... I need to convert that AAC stream into something else, right?


----------



## Rdian06

windracer said:


> I've run into my first MKV file that is giving ffmpeg (and thus streambaby and pyTivo) fits for me. I think it might be the AAC-HE audio stream? I've been trying all sorts of things to remux this sucker into a TiVo compatible format and cannot get it to work.


Try my new 0.98 Windows ffmpeg build:

http://pytivo.krkeegan.com/post3557.html#3557

The native ffmpeg AAC decoder cannot handle HE AAC, but they made it the default AAC decoder (overriding libfaad) a while back. So my build switches off the native ffmpeg AAC decoder and includes libfaad which can handle HE AAC. (Or at least the one test sample I have works...)


----------



## windracer

Thanks for the info, I'll give that a shot ... although I'm going to try and build my own ffmpeg using your command-line parameters from that post since I'm running on Linux.


----------



## windracer

Rdian06 said:


> The native ffmpeg AAC decoder cannot handle HE AAC, but they made it the default AAC decoder (overriding libfaad) a while back. So my build switches off the native ffmpeg AAC decoder and includes libfaad which can handle HE AAC. (Or at least the one test sample I have works...)


You come through again! Using your AAC patches to libavcodec and your configure flags, I was able to build a new ffmpeg on my Ubuntu server that is able to stream the MKV file now. Thanks!


----------



## MrGolden

I wish I could get as much (or any) help finding an answer 

Maybe I'm not describing the problem right?

Thanks, anyone...?



MrGolden said:


> I've searched for this, and couldn't find an answer...
> 
> My problem is an mkv file with subtitles *below* the video, inside the bottom black bar. If I play the video in WMP or VLC, I can see the subtitles, but when I play it on the Tivo using Streambaby the subtitles aren't visible. It seems like Streambaby is zooming in on just the video, and leaving out the black bars (and the subtitles).
> 
> I'm using version 027 and have tried the Tivo Ratio button and different TV settings, but none of that works. Any ideas?
> 
> Thanks in advance.


----------



## Iluvatar

MrGolden said:


> I wish I could get as much (or any) help finding an answer
> 
> Maybe I'm not describing the problem right?
> 
> Thanks, anyone...?


Are you certain that the subtitles are not soft-subs? Meaning that they are not hard burned into the media file. My guess is that in VLC you can go to the video menu and turn the subtitles on and off.

If this is the case you will need to extract the subtitle track (I use MKVextractGUI) and rename it to the same title as your movie file. It needs to be in SRT format. If it is in a format like ssa/ass you can use a program like Subtitle Workshop to convert it.


----------



## MrGolden

Yes, that's correct, I can turn them on and off in VLC. I'll try extracting them as you describe.

Thanks a lot for the suggestion!


----------



## MrGolden

That worked!

Thanks again, for the tip.



Iluvatar said:


> Are you certain that the subtitles are not soft-subs? Meaning that they are not hard burned into the media file. My guess is that in VLC you can go to the video menu and turn the subtitles on and off.
> 
> If this is the case you will need to extract the subtitle track (I use MKVextractGUI) and rename it to the same title as your movie file. It needs to be in SRT format. If it is in a format like ssa/ass you can use a program like Subtitle Workshop to convert it.


----------



## mourning_air

Does anyone have any tips or tricks to getting streambaby running on Windows 7 64bit? I am getting the following error:



> Initializing StreamBaby svn-r239...
> 07/01/09 06:39:17 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
> 07/01/09 06:39:17 Listener: added factory
> 07/01/09 06:39:17 Main: streambaby ready & listening.


I am able to browse streambaby on the tivo but nothing plays. I have tried hardcoding the ffmpeg.path and the lib.native in the .ini file but that didn't make a difference.


----------



## kearygriffin

mourning_air said:


> Does anyone have any tips or tricks to getting streambaby running on Windows 7 64bit?


My guess is that if you install the 32-bit version of Java, and force streambaby to use it by editing the streambaby.bat file, it should work better. (The ffmpeg binaries are 32-bit, so only the 32-bit version of Java can use them)

I'm running Linux, so I can't really give exact instructions.


----------



## mourning_air

Thank you! That was the issue. For those with the same issue: it looks like both the 32 and 64 bit JRE are installed by Sun but the 64 bit is used by default. Change the 


> java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8


line with 


> "C:\Program Files (x86)\Java\jre6\bin\java" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8


One odd thing is that avi files were giving the "stream failed to open" error until I "re-installed" (the first run ffmepeg download process) streambaby using the new batch file, so I would recommend changing the batch file before the first run of streambaby.


----------



## kupe

Hey gang-

I had originally posted this in the PyTivoX thread, but Yoav thought it might get some good insights here.

Anyhow, I'm running PyTivoX 1.3b5 under Leopard 10.5.7 and wanted to ask about a longstanding issue I have. For some reason, my Streambaby video volume under Music, Photos, and Showcases isn't "sticky". That is, anytime I want to view a streaming video, I have to go to my Mac and open PyTivoX and click Apply to "wake up" Streambaby and get it to appear on my Tivo Showcases.

Note that my "classic" PyTivoX volumes (under Now Playing) work just fine.

I've actually had this problem all the way back to PyTivoX 1.1b24. Any thoughts on cause or fix?

Thanks!

Kupe


----------



## warehouse

I just installed streambaby on my Windows Home Server and so far it is working beautifully. I have searched this thread with multiple terms and can't find and answer to the following question:

Is there any way to make the streambaby application appear at the top of the Tivo Showcases list? I'm trying to make this simple for my kids to use and it's hard to explain that they have to scroll down to the bottom every time. 

If not, I'll live with it since the application is so convenient. Thanks to all of those responsible for this tool. You guys Rock!


----------



## wmcbrine

warehouse said:


> Is there any way to make the streambaby application appear at the top of the Tivo Showcases list?


Nope.


----------



## kupe

Hey gang-

I've been having a problem with Streambaby dropping it's connection to my Tivo HD. I now have a Streambaby log excerpt for the period where this occurred. I watched a minute or so of Forrest Gump in Streambaby, then exited back to Now Playing. When I then checked Showcases, the Streambaby server was not present. Here is the log from the period:



Code:


Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|key=mpos:file:/Users/dave/Desktop/Tivo&#37;20Shares/Forest%20Gump.m4v value=18393applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Thu 2009/07/02 21:27:46.168|   |Acceptor|Listener|
Thu 2009/07/02 21:27:46.168|   |Acceptor|Factory|HME receiver disconnected
Thu 2009/07/02 21:27:48.083|   |Acceptor|NamedStream|DeRegistering named stream: e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream
Thu 2009/07/02 21:27:48.084|   |Acceptor|SocketProcessInputStream|Destroying running process...
Thu 2009/07/02 21:27:48.088|   |Acceptor|Listener|
Thu 2009/07/02 21:27:48.088|   |Acceptor|Listener|10.0.1.6 I/O Exception handling  HTTP GET e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream: Broken pipe
Thu 2009/07/02 21:27:48.089|   |Acceptor|Listener|ctx=HttpRequest /streambaby/e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream t=java.net.SocketException: Connection reset
Thu 2009/07/02 21:56:34.145|   |Timer-0|InfoCache$PruneTask|Pruning cache...
Thu 2009/07/02 21:56:34.145|   |Timer-0|InfoCache$PruneTask|Pruning complete.

I'm running the latest PyTivoX 1.3b5 and Leopard 10.5.7. I've been having this problem though for many versions of Streambaby. Yoav thought that the Broken Pipe error could be relevant, but I'm not sure where to go from here.

Thanks!

Kupe


----------



## whozat

windracer said:


> Sure enough, rolling back to 0.25 resolved my 0xffffff issue. Thanks!


I'm also having the 0xffff problem with .mp4 files in the versions of streambaby with the new MP4Splitter code. I tried that test.mp4 file that was linked here, one that's known to work. I've got the whole log, but here's what looks to be the appropriate snippet:



Code:


INFO   | jvm 1    | 2009/07/03 16:30:21 | 07/03/09 16:30:21 MP4StreamFactory$2: Start reinterleave...
INFO   | jvm 1    | 2009/07/03 16:30:21 | 07/03/09 16:30:21 MP4StreamFactory$2: Total size of all mdat chunks: 14405857
INFO   | jvm 1    | 2009/07/03 16:30:21 | 07/03/09 16:30:21 MP4StreamFactory$2: Finished reinterleave in: 0.052s
INFO   | jvm 1    | 2009/07/03 16:30:21 | 07/03/09 16:30:21 NamedStream: Registering named stream: 6677cb9a-7c7d-4433-b548-b992194f53e1.stream
INFO   | jvm 1    | 2009/07/03 16:30:22 | 07/03/09 16:30:22 StreamBabyStream$StreamBabyStreamFactory: uri=6677cb9a-7c7d-4433-b548-b992194f53e1.stream
INFO   | jvm 1    | 2009/07/03 16:30:22 | 07/03/09 16:30:22 NamedStream: Getting mapped stream for named stream: 6677cb9a-7c7d-4433-b548-b992194f53e1.stream
INFO   | jvm 1    | 2009/07/03 16:30:22 | 07/03/09 16:30:22 NamedStream: Getting mapped stream for named stream: 6677cb9a-7c7d-4433-b548-b992194f53e1.stream
INFO   | jvm 1    | 2009/07/03 16:30:25 | 07/03/09 16:30:25 NamedStream: DeRegistering named stream: 6677cb9a-7c7d-4433-b548-b992194f53e1.stream
INFO   | jvm 1    | 2009/07/03 16:30:25 | 07/03/09 16:30:25 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe closed
INFO   | jvm 1    | 2009/07/03 16:30:27 | 07/03/09 16:30:27 ViewScreen: error=ERROR: 0xffff
INFO   | jvm 1    | 2009/07/03 16:30:27 | test.mp4

Any idea why this new stuff is failing with this file that's supposed to be good?


----------



## moyekj

whozat said:


> I'm also having the 0xffff problem with .mp4 files in the versions of streambaby with the new MP4Splitter code. I tried that test.mp4 file that was linked here, one that's known to work. I've got the whole log, but here's what looks to be the appropriate snippet:
> 
> Any idea why this new stuff is failing with this file that's supposed to be good?


 Note that sometimes the Tivo gets in a bad state where it won't stream anything for a while, always giving you the 0xffff error. If you wait a while or play an mpeg2 stream for a few seconds it usually clears up. The test.mp4 clip plays for me fine in latest svn version as well as 0.27.

NOTE: I don't know if it's relevant but I have this setting permanently in streambaby.ini as I had issues with some of my mp4 files with interleaving enabled.
mp4module.interleave=false


----------



## Adahn

Can streambaby be used to play mp3's to tivo?
I have it working as designed for mpegs (not the Divx ones unfortunately).

My tivo sees the folders my mp3's are in, but only as empty directories.


----------



## wmcbrine

Streambaby is for video. There are lots of other programs you could use to handle audio.


----------



## Adahn

wmcbrine said:


> Streambaby is for video. There are lots of other programs you could use to handle audio.


Suggestions of ones that work in linux?


----------



## moyekj

Adahn said:


> Suggestions of ones that work in linux?


pyTivo


----------



## windracer

Adahn said:


> Suggestions of ones that work in linux?


Galleon.


----------



## myarken

Does anyone know how to make Streambaby list the metadata information (including Cover art) of Movies/TV shows ?

I know I've seen a screenshot of the description of the movie, actor/s and a movie poster on the screen where you hit "Start/Play from beginning".

Anyhelp would be greatly appreciated. I have alot of files but, it'll be handy to know what each one is without going to my PC and doing an imdb lookup.


----------



## mourning_air

See these changelog notes. I have been able to get txt and html to work but for some reason not jpg. HTML is the nicest since you can have the images, title and description just the way you want them.


----------



## kupe

Gacch...probably was a mistake posting this just before the July 4 holiday!  Anyhow, can I provide any additional info or get thoughts on why the Streambaby volume keeps dropping?

Thanks!

Kupe



kupe said:


> Hey gang-
> 
> I've been having a problem with Streambaby dropping it's connection to my Tivo HD. I now have a Streambaby log excerpt for the period where this occurred. I watched a minute or so of Forrest Gump in Streambaby, then exited back to Now Playing. When I then checked Showcases, the Streambaby server was not present. Here is the log from the period:
> 
> 
> 
> Code:
> 
> 
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|key=mpos:file:/Users/dave/Desktop/Tivo%20Shares/Forest%20Gump.m4v value=18393applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> Thu 2009/07/02 21:27:46.165|   |Acceptor|HostContext|compKey=652000180397425-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> Thu 2009/07/02 21:27:46.168|   |Acceptor|Listener|
> Thu 2009/07/02 21:27:46.168|   |Acceptor|Factory|HME receiver disconnected
> Thu 2009/07/02 21:27:48.083|   |Acceptor|NamedStream|DeRegistering named stream: e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream
> Thu 2009/07/02 21:27:48.084|   |Acceptor|SocketProcessInputStream|Destroying running process...
> Thu 2009/07/02 21:27:48.088|   |Acceptor|Listener|
> Thu 2009/07/02 21:27:48.088|   |Acceptor|Listener|10.0.1.6 I/O Exception handling  HTTP GET e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream: Broken pipe
> Thu 2009/07/02 21:27:48.089|   |Acceptor|Listener|ctx=HttpRequest /streambaby/e4275561-b21e-4b98-94cf-eb7b6b6f915b.stream t=java.net.SocketException: Connection reset
> Thu 2009/07/02 21:56:34.145|   |Timer-0|InfoCache$PruneTask|Pruning cache...
> Thu 2009/07/02 21:56:34.145|   |Timer-0|InfoCache$PruneTask|Pruning complete.
> 
> I'm running the latest PyTivoX 1.3b5 and Leopard 10.5.7. I've been having this problem though for many versions of Streambaby. Yoav thought that the Broken Pipe error could be relevant, but I'm not sure where to go from here.
> 
> Thanks!
> 
> Kupe


----------



## windracer

whozat said:


> I'm also having the 0xffff problem with .mp4 files in the versions of streambaby with the new MP4Splitter code.


Are you running streambaby through Galleon like I am? Per Keary, I did some testing and found that if I run svn-239 _outside_ of Galleon, it works just fine. The same MP4s will through the 0xffffff error if streambaby is running inside of Galleon.


----------



## myarken

mourning_air said:


> See these changelog notes.[/URL] I have been able to get txt and html to work but for some reason not jpg. HTML is the nicest since you can have the images, title and description just the way you want them.


As below, I've tried the video.avi and video.avi.txt and video.txt as the metadata file but, nothing is displayed (housed in the same directory as the video) Also tried .html extensions.
What am I doing wrong?

excert from streambaby changes log:
# Metadata is looked for in the form "filename.mpg.xxx" where xxx the metadata extension.
# Metadata is looked for in the same directory of the video file, or in a subdirectory of the directory where the main file is called .meta
# Metadata supported:
# .txt files- Either a pyTivo metadata file or a standard txt file (autodetected)
# .html
# .xml
# .gif, .png, .jpg: Use as straight images. New config property info.preserveaspect=true to control if img is allowed to be stretched
# Metadata is transformed using XSL into either straight txt or html (either is OK)

Update, I got the video.avi.txt to work OK. Just can't get the pictures to work. Tried jpg, gif, png. Also XML doesn't work either.


----------



## kearygriffin

myarken said:


> Update, I got the video.avi.txt to work OK. Just can't get the pictures to work. Tried jpg, gif, png. Also XML doesn't work either.


I just quickly tried a jpg and it seemed to work OK. (I wasn't sure since I hadn't actually tried it since I first implemented it.)

The steps I took were:
1. Created video file called "test.mp4"
2. Created a jpg in same directory called "test.mp4.jpg"
3. Ran streambaby, selected the directory, and then selected "test.mp4"
4. Streambaby brought up the play/quality/etc screen with the JPG image at the top.

As far as XML, it need to be a "TiVo" format XML extracted from a .TiVo file. Most applications don't extract this file directly, they convert it to a pyTivo .txt file. (Which is a specially formatted txt file) Streambaby supports other XML formats only if you create a xslt for it in the streambaby stylesheets directory. (Which is complicated)

Although there are applications out there to create pyTivo metadata files (pyTivo .txt files) out there, I haven't used them so you may have to google a bit.

You can manually create a pyTivo .txt file by creating a text file like the following:

video.mp4.txt:


Code:


title : Title of Movie
description : This is a movie about something really cool
image : images/video_cover.jpg

The image tag is a special tag that I don't think any applications except streambaby supports. The path can be either absolute (like c:\images\cover.jpg) or it is relative to the directory the .txt file is in.

The third option would be to create HTML files. This is completely free format, so you can do whatever you want but below is a simple example
video.mp4.html:


Code:


<html>
<body>
<h1>Movie name</h1>
<font size="4" color="#ffffff">This is a really good movie</font>
<img src="video.mp4.jpg"/>
</body>
</html>

The same path rules as above stand for the img tag in the above example.

Hope this helps.

Edit: Added spaces between key/value and the colon in the pytivo metadata example.


----------



## kearygriffin

kupe said:


> Gacch...probably was a mistake posting this just before the July 4 holiday!  Anyhow, can I provide any additional info or get thoughts on why the Streambaby volume keeps dropping?
> 
> Thanks!
> 
> Kupe


Sorry Kupe, I was hoping someone else who may be having similar problems would chime in. I did read the thread over in pyTivoX to see if there were any clues in that discussion.

Just to make sure I understand, the volume drops "quickly" (i.e. play a movie, wait a couple of minutes and streambaby disapears from the showcase menu)

I really have no idea-- If it was dropping the connection say after a few hours, I would think maybe something was wrong the jmdns code (the code that alerts the tivo of running HME applications) running on the Mac (but still wouldn't have any good ideas ;-).

If it drops quicker I am really surprised, because in most cases because streambaby doesn't "close" the jmdns connection even when it quits (due to some bugs in the jmdns). streambaby usually hangs around in the "showcases" menu for longer than should.


----------



## Chris McMahon

I've got an Australian TiVo (HD equivilent?) and for the last month or so, I've been getting random crashes when streaming video. This includes video files that previously stream perfectly.

I haven't changed any settings on my end.

For example, my last streaming video. A 350MB Xvid avi (640x368).

During the total video play time of 58m StreamBaby crashed 4 times:

@ 9m with error "Can't Run. An error occurred while running the application. The application closed during a read (0x50006). Press select to continue." Restarting the video, StreamBaby resumes approximately 2 minutes before the time it crashed.

@ 28m. No error message. TiVo just went straight to live TV. Again restart streambaby and the video started streaming approximately 2-3 minutes before the crash.

@ 49m. "Can't Run. An error occurred while running the application. The application closed during a write (0xffff). Press select to continue."

@ 57m. Exact repeat of 3rd error message.
StreamBaby's consol output when the above happened:

07/08/09 01:26:08 Listener: 192.168.1.6 icon.png HTTP GET - to factory
/streambaby/
log after close : initContext version=47
07/08/09 01:26:16 Factory: HME receiver connected
07/08/09 01:26:54 Listener: 192.168.1.6
bf98cdba-20ba-45c3-b231-3862571133e6.stream HTTP GET - to factory /streambaby/
07/08/09 01:36:28 Listener: 192.168.1.6 I/O Exception handling HTTP GET
bf98cdba-20ba-45c3-b231-3862571133e6.stream: Co
nnection reset by peer: socket write error
07/08/09 01:36:29 Listener: connection to receiver closed
07/08/09 01:36:29 Factory: HME receiver disconnected
07/08/09 01:36:42 Listener: 192.168.1.6 icon.png HTTP GET - to factory
/streambaby/
log after close : initContext version=47
07/08/09 01:39:23 Factory: HME receiver connected
07/08/09 01:39:44 Listener: 192.168.1.6
30ef28b8-0c67-410f-875d-38b11a13dc08.stream HTTP GET - to factory /streambaby/
07/08/09 01:52:50 Listener: 192.168.1.6
30ef28b8-0c67-410f-875d-38b11a13dc08.stream HTTP GET - to factory /streambaby/
07/08/09 01:59:52 Listener: connection to receiver closed
07/08/09 01:59:52 Factory: HME receiver disconnected
07/08/09 02:00:45 Listener: 192.168.1.6 icon.png HTTP GET - to factory
/streambaby/
log after close : initContext version=47
07/08/09 02:00:56 Factory: HME receiver connected
07/08/09 02:01:19 Listener: 192.168.1.6
fe26fec2-13bf-42e8-b62a-211d1423fd40.stream HTTP GET - to factory /streambaby/
07/08/09 02:08:56 Listener: 192.168.1.6
fe26fec2-13bf-42e8-b62a-211d1423fd40.stream HTTP GET - to factory /streambaby/
07/08/09 02:20:36 Listener: connection to receiver closed
07/08/09 02:20:36 Factory: HME receiver disconnected
07/08/09 02:22:20 Listener: 192.168.1.6 icon.png HTTP GET - to factory
/streambaby/
log after close : initContext version=47
07/08/09 02:23:19 Factory: HME receiver connected
07/08/09 02:23:49 Listener: 192.168.1.6
424a9ccc-e1b8-40b5-bb57-2d501604e13f.stream HTTP GET - to factory /streambaby/
07/08/09 02:26:53 Listener: 192.168.1.6
424a9ccc-e1b8-40b5-bb57-2d501604e13f.stream HTTP GET - to factory /streambaby/
07/08/09 02:32:27 Listener: connection to receiver closed
07/08/09 02:32:27 Factory: HME receiver disconnected
07/08/09 02:34:12 Listener: 192.168.1.6 icon.png HTTP GET - to factory
/streambaby/​I'm running 0.27 of Streambaby on WinXP Pro SP3, NOT running as a service. I've tried going back to 0.25 but problem persisted. I also tried reinstalling 0.27, as well as R239.

My StreamBaby.ini:
#
# ./streambaby --help for more configuration file options
#

dir.1=E:\Media\Movies
dir.1.name=Movies
dir.2=E:\Media\TV
dir.2.name=TV

# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.3
# port to use
port=7290​


----------



## zabolots

I've tried searching and tried browsing through this thread but with 45+ pages is just too hard to find something specific that doesn't come up with a search.

Does anybody have an init script to automatically start streambaby when Linux (Fedora 10 if it matters) boots?

Thanks...Scott


----------



## kearygriffin

zabolots said:


> I've tried searching and tried browsing through this thread but with 45+ pages is just too hard to find something specific that doesn't come up with a search.
> 
> Does anybody have an init script to automatically start streambaby when Linux (Fedora 10 if it matters) boots?
> 
> Thanks...Scott


I can't give specific instructions for Fedora, but there are scripts in
extra/service/linux32 (or linux64 depending on your architecture) to start/stop streambaby.

So for example if Fedora supports something like rc.local (a script that linux usually runs on startup) you could add a line in it like the following to start streambaby:

/path/to/streambaby/extra/service/linux32/streambaby start

And it will start up streambaby as a background daemon.


----------



## bluehz

Sorry for the delay in replying on this - I tried the test.mp4 as suggested and still no go. None of my mp4 would play. I then added:

mp4module.interleave=false

to my streambaby.ini and voila.. all the mp4 that would not play before (incl. test.mp4) played fine. This is using 0.25, 0.27 and svn-239.

EDIT: spoke too soon.. works fine with streambaby standalone - does not work running streambaby through galleon.



moyekj said:


> Also another note. Sometimes when decoding H.264 the Tivo decoder can take up to 10 seconds before displaying video, so you should use a longer clip than 6 seconds for testing it out.
> 
> For testing your streambaby setup it's also useful to try out a known good to stream H.264 clip such as this one. (That particular one has AAC audio).
> There is another test H.264 clip with oddball resolution and AC3 audio here.


----------



## zabolots

kearygriffin said:


> I can't give specific instructions for Fedora, but there are scripts in
> extra/service/linux32 (or linux64 depending on your architecture) to start/stop streambaby.
> 
> So for example if Fedora supports something like rc.local (a script that linux usually runs on startup) you could add a line in it like the following to start streambaby:
> 
> /path/to/streambaby/extra/service/linux32/streambaby start
> 
> And it will start up streambaby as a background daemon.


Thanks for pointing those out. I had completely missed them. Everything's all set up now for autostart at boot time.

Scott


----------



## Chris McMahon

Doesn't anyone have any ideas on my issue? (which I'd link to, but am not allowed - see post #1391)

This is driving me nuts. EVERY video I try to stream crashes streambaby. And it's not just once per video, but multiple times. What's most frustrating it that Streambaby used to work perfectly and I haven't changed anything on my end.

I've gone from considering getting another TiVo to thinking of getting rid of my TiVo altogether for a different brand DVR.

I've tried different versions of streamababy. Uninstalling, reinstalling. Reinstalling Java. Letting the whole video complete caching before playing. I've checked and rechecked my ini file. Nothing helps.


----------



## windracer

Just a guess but it sounds like maybe your TiVo is dropping the network connection? I'm all wireless but have never had streambaby dump in the middle of playback.

Would you really take back your TiVo just because streambaby doesn't work? I mean, streambaby is a great third-party addition, but it's lack of working wouldn't make me dump TiVo altogether (no offense to keary, of course!).


----------



## Chris McMahon

windracer said:


> Just a guess but it sounds like maybe your TiVo is dropping the network connection? I'm all wireless but have never had streambaby dump in the middle of playback.


I suppose it's possible. But it only seems to effect Streambaby, as my TiVo can still transfer files via TiVo Desktop, stream podcasts, download Blockbuster movies or even restart StreamBaby immediately after a crash in the time it takes me to navigate the menus to do so. IE if it is a network issue, it's not a lengthy one. Maybe the other apps have some type of error handling that invisibly compensates while StreamBaby just throws its hands up and gives up?

However I've also tested letting the entire media file cache to TiVo, ie the green download bar to completely fill, before starting playback, and it still crashes.

I also don't know if the errors "during a read" or "during a write" refer to reading and writing from the PC over the network, or TiVo's local hard disk.



> Would you really take back your TiVo just because streambaby doesn't work? I mean, streambaby is a great third-party addition, but it's lack of working wouldn't make me dump TiVo altogether (no offense to keary, of course!).


Well, I've got an Australian TiVo, so it only works with "Free To Air" channels (basically 5 channels). I generally end up watching about 3:1 digital media from my PC vs FTA TV in a week. So my TiVo is basically a media streamer that also records FTA.

I have a backup media streamer, a Dlink 320, that I have to swap component and optical audio cables between it and the TiVo due to limited inputs on my TV. Basically it's a huge hassle to swap between them. The Dlink isn't as easy to use as Streambaby, and it doesn't display an as smooth picture.

When I got Streambaby initially, it turned my TiVo into a holy-grail all-in-one easy to use golden child. I wanted to get one for every TV in the house. I guess now that it's got issues, my level of satisfaction had further to fall.


----------



## ionman1964

I get this when I start up the streambaby.bat file: FFmpegJavaVideoModule: Unable to load FFmpeg native libraries. Does not seem to effect the functionality of it however. Running it in Vista 64bit. Here is my streambaby.ini.
#
# ./streambaby --help for more configuration file options
#

dir.1=g:\ionman19642\Videos\
dir.1.name=My Videos
dir.2=J:\mpegs
dir.2.name=mpegs
dir.3.name=DVD
dir.3=H:\
dir.4.name=DVD
dir.4=L:\
dir.5.name=DVD
dir.5=M:\
dir.6.name=DVD
dir.6=N:\
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.0.7
port to use
port=7290


----------



## mikek2

ionman1964 said:


> I get this when I start up the streambaby.bat file: FFmpegJavaVideoModule: Unable to load FFmpeg native libraries. Does not seem to effect the functionality of it however. Running it in Vista 64bit.


I had the same problem with Vista 64. You need to point streambaby to a 32bit version of Java on your system. Just add the full path for a 32 bit version of java in the streambaby.bat file.


----------



## leo662

Just got my Tivo HD in this week and found this bit of awesomeness via Google. Thanks for the work keary (and any other contributors). Admitted novice here, but very good at following instructions.

Tried to find an answer to this to no avail...admitedly did not hard search through all 48 pages of this thread, but did drill down to 4 pages by searching for "directory". I'm coming from a perspective of using Xbox Media Center and using SB on a Vista machine. In XBMC, I am able to add multiple directories abd they all show up under one "master" view. Trying to do the same with SB, as I have a couple of different hard drives storing my media. On XBMC, if I point to "drive A" and "drive B", both contents will show up under "Videos" merged and sorted almost as if they are one large drive. Is there a syntax I would use in the SB.ini to get the same results. Currently I have the following (for example):

dir.1=C:\Videos
dir.1.name=Videos

dir.2=M:\Test
dir.2.name=External Drive

Which results in 2 listings on the Tivo end. I'd like both those directories to merge on the back end so when we navigate to the SB "interface" on the Tivo it's just one large file list. I've tried various methods with no positive results, such as this:

dir.1=C:\Videos,M:\Test
dir.1.name=Videos

Granted, I don't "know" what I'm doing here, but can follow the directions of the experts very well and catch on from there. Thanks for any help.


----------



## jonL

When I try to run this program I get the following message in the cmd window:
'java' is not recognized as an internal or external command, operable program or batch file.
Exited.
Press any key to continue...

I do have Java installed....what's the problem? How can I troubleshoot.


----------



## Rdian06

jonL said:


> When I try to run this program I get the following message in the cmd window:
> 'java' is not recognized as an internal or external command, operable program or batch file.
> Exited.
> Press any key to continue...
> 
> I do have Java installed....what's the problem? How can I troubleshoot.


You need to have java.exe in your path. Locate java.exe and add that directory to your PATH environment variable. (Right click "My Computer"->Properties->Advanced-Environment Variables.)


----------



## rfryar

leo662 said:


> Currently I have the following (for example):
> 
> dir.1=C:\Videos
> dir.1.name=Videos
> 
> dir.2=M:\Test
> dir.2.name=External Drive
> 
> Which results in 2 listings on the Tivo end. I'd like both those directories to merge on the back end so when we navigate to the SB "interface" on the Tivo it's just one large file list. I've tried various methods with no positive results, such as this:
> 
> dir.1=C:\Videos,M:\Test
> dir.1.name=Videos
> 
> Granted, I don't "know" what I'm doing here, but can follow the directions of the experts very well and catch on from there. Thanks for any help.


Unfortunately as far as I know there is no way to merge these into one directory using just Streambaby. At the moment you can point different folders and they show up each separately.

I do know there are tools for creating virtual network shares. I do not know if any of those allow you to merge two directories into one share, but that is the direction you should look into.

Good luck,

Rick


----------



## angusj

I've just created a tiny Windows executable (as an alternative the the batch file, or the service) which launches streambaby and also places a streambaby icon in the notification area. The benefit of using this tiny executable instead of a batch file is that it avoids taskbar clutter and an annoyingly visible Windows CMD box. (Yes, I could simply run streambaby as a service, but I generally prefer applications over services except for OS related processes.)

Anyhow, it can be downloaded here (34kb, includes full source code): www[dot]angusj[dot]com/streambaby.zip 
(Apologies for the mangled URL, I can't post proper links yet as this is my first post.)


----------



## ionman1964

I think I posted this in the wrong thread, moving it here:

Now I put the path "C:\Program Files\Java\jre6\bin\java.exe". I also tried "C:\Program Files(x86)\Java\jre6\bin\java.exe" into the Streambaby.bat file and it displays all the usage info for java and the options for usage so I must have done something wrong. It displays all the usage info and then Streambaby starts ok but still gives me the error "FFmpegJavaVideoModule: Unable to load FFmpeg native libraries". The rest seems ok it says Listener: added factory and then Main: streambaby ready & listening. Please realize that there is no urgency for a response on this because it works fine. It is just curiosity that has got me on this. Thank-you.

Here is my streambaby.bat:
@echo off
set LAUNCHDIR="&#37;CD%"
pushd "%~dp0\native"
"C:\Program Files\Java\jre6\bin\java.exe"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
echo Exited.
pause
popd


----------



## mikek2

ionman1964 said:


> I think I posted this in the wrong thread, moving it here:
> 
> Now I put the path "C:\Program Files\Java\jre6\bin\java.exe". I also tried "C:\Program Files(x86)\Java\jre6\bin\java.exe" into the Streambaby.bat file and it displays all the usage info for java and the options for usage so I must have done something wrong. It displays all the usage info and then Streambaby starts ok but still gives me the error "FFmpegJavaVideoModule: Unable to load FFmpeg native libraries". The rest seems ok it says Listener: added factory and then Main: streambaby ready & listening. Please realize that there is no urgency for a response on this because it works fine. It is just curiosity that has got me on this. Thank-you.
> 
> Here is my streambaby.bat:
> @echo off
> set LAUNCHDIR="%CD%"
> pushd "%~dp0\native"
> "C:\Program Files\Java\jre6\bin\java.exe"
> java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> echo Exited.
> pause
> popd


Almost there. You're running java twice. Your batch file should read something like:

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


----------



## ionman1964

thanx I'll try that and post back if it doesn't work but I am sure it will.


----------



## ionman1964

Alright that got rid of the usage info but still getting this error "FFmpegJavaVideoModule: Unable to load FFmpeg native libraries". I think this was mentioned before in the forums. Like I say at least it works fine. But thank-you. It got rid of the java usage info. Maybe I have to try a different java version? Let me know if anybody has any ideas on that. But I am happy that it works.


----------



## windracer

ionman1964 said:


> Alright that got rid of the usage info but still getting this error "FFmpegJavaVideoModule: Unable to load FFmpeg native libraries". I think this was mentioned before in the forums..


I'm pretty sure you can ignore it.


----------



## Yoav

windracer said:


> I'm pretty sure you can ignore it.


Well, it *is* telling you that it can't read the ffmpeg libraries, which means you are losing out on some features of streambaby.

If you care enough, you're gonna need to make sure you have all the appropriate shared libraries that ffmpeg builds with (stuff like libavcodec, libavformat, etc) available and pointed to by the config.


----------



## ionman1964

Yoav said:


> Well, it *is* telling you that it can't read the ffmpeg libraries, which means you are losing out on some features of streambaby.
> 
> If you care enough, you're gonna need to make sure you have all the appropriate shared libraries that ffmpeg builds with (stuff like libavcodec, libavformat, etc) available and pointed to by the config.


I did a search for libavcodec and libavformat on my system and I don't believe I have them?


----------



## ionman1964

kearygriffin said:


> I think as Yoav pointed out, it looks like streambaby is generating the thumbnails for the preview (ff/rewind mode) using ffmpeg, which is causing the CPU usage. Streambaby will always attempt to generate thumbnail files for mpg files, and in your case because it cannot load the ffmpeg native libraries it will end up doing it for all files, mp4 included.
> 
> You can disable this by setting in streambaby.ini
> preview.autogenerate=false
> 
> As to why streambaby can't load the native ffmpeg libraries, if I had to guess, it would be that the Java being used is a 64-bit java and the ffmpeg installed (which streambaby installs automatically) is a 32-bit version. I'm not familiar enough with 64-bit windows to know what happens in this case, but not being able to load the libraries seems like a definite possiblity.
> 
> The solution to the above would be to find a 64-bit version of ffmpeg and libraries and put it in the native folder instead of the current 32-bit version, or edit the streambaby.bat file to use a 32-bit version of java. (using a 32-bit version of java is probably the easier solution...)


Here are the contents of my native folder:

avcodec-52.dll
avdevice-52.dll
avformat-52.dll
avutil-49.dll
ffmpeg.exe
ffplay.exe
placeholder.txt
SDL.dll
swscale-0.dll

Is this correct? I did not do anything special when downloading and installing Streambaby. As a matter a fact I think I just put it on the Desktop.
Using 32bit Java or pointing to it in the streambaby.bat file doesn't get rid of the error so I know that people have said I can safely ignore it but others have said that some sort of functionality will be lost. If the ultimate solution is to use a 64bit version of ffmpeg where might I find that. Thanks in advance for any response on this.


----------



## Yoav

ionman1964 said:


> Here are the contents of my native folder:
> ....


Ok your native folder has the shared libs (I guess on windows they are called avcodec-52.dll etc).

So either streambaby isn't finding them, or it is finding them but failing to load them. Do you have any sort of directives in your streambaby.ini with names like ffmpegjava.avutil=(some path) ?

Also I note that your avutil is version 49, while the rest of the libs are 52. Not sure if that's normal?


----------



## ionman1964

Yoav said:


> Ok your native folder has the shared libs (I guess on windows they are called avcodec-52.dll etc).
> 
> So either streambaby isn't finding them, or it is finding them but failing to load them. Do you have any sort of directives in your streambaby.ini with names like ffmpegjava.avutil=(some path) ?
> 
> Also I note that your avutil is version 49, while the rest of the libs are 52. Not sure if that's normal?


 ok thank-you for your response Yoav tried this but still same result i don't know. Here is my modified streambaby.ini

#
# ./streambaby --help for more configuration file options
#

dir.1=g:\ionman19642\Videos\
dir.1.name=My Videos
dir.2=J:\mpegs
dir.2.name=mpegs
dir.3.name=DVD
dir.3=H:\
ffmpegjava.avutil=C:\users\ionman19642\Desktop\Streambaby\streambaby-0.27\native
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.0.7
#port to use
port=7290

Is there a chance that I may also have to modify the Streambaby.bat?


----------



## Yoav

I think what you want is lib.native, not ffmpegjava.avutil

Honestly, do you REALLY care about the thumbnail preview generation enough to go through with all this? The full description of the ini file is listed here: http://code.google.com/p/streambaby/wiki/StreamBabyIni


----------



## ionman1964

No if that is the only functionality I'll be missing then I guess the answer is no. Thank-you for trying however. I did check out the streambaby.ini options page and and you are correct it does require lib.native=path. I will use this as a reference for any further questions I have for editing the streambaby.ini. Thanks again


----------



## Ink Noise

Oy. I used pyTiVoX which has streambaby included and already configured which works fine with my TiVo HD across the network. But now I'm trying to set it up to run on an Ubuntu server, and I can't get it to work for the life of me.

It starts and runs fine without errors in Terminal and shows up on the TiVo under Music, Media, Showcase. However, when I try to run it, I get the 0x50005 HTTP Connection Error. I've read every post with the mention of the error in this thread but still can't fix it. Ideas? I've set it to debug mode which shows me that everything is starting up fine.

The .ini file looks like: 

dir.1=/shares/sync/Media/Documentaries
dir.1.name=Documentaries
dir.2=/shares/sync/Media/Movies
dir.2.name=DVDs/Movies
dir.3=/shares/sync/Media/Television
dir.3.name=Television
ip=10.0.1.200
port=7292
title=Stream - Network Share
trimextensions=true

EDIT: Also, this 0x50005 error is immediate. Some others who had the issue say it takes a minute or two for it to appear.


----------



## Yoav

Ink Noise said:


> Oy. I used pyTiVoX which has streambaby included and already configured which works fine with my TiVo HD across the network. But now I'm trying to set it up to run on an Ubuntu server, and I can't get it to work for the life of me.


Did you enable the debugging logging? You may get some useful info in there...


----------



## Ink Noise

Yep. I haven't gleaned anything useful from it but if somebody else can, I'd appreciate it...

http://pastebin.com/m210ab7c7


----------



## jpascone

Streambaby on a NAS device. I have a QNAP 217 Pro dual processor. I was ably to get Pytivo up and running but even severely downgrading the resolution the streaming was unusual.. I have been running streambaby on my laptop and really like it.. Has anybody installed this on a NAS device like the QNAP? If I could stream without having to have any computers turned on I would be a happy kid.
Thanks!
jp


----------



## MrGolden

From what I've read, most NAS' processors are too under-powered to run Streambaby, especially if any transcoding is required. I just dedicated an old PC for the purpose - all it does is run Streambaby, with all the files stored on a NAS.


----------



## windracer

Yeah, today's NASes just don't have the horsepower to run ffmpeg to transcode video. I had pyTiVo running on my old Linkstation once, but it was really only good for sending MPEG-2 video, which didn't need to be transcoding.



MrGolden said:


> I just dedicated an old PC for the purpose - all it does is run Streambaby, with all the files stored on a NAS.


That's what I do ... my Linux box is an old, small Dell sitting in a closet that runs Galleon, pyTivo, streambaby, and some other services and all of my media is on a 1TB Buffalo NAS.


----------



## kearygriffin

Ink Noise said:


> Yep. I haven't gleaned anything useful from it but if somebody else can, I'd appreciate it...
> 
> http://pastebin.com/m210ab7c7


From looking at the log I see the following:
07/28/09 18:26:44 Main: MDNS: http://127.0.1.1:7292/streambaby/

So it looks like streambaby is only listening for network connections on the local loopback IP, so the TiVo isn't able to connect to it.

There were some issues with streambaby binding to the wrong IP addresses. If you could try the following it may help:

1. Download the latest SVN (beta) version of streambaby and give it a try, as it should have some IP binding issues fixed:
http://streambaby.googlecode.com/files/streambaby-svn-r239.zip
2. And just to make sure, verify the ip=10.0.1.200 (from your ini) is the correct IP address of the box streambaby is running on.

When things are working the debug line should look like this:
07/28/09 18:26:44 Main: MDNS: http://10.0.1.200:7292/streambaby/

Keary


----------



## net114

I got streambaby working, but I'm wondering is there a way to configure it to show different directories on two different tivoHDs? For example, Tivo#1 would show directory "My Videos" and Tivo #2 would show "My Wives Chic Flicks I Don't Want To See" ? 

Thanks!


----------



## kearygriffin

net114 said:


> I got streambaby working, but I'm wondering is there a way to configure it to show different directories on two different tivoHDs? For example, Tivo#1 would show directory "My Videos" and Tivo #2 would show "My Wives Chic Flicks I Don't Want To See" ?
> 
> Thanks!


You can set separate passwords on the directories. So for example in the INI:


Code:


dir.1=c:\MensMovies
dir.1.name=Mens Movies
dir.1.password=men
dir.2=c:\WomensMovies
dir.2.name=Womens Movies
dir.2.password=women
dir.3=c:\MoviesWeAllLike
dir.3.name=Movies for all
dir.3.password=men,women

Now when connect to streambaby from TiVo #1 it will ask for a password and enter "men". This will allow that tivo to access dir.1 & dir.3. The password will be remembered when you disconnect, so it won't ask again when TiVo #1 reconnects.

Do the same with TiVo #2, but enter "women" as the password and it will let you access dir.2 and dir.3

You can press the "clear" button from (I believe...) from the initial directory selection menu of streambaby and it will let you enter a new password.

Note: dir.3.password=men,women does not really need to be set, as if you leave out that line dir.3 will be accessible to anyone regardless of the password. However, since there is at least one directory that does not require a password when you first connected to streambaby it wouldn't prompt for a password, and you would just see dir.3. You could then press "clear" which would allow you to enter either "men" or "women" as the password.

I hope this all makes sense... I think the important things to remember is that:
1. clear from the main streambaby directory menu brings you to the password screen. (If you don't go there automatically)
2. Streambaby remembers the last password a particular TiVo (by serial number) used, and defaults to using it again the next time you connect.

Keary


----------



## Ink Noise

kearygriffin said:


> From looking at the log I see the following:
> 07/28/09 18:26:44 Main: MDNS: http://127.0.1.1:7292/streambaby/
> 
> So it looks like streambaby is only listening for network connections on the local loopback IP, so the TiVo isn't able to connect to it.
> 
> There were some issues with streambaby binding to the wrong IP addresses.


Whoops, I didn't notice that it was defaulting onto localhost. Downloading and running r239 fixed it right up.

Thanks Keary!


----------



## net114

kearygriffin said:


> You can set separate passwords on the directories. So for example in the INI:
> 
> 
> Code:
> 
> 
> dir.1=c:\MensMovies
> dir.1.name=Mens Movies
> dir.1.password=men
> dir.2=c:\WomensMovies
> dir.2.name=Womens Movies
> dir.2.password=women
> dir.3=c:\MoviesWeAllLike
> dir.3.name=Movies for all
> dir.3.password=men,women
> 
> Now when connect to streambaby from TiVo #1 it will ask for a password and enter "men". This will allow that tivo to access dir.1 & dir.3. The password will be remembered when you disconnect, so it won't ask again when TiVo #1 reconnects.
> 
> Do the same with TiVo #2, but enter "women" as the password and it will let you access dir.2 and dir.3
> 
> You can press the "clear" button from (I believe...) from the initial directory selection menu of streambaby and it will let you enter a new password.
> 
> Note: dir.3.password=men,women does not really need to be set, as if you leave out that line dir.3 will be accessible to anyone regardless of the password. However, since there is at least one directory that does not require a password when you first connected to streambaby it wouldn't prompt for a password, and you would just see dir.3. You could then press "clear" which would allow you to enter either "men" or "women" as the password.
> 
> I hope this all makes sense... I think the important things to remember is that:
> 1. clear from the main streambaby directory menu brings you to the password screen. (If you don't go there automatically)
> 2. Streambaby remembers the last password a particular TiVo (by serial number) used, and defaults to using it again the next time you connect.
> 
> Keary


Ok thanks for the quick reply. I assume that the directories still show, but the passwords prevent access? I'll give it a try.

I seem to have one other issue in that .avi files are coming up with a message that says "invalid file type", but I don't have everything complete yet so it might be an incomplete configuration or something on my part.


----------



## kearygriffin

net114 said:


> Ok thanks for the quick reply. I assume that the directories still show, but the passwords prevent access?


Actually they won't show up at all unless a valid password is used, so no one would even know they where there.



> I seem to have one other issue in that .avi files are coming up with a message that says "invalid file type", but I don't have everything complete yet so it might be an incomplete configuration or something on my part.


[/quote]

If this continues to happen could you post the piece of the log that displays this message? I'm not even sure where it would be coming from. (I didn't look, but it doesn't sound like an error Streambaby would give. Possibly ffmpeg)


----------



## Ink Noise

I'll admit I haven't read through every post in this thousand post thread, but I had a couple of general questions...

1) Does the project have a donation box to fund development? I used to use the Xbox 360 for streaming before I got the TiVo HD, but that coupled with streambaby has made life so much easier. Now, it doesn't sound like a Boeing 747 is taking off in my living room as a stream a ripped DVD and also, streambaby allows me to play formats the 360 didn't support and offload the conversion onto another computer. Thus, I'd really like to donate since it's being sold for the amazing price of free.

2) Is there an official request area? I'm assuming that the "Issues" page on Google Code is for bugs rather than enhancement tickets. A small things I've found is that question marks in file names come up as an unrecognized character on the TiVo displayed as a &#10209;. 

Anyways, back I go to streaming episodes of the West Wing on the TiVo.


----------



## angusj

I've just updated *streambaby_launcher*, a tiny Windows executable that I wrote a few days ago as an alternative to the Windows batch file.

*Description*: streambaby_launcher.exe is a tiny Windows executable file (52kb) that launches the java application StreamBaby and runs as a notification area applet. When streambaby_launcher.exe is executed it creates an icon in the notification area (where your PC displays the time). The benefit of using this tiny executable over of the batch file is that it avoids the clutter of a Windows CMD box and another button on the taskbar. You can now also see the commandline output from StreamBaby's Java application by double-clicking the notification area icon.

StreamBaby_Launcher can be downloaded here:
http[colon]//www[dot]angusj.com/streambaby/streambaby_launcher.zip
(34kb, includes *full source code*)
Screenshot:
http[colon]//www[dot]angusj.com/streambaby/streambaby_launcher.png

ps: Apologies for the mangled URLs (I'm not yet allowed to post proper links).


----------



## bbeck

I'm having a few issues with MP4 files created from QuickTime trailers and played through my TiVo through Streambaby. I read through all 48 pages of this thread (whew!) and couldn't find anyone else with these problems, so here goes:

Every MP4 I create, following the process described by bkdtv here (tivocommunity[dot]com/tivo-vb/showthread.php?p=7097293#post7097293), plays perfectly on my PC but gives me judder-y video with Streambaby. The whole image seems to move slightly up and down about 3-4 times per second. The MP4 test video here (tivostream[dot]googlecode.com/files/test.mp4) has no judder with Streambaby, so I concluded that it must be an authoring error on my end, but I honestly don't know what to do differently.

Also, all 6-channel AAC tracks from the MP4s I create play fine on my PC, but with Streambaby it's like I'm hearing only the front left/right channels. I hear music and sound effects, but no dialogue whatsoever. Center, surround left/right, and sub are all silent.

Finally, are native QuickTime .mov files (like the Apple trailers) supported by Streambaby? I remembered seeing some chatter about manually adding the .mov extension to the list of supported containers, so if that works I guess it could be an end run around my MP4 problems. At the moment, however, attempts to play any of those files throws a 0xFFFF error, as does playing this test file (tivostream[dot]googlecode.com/files/test_h264_1280x544_ac3.mp4).

Any help for resolving these issues would be greatly appreciated!


----------



## tweetybirdy

bbeck said:


> Also, all 6-channel AAC tracks from the MP4s I create play fine on my PC, but with Streambaby it's like I'm hearing only the front left/right channels. I hear music and sound effects, but no dialogue whatsoever. Center, surround left/right, and sub are all silent.
> 
> Any help for resolving these issues would be greatly appreciated!


I'm having the same problem with the sound. Is there any solution??


----------



## jcthorne

Tivo only supports 2 channel stereo AAC tracks as it cannot transcode to DD on the fly. The only way for Tivo to output 5.1 sound is with an AC3 DD 5.1 track.


----------



## bbeck

Fascinating information - thanks!

It brings up an interesting quirk of the TiVo though: I can pull a QuickTime .mov from my PC to the TiVo (I paid for TD+ prior to learning about pyTivo) and the TiVo will transcode it to MPEG-2 and 6-channel AC-3. However, it is unable to transcode 6ch-AAC for MP4 files fed to it through either Streambaby or pyTivo.


----------



## petew

bbeck said:


> It brings up an interesting quirk of the TiVo though: I can pull a QuickTime .mov from my PC to the TiVo (I paid for TD+ prior to learning about pyTivo) and the TiVo will transcode it to MPEG-2 and 6-channel AC-3. However, it is unable to transcode 6ch-AAC for MP4 files fed to it through either Streambaby or pyTivo.


The difference is that TD+ includes a quicktime license and it's quicktime on the desktop that is used to transcode to MPEG-2 + AC-3 before the file is transfered to the tivo. For all supported formats streambaby transfers the raw MPEG-4 file to the Tivo HD where the built in hardware decodes the MP4


----------



## bbeck

Interesting. I thought it was the TiVo doing the transcoding, hence the significantly slower transfer speed versus "pushing" an MP4 via pyTivo.


----------



## bbeck

OK, I was able to push the following MP4 + AC3 test file (tivostream[dot]googlecode.com/files/test_h264_1280x544_ac3.mp4) via pyTivo and it played the audio just fine. So now I'm left wondering why Streambaby gives me a 0xFFFF error with it.

I also can't play the file with WMP (perhaps because it's expecting an MP4/AAC combination?). Can VLC do it? Maybe I'm just missing the right codec combination.


----------



## moyekj

bbeck said:


> OK, I was able to push the following MP4 + AC3 test file (tivostream[dot]googlecode.com/files/test_h264_1280x544_ac3.mp4) via pyTivo and it played the audio just fine. So now I'm left wondering why Streambaby gives me a 0xFFFF error with it.


Try with following option added to streambaby.ini (without this option set I found in the past some mp4 test files don't play but I haven't tried without this option lately):
mp4module.interleave=false



> I also can't play the file with WMP (perhaps because it's expecting an MP4/AAC combination?). Can VLC do it? Maybe I'm just missing the right codec combination.


 Many players can't handle AC3 audio in mpeg4 container. Latest VLC player can.

NOTE: If you are not already using latest version make sure to do so.


----------



## bbeck

moyekj said:


> Try with following option added to streambaby.ini (without this option set I found in the past some mp4 test files don't play but I haven't tried without this option lately):
> mp4module.interleave=false


That did it! The AC3 track played. Although half the times I tried playing the clip I got the "resource unavailable" error. Never encountered that one before.


----------



## kearygriffin

bbeck said:


> That did it! The AC3 track played. Although half the times I tried playing the clip I got the "resource unavailable" error. Never encountered that one before.


Can anyone point me in the direction of a file that doesn't play well normally, but plays fine with:
mp4module.interleave=false

I may need to make a decision on
a) Trying to fix whatever the problem is with the feature turned on
b) Defaulting the option to be turned off automatically

It's a tough decision since I have a feeling once I switch the option, the people who aren't having an issue right now may start having an issue...

I'm sorry if someone has already pointed a file out to me, or sent me a file, but I don't seem to recall it at the moment.

Thanks
Keary


----------



## moyekj

kearygriffin said:


> Can anyone point me in the direction of a file that doesn't play well normally, but plays fine with:
> mp4module.interleave=false
> 
> I may need to make a decision on
> a) Trying to fix whatever the problem is with the feature turned on
> b) Defaulting the option to be turned off automatically
> 
> It's a tough decision since I have a feeling once I switch the option, the people who aren't having an issue right now may start having an issue...
> 
> I'm sorry if someone has already pointed a file out to me, or sent me a file, but I don't seem to recall it at the moment.
> 
> Thanks
> Keary


Haven't tried playing without the option set, but supposedly (in bbeck's case) this file has the issue that it won't play without turning off interleave:
http://tivostream.googlecode.com/files/test_h264_1280x544_ac3.mp4


----------



## kearygriffin

moyekj said:


> Haven't tried playing without the option set, but supposedly (in bbeck's case) this file has the issue that it won't play without turning off interleave:
> http://tivostream.googlecode.com/files/test_h264_1280x544_ac3.mp4


That file seems to work fine for me on my TivoHD with the interleave option set either way, at least with svn-r239.

Looking back through the thread, I'm not sure if interleave was actually the solution for that file. I think bbeck reported that was giving the 0xffff errror, which could of just been the TiVo getting tired of all the testing with the files that were giving problems. (And then getting back after a little rest ;-)


----------



## moyekj

bbeck, do you have original S3 or HD/HDXL unit? There are some differences between the decoder hardware in each which results in different behavior for mpeg4 playback which is why I ask.

Regarding the 0xfffff error and having to wait a little I wonder if the following would help:
http://<ip>/TiVoConnect?Command=ResetServer

Recently with kmttg I added a menu entry which runs the above and seems to help out for cases when the TiVo will no longer allow file downloads (giving *server busy* messages even when there is no current download activity associated with that TiVo).


----------



## bbeck

kearygriffin said:


> That file seems to work fine for me on my TivoHD with the interleave option set either way, at least with svn-r239.
> 
> Looking back through the thread, I'm not sure if interleave was actually the solution for that file. I think bbeck reported that was giving the 0xffff errror, which could of just been the TiVo getting tired of all the testing with the files that were giving problems. (And then getting back after a little rest ;-)


I tested the interleave option first and it worked, so I didn't replace v0.27 with svn-r39. I did download the ZIP file though, and noticed a few items missing compared to the older program. Is this intentional?

For the record, I got the 0xFFFF error on that MP4-AC3 test file regardless of whether it was the first file I streamed or the tenth. I even tried restarting the TiVo on one or two occasions to see if that would resolve the issue, and it didn't.



moyekj said:


> bbeck, do you have original S3 or HD/HDXL unit?


I have the TiVo HD. It's almost two months old now.


----------



## bkdtv

Is it possible to use the new "custom RSS support" (MPEG-4 streaming capable) to somehow support streaming without a 1.1GB buffer limit?

With the proper modifications, could we simply enter a local network RSS URL?


----------



## moyekj

bkdtv said:


> Is it possible to use the new "custom RSS support" (MPEG-4 streaming capable) to somehow support streaming without a 1.1GB buffer limit?
> 
> With the proper modifications, could we simply enter a local network RSS URL?


 Interesting idea... It's very likely the 1.1GB limit is still there via this method as well. However it may be interesting for someone to setup an RSS server on their LAN and try and feed a > 1.1GB video to their Tivo using this new official "custom RSS support" to find out for sure. I have never dealt with RSS servers before so don't know how easy that is to do.


----------



## seplant

This may be a dumb question, but can Streambaby be run simultaneously from two computers on the same network? Obviously, I wouldn't want to stream two files at the same time, but I would like to be able to choose from the Tivo which computer to read streaming content from.


----------



## bbeck

bbeck said:


> Every MP4 I create, following the process described by bkdtv here (tivocommunity[dot]com/tivo-vb/showthread.php?p=7097293#post7097293), plays perfectly on my PC but gives me judder-y video with Streambaby. The whole image seems to move slightly up and down about 3-4 times per second. The MP4 test video here (tivostream[dot]googlecode.com/files/test.mp4) has no judder with Streambaby, so I concluded that it must be an authoring error on my end, but I honestly don't know what to do differently.


OK, I've figured out my video problem, and it comes down to something as simple as playing progressive content on an interlaced display (no, I don't have an HDTV yet). I've figured out a way to interlace H.264 video at the encoding level (boy, is it a bear), but does Streambaby have a parameter to allow de-interlaced content to play normally on an interlaced display? It would definitely save me the work of creating separate 1080i (or 480i, whatever) and 1080p versions of the material I wish to stream to the TiVo.

Just thought I'd ask before assuming it's not possible.


----------



## kearygriffin

bbeck said:


> OK, I've figured out my video problem, and it comes down to something as simple as playing progressive content on an interlaced display (no, I don't have an HDTV yet). I've figured out a way to interlace H.264 video at the encoding level (boy, is it a bear), but does Streambaby have a parameter to allow de-interlaced content to play normally on an interlaced display? It would definitely save me the work of creating separate 1080i (or 480i, whatever) and 1080p versions of the material I wish to stream to the TiVo.
> 
> Just thought I'd ask before assuming it's not possible.


I think the answer is no-- To be honest, I'm not even sure what streambaby could/should do to help with this issue. (I didn't start fooling around with video stuff until I already had the TiVoHD and a HDTV, so there was no real reason to get into it...)

If you want to play around, you can try to select a lower video quality before playing the file with streambaby. This will force streambaby to transcode the file to mpeg (from h.264) on the fly before sending it to the TiVo. If this alone doesn't help you can try to adding and fooling around with the INI setting:


Code:


ffmpegexe.transcode.qualargs=-bufsize 4096k -b ${bitrate}k -maxrate 8000k -ab ${abitrate}k -s ${xres}x${yres} -ar ${asamplerate}

These are the arguments it will use when transcoding to a lower quality. Maybe there are some arguments you could pass to ffmpeg so it would transcode it to a format that would look better on the TiVo?

The best solution is probably buying an HDTV


----------



## kearygriffin

seplant said:


> This may be a dumb question, but can Streambaby be run simultaneously from two computers on the same network? Obviously, I wouldn't want to stream two files at the same time, but I would like to be able to choose from the Tivo which computer to read streaming content from.


Should be no problem here. You can just edit the streambaby.ini file on each of the PC's and add the following line:

title=Streambaby PC1
and on the other machine
title=Streambaby PC2
(or whatever title you want to give each of the instances)

This will change the title that streambaby shows up under on the TiVo, and then you can just select which streambaby you wish to communicate with.


----------



## kearygriffin

bkdtv said:


> Is it possible to use the new "custom RSS support" (MPEG-4 streaming capable) to somehow support streaming without a 1.1GB buffer limit?
> 
> With the proper modifications, could we simply enter a local network RSS URL?


I tried to get the "custom RSS" feed working last night, but failed miserably (not integrating with streambaby, just using it at all...)

1. It didn't seem to like internal IP addresses. Even using a domain that resolved to an internal address seemed to give an error that RSS could not be found.

2. I couldn't get it to work with an external RSS feed either, but this time it gave the error (paraphrasing) "Although this is a valid RSS feed, no TiVo compatible media types where found"

I was trying it with the "Sample RSS" feed found on the following TiVo page:
http://www.tivo.com/abouttivo/resourcecenter/developerpublisherdetails/index.html

I cut and paste the sample XML into a file I called t.xml and put it on a web server that I run. Not sure if it matters but I was returning:
Content-Type: application/xml
for the XML feed.

I checked my software version and I am running 11.0d.

Granted I only played around for 20 minutes or so, but can anyone shed any light on what I am doing wrong. (Or give me a URL that should just work out of the box. I tried another one that someone else supplied that I though should work but TiVo didn't seem to like it either...)

Keary


----------



## bbeck

Well, what do you know - selecting any of the lower quality video settings appears to transcode the video to interlaced MPEG!

It doesn't appear to affect the audio, which is a good thing. I just figured out a process to transcode 5.1 AAC -> 5.1 AC3 using free software tools, and I sure didn't want to lose that.

The only disadvantage is obviously the loss of instant streaming to the TiVo. The transcoding process seems to take longer than the one involved with pulling QuickTime movies from a PC running TiVo Desktop Plus, regardless of the video setting used. This is an ffmpeg issue, but I did want to report on it.



kearygriffin said:


> The best solution is probably buying an HDTV


I hear you on that! Hopefully soon. (I've considered "accidental" sabotage of our 27" Samsung SDTV to accelerate the timetable . . .)


----------



## rfryar

bbeck said:


> ...


I have two TiVos, one on a 1080P and one on a 1080i TV. I have had no problem using Streambaby to show any content, both BluRay rips which are 1080p titles and others (480p, 480i, 720p titles).

How is your TiVo configured.. I have mine locked to a single resolution and not "switch" based on the content. Perhaps that will resolve the issue you are seeing.

Hope that helps,

Rick


----------



## NeroGuy

Having problems with Nero mp4 files, I use Nero Recode 2 to make MP4 files. It seems that file that are made with with the choice in Nero to use just Stereo play just fine. Any file that I make with Nero (MP4) and then select 5.1 channel surround, none of them will play and error out in Streambaby. 
Is there a way to get Streambaby to play Nero MP4 made with 5.1 channel surround to play?


----------



## rfryar

NeroGuy said:


> Is there a way to get Streambaby to play Nero MP4 made with 5.1 channel surround to play?


With the MP4 that refuses to play in streambaby can you run it through MP4Box and let us know the output.. What codecs are being used, etc.

mp4box -info file.mp4

The TiVo can only play surround using AC3, not with AAC codecs. Also only AAC LC Stereo is supported and not the AAC HE codec.

Rick


----------



## NeroGuy

Rick, took a look a mp4box, I don't have a clue on how to use it. Is there some place I could send a file for you to test?
Alan


----------



## NeroGuy

Rick, or the syntax for mp4box to extract the mp4 information..
Alan


----------



## NeroGuy

For Rick: File information
* Movie Info *
Timescale 1000 - Duration 00:21:58.550
Fragmented File no - 5 track(s)
File Brand isom - version 0
Created: GMT Fri Sep 14 20:50:23 2007

File has root IOD
Scene PL 0x01 - Graphics PL 0xfe - OD PL 0xfe
Visual PL: Advanced Simple Profile @ Level 5 (0xf5)
Audio PL: Scalable Audio Profile @ Level 1 (0x05)

Chapters:
Chapter #1 - 00:00:00.000 - "Chapter 1"
Chapter #2 - 00:21:56.833 - "Chapter 2"

Track # 1 Info - TrackID 1 - TimeScale 1000 - Duration 00:00:00.001
Track is present in Root OD
Media Info: Language "French" - Type "odsm:mp4s" - 1 samples
MPEG-4 Config: ObjectDescriptor Stream - ObjectTypeIndication 0x01
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 1000 - Duration 00:00:00.001
Track is present in Root OD
Media Info: Language "French" - Type "sdsm:mp4s" - 1 samples
MPEG-4 Config: SceneDescription Stream - ObjectTypeIndication 0x01
BIFS Scene description - Command stream
Synchronized on stream 1

Track # 3 Info - TrackID 3 - TimeScale 30000 - Duration 00:21:58.550
Media Info: Language "Undetermined" - Type "vide:mp4v" - 39517 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 384 x 208 - Advanced Simple Profile @ Level 5
Pixel Aspect Ratio 1:1 - Indicated track size 384 x 208
Synchronized on stream 1

Track # 4 Info - TrackID 4 - TimeScale 24000 - Duration 00:21:58.528
Media Info: Language "English" - Type "soun:mp4a" - 30903 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 6 Channel(s) - SampleRate 24000 - SBR SampleRate 48000
Synchronized on stream 1

Track # 5 Info - TrackID 5 - TimeScale 90000 - Duration 00:21:14.172
Media Info: Language "English" - Type "subp:mp4s" - 545 samples
MPEG-4 Config: NeroDigital Subpicture Stream - ObjectTypeIndication 0xe0
Synchronized on stream 1


----------



## moyekj

Biggest problem is:
*MPEG-4 Visual Size 384 x 208 - Advanced Simple Profile @ Level 5*
Tivo only likes up to level 4.1.

Smaller issue is:
*MPEG-4 Audio AAC LC - 6 Channel(s) - SampleRate 24000 - SBR SampleRate 48000*
While > 2 channel AAC will play Tivo cannot decode it properly so you end up getting only 2 channels actually working

See video_compatibility for more info on natively supported formats.


----------



## NeroGuy

Is there a conversion program I can run to make my MP4 files play??


----------



## moyekj

In the video_compatibility link I supplied above there are sample MP4 encoding profiles using the free ffmpeg and/or handbrakeCLI command line tools.


----------



## kearygriffin

moyekj said:


> Biggest problem is:
> *MPEG-4 Visual Size 384 x 208 - Advanced Simple Profile @ Level 5*
> Tivo only likes up to level 4.1.


I'm not 100% sure, but I actually think:
"MPEG-4 Visual Size 384 x 208 - Advanced Simple Profile @ Level 5" is an MPEG-4 Part 2 codec, not H.264 (mpeg-4 part 10)

If this is the case, streambaby *should* try to transcode it before sending it off the TiVo, so it may be a ffmpeg issue.

It may make sense to turn on the debug log and post a portion of it so we can see if streambaby is trying to transcode, and if it is why it is failing:
http://code.google.com/p/streambaby/wiki/debugging_problems


----------



## NeroGuy

Streambaby.log debug after fail play attempt:

08/11/09 07:39:27 StreamBabyConfig: WorkingDir: "C:\Data\Tivo\streambaby-svn-r239"
08/11/09 07:39:27 StreamBabyConfig: StreamBabyDir: C:\Data\Tivo\streambaby-svn-r239
08/11/09 07:39:27 StreamBabyConfig: CurDir: C:\Data\Tivo\streambaby-svn-r239\native
08/11/09 07:39:28 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
08/11/09 07:39:28 FFmpegJavaConfig$1: Loaded: C:\Data\Tivo\streambaby-svn-r239\native\avutil-49.dll
08/11/09 07:39:28 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
08/11/09 07:39:28 FFmpegJavaConfig$1: Loaded: C:\Data\Tivo\streambaby-svn-r239\native\avcodec-52.dll
08/11/09 07:39:28 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
08/11/09 07:39:28 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
08/11/09 07:39:28 FFmpegJavaConfig$1: Loaded: C:\Data\Tivo\streambaby-svn-r239\native\avformat-52.dll
08/11/09 07:39:28 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
08/11/09 07:39:28 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
08/11/09 07:39:29 FFmpegJavaConfig$1: Loaded: C:\Data\Tivo\streambaby-svn-r239\native\swscale-0.dll
08/11/09 07:39:29 FFmpegJavaConfig$1: Marking libswscale as available.
08/11/09 07:39:29 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
08/11/09 07:39:29 FFmpegExeVideoModule: FFmpegPath: C:\Data\Tivo\streambaby-svn-r239\native\ffmpeg.exe
08/11/09 07:39:29 FFmpegExeVideoModule: FFmpegExeModule: Loaded
08/11/09 07:39:29 StreamBabyMain: STARTING StreamBaby svn-r239...
08/11/09 07:39:29 Main: args= start=true
08/11/09 07:39:29 Main: args= [email protected]
08/11/09 07:39:29 Listener: config=com.tivo.hme.h[email protected] [email protected]
08/11/09 07:39:29 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
08/11/09 07:39:29 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/11/09 07:39:29 Listener: name=/streambaby/
08/11/09 07:39:29 Listener: 
08/11/09 07:39:29 Listener: added factory
08/11/09 07:39:29 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/11/09 07:39:29 Main: MDNS: http://192.168.2.4:7290/streambaby/
08/11/09 07:39:29 Main: streambaby ready & listening.
08/11/09 07:39:29 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
08/11/09 07:39:34 TiVoListener: addService: FamilyRoom
08/11/09 07:39:34 TiVoListener: Updating service: _http._tcp.local. (FamilyRoom)
08/11/09 07:39:34 TiVoListener: resolveService: _http._tcp.local. (FamilyRoom)
08/11/09 07:39:34 TiVoListener: jmDns found TiVo: FamilyRoom, tsn: 652010180689DFA
08/11/09 07:39:52 Listener: http=HttpRequest /streambaby/icon.png
08/11/09 07:39:52 Listener: path=/streambaby/icon.png uri=/streambaby/
08/11/09 07:39:52 Listener: 
08/11/09 07:39:52 Listener: 192.168.2.54 icon.png HTTP GET - to factory /streambaby/
08/11/09 07:39:52 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
08/11/09 07:40:03 Listener: http=HttpRequest /streambaby/
08/11/09 07:40:03 Listener: path=/streambaby/ uri=/streambaby/
08/11/09 07:40:03 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/11/09 07:40:04 Listener: 
08/11/09 07:40:04 Factory: HME receiver connected
08/11/09 07:40:04 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
08/11/09 07:40:04 StreamBabyStream: width: 1280
08/11/09 07:40:04 StreamBabyStream: height: 720
08/11/09 07:40:04 StreamBabyStream: aspect: 1/1
08/11/09 07:40:04 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:40:04 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:40:04 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:04 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:04 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:04 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
08/11/09 07:40:04 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
08/11/09 07:40:04 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
08/11/09 07:40:04 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
08/11/09 07:40:05 RootDirEntry$dirEntryHandler: dirEntry: file:/v:/
08/11/09 07:40:05 HostContext: key=pw value=
08/11/09 07:40:05 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:40:05 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:40:05 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:05 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:05 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:05 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:40:05 RootDirEntry$dirEntryHandler: dirEntry: file:/v:/
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
08/11/09 07:40:05 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
08/11/09 07:40:05 SelectionScreen: focusOn entry=null
08/11/09 07:40:20 SelectionScreen: code=6 rawcode=16778246
08/11/09 07:40:47 SelectionScreen: focusOn entry=null
08/11/09 07:40:55 SelectionScreen: code=6 rawcode=16778246
08/11/09 07:40:56 SelectionScreen: focusOn entry=null
08/11/09 07:40:57 SelectionScreen: code=6 rawcode=16778246
08/11/09 07:40:57 SelectionScreen: focusOn entry=null
08/11/09 07:40:58 SelectionScreen: code=6 rawcode=16778246
08/11/09 07:40:58 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
08/11/09 07:40:58 SelectionScreen: focusOn entry=null
08/11/09 07:40:59 SelectionScreen: code=6 rawcode=16778246
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 20, size(LRG):97693979)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 97693999, size:1040164)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 97694007, size:108)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 97694115, size:39)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 97694154, size:430)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TrefAtom(116,114,101,102): TrefAtom (offset: 97694162, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,111,100): MpodAtom (offset: 97694170, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 97694190, size:302)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 97694198, size:33)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 97694231, size:229)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(110,109,104,100): NmhdAtom (offset: 97694239, size:12)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 97694251, size:36)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 97694259, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 97694287, size:173)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 97694295, size:73)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,52,115): Mp4sAtom (offset: 97694311, size:57)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 97694368, size:24)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 97694392, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 97694420, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 97694440, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 97694460, size:32)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 97694492, size:92)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 97694584, size:412)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 97694592, size:312)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 97694600, size:33)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 97694633, size:239)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(110,109,104,100): NmhdAtom (offset: 97694641, size:12)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 97694653, size:36)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 97694661, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 97694689, size:183)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 97694697, size:83)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,52,115): Mp4sAtom (offset: 97694713, size:67)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 97694780, size:24)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 97694804, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 97694832, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 97694852, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 97694872, size:32)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 97694904, size:92)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 97694996, size:730256)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 97695004, size:730156)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 97695012, size:33)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 97695045, size:730083)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 97695053, size:20)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 97695073, size:36)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 97695081, size:28)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 97695109, size:730019)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 97695117, size:207)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,52,118): Mp4vAtom (offset: 97695133, size:191)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 97695324, size:24)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 97695348, size:144412)
08/11/09 07:40:59 MP4StreamFactory$2: mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 97839760, size:158088)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 97997848, size:1900)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 97999748, size:111460)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 98111208, size:313920)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 98425128, size:32)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 98425160, size:92)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 98425252, size:299770)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 98425260, size:299670)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 98425268, size:64)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 98425332, size:299566)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 98425340, size:16)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 98425356, size:36)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 98425364, size:28)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 98425392, size:299506)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 98425400, size:102)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 98425416, size:86)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 98425502, size:24)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 98425526, size:64696)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 98490222, size:123632)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 98613854, size:111044)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 98724898, size:32)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 98724930, size:92)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 98725022, size:9065)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 98725030, size:8965)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 98725038, size:40)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 98725078, size:8885)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(110,109,104,100): NmhdAtom (offset: 98725086, size:12)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 98725098, size:36)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 98725106, size:28)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 98725134, size:8829)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 98725142, size:141)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(109,112,52,115): Mp4sAtom (offset: 98725158, size:125)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 98725283, size:4256)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 98729539, size:28)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 98729567, size:2200)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 98731767, size:2196)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 98733963, size:32)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 98733995, size:92)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 98734087, size:76)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(99,104,112,108): ChplAtom (offset: 98734095, size:53)
08/11/09 07:41:00 MP4StreamFactory$2: mp4.util.atom.UnknownAtom(110,100,114,109): NdrmAtom (offset: 98734148, size:15)
08/11/09 07:41:00 VideoModuleHelper: GetVidInfo: file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4
08/11/09 07:41:00 FFmpegJavaVideoModule: vidDur:1318550
08/11/09 07:41:00 FFmpegJavaVideoModule: VideoInfo:
uri: file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4, Container: mp4, Duration: 1318.55 seconds
Video: UNK 384x208 29.97002997002997 fps
PixAspect: 1.0, Aspect: 1.8461539
Audio: aac 24000HZ 6 channels
08/11/09 07:41:00 HostContext: key=mpos:file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:00 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:00 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:00 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:00 HostContext: key=mpos:file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:00 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:00 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:00 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 ButtonScreen: code=6 rawcode=16778246
08/11/09 07:41:09 HostContext: key=mpos:file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4 value=0
08/11/09 07:41:09 HostContext: key=mpos:file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:09 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:09 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 ViewScreen: Desc: 01-Pilot.mp4
08/11/09 07:41:09 PreviewWindow: pWidth: 1280
08/11/09 07:41:09 PreviewWindow: preview parent=BView[#2618,bounds=0,0,1280x720]
08/11/09 07:41:09 HostContext: key=mpos:file:/v:/30_Rock/Season_1/Disc_1/01-Pilot.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:09 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/11/09 07:41:09 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 HostContext: compKey=652010180689DFA-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/11/09 07:41:09 ViewScreen: goto position: 0, vidlen: 1318550
08/11/09 07:41:09 ViewScreen: Position not in buffer, starting new stream
08/11/09 07:41:10 ViewScreen: Openening stream at position: 0(0 secs)
08/11/09 07:41:10 VideoModuleHelper: quality setting is above quality of video, streaming normally
08/11/09 07:41:10 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000
08/11/09 07:41:10 FFmpegExeVideoModule: FFmpegCmd: C:\Data\Tivo\streambaby-svn-r239\native\ffmpeg.exe -ss 0.0 -i v:\30_Rock\Season_1\Disc_1\01-Pilot.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
08/11/09 07:41:10 NamedStream: Registering named stream: 75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 Listener: http=HttpRequest /streambaby/75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 Listener: path=/streambaby/75fe6e16-e8ab-4685-ae50-90367c1a0475.stream uri=/streambaby/
08/11/09 07:41:11 Listener: 
08/11/09 07:41:11 Listener: 192.168.2.54 75fe6e16-e8ab-4685-ae50-90367c1a0475.stream HTTP GET - to factory /streambaby/
08/11/09 07:41:11 StreamBabyStream$StreamBabyStreamFactory: uri=75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 NamedStream: Getting mapped stream for named stream: 75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 NamedStream: Getting mapped stream for named stream: 75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 NamedStream: DeRegistering named stream: 75fe6e16-e8ab-4685-ae50-90367c1a0475.stream
08/11/09 07:41:11 SocketProcessInputStream: Destroying running process...
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_top.png
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar.png
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_bottom.png
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_marker.png
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_tick.png
08/11/09 07:41:22 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_play.png
08/11/09 07:41:22 NewStatusBar: state=true
08/11/09 07:41:22 NewStatusBar: state=false
08/11/09 07:41:22 ViewScreen: error=Failed to open stream
08/11/09 07:41:41 ShutdownHook: Cleaning up...


----------



## kearygriffin

NeroGuy said:


> Streambaby.log debug after fail play attempt:
> 
> ...
> ...
> 08/11/09 07:41:10 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000
> 08/11/09 07:41:10 FFmpegExeVideoModule: FFmpegCmd: C:\Data\Tivo\streambaby-svn-r239\native\ffmpeg.exe -ss 0.0 -i v:\30_Rock\Season_1\Disc_1\01-Pilot.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
> ...
> ...
> 08/11/09 07:41:11 SocketProcessInputStream: Destroying running process...
> 08/11/09 07:41:41 ShutdownHook: Cleaning up...


Ok, so this looks like it is indeed trying to transcode the video from MPEG-4 part 2 to MPEG before sending to the TiVo. This is good, as the TiVo does not accept MPEG-4 part 2 videos.

However, it looks like FFMPEG is failing in the conversion. (The line destroying running process is usually indicative of ffmpeg dying).

Unfortunately, the output from ffmpeg is not output into the log to see exactly why ffmpeg is failing. If it is possible to run the following command from a command prompt box, and post the output, that would be great:


Code:


C:\Data\Tivo\streambaby-svn-r239\native\ffmpeg.exe -ss 0.0 -i v:\30_Rock\Season_1\Disc_1\01-Pilot.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -sameq -ab 192k -ar 48000 out.mpg

Which will try to convert the video to a file called out.mpg. It will probably print some kind of error message.

My guess is that ffmpeg has problems converting the aac 5.1 24khz to ac3 48khz. FFmpeg often has issues transcoding audio when bitrate changes are involved.

If that is indeed the case, I'm not quite sure what the solution would be. Does anyone know if newer ffmpeg versions have the same issues as older versions transcoding audio between different codecs/sample rates?


----------



## NeroGuy

C:\>C:\Data\Tivo\streambaby-svn-r239\native\ffmpeg.exe -ss 0.0 -i v:\30_Rock\Sea
son_1\Disc_1\01-Pilot.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.9
7 -sameq -ab 192k -ar 48000 out.mpg
FFmpeg version SVN-r15986, Copyright (c) 2000-2008 Fabrice Bellard, et al.
configuration: --enable-shared --disable-static --extra-cflags=-fno-common --e
nable-memalign-hack --enable-pthreads --enable-libmp3lame --enable-libxvid --ena
ble-libvorbis --enable-libtheora --enable-libspeex --enable-libfaac --enable-lib
gsm --enable-libx264 --enable-libschroedinger --enable-avisynth --enable-swscale
--enable-gpl
libavutil 49.12. 0 / 49.12. 0
libavcodec 52. 6. 0 / 52. 6. 0
libavformat 52.23. 1 / 52.23. 1
libavdevice 52. 1. 0 / 52. 1. 0
libswscale 0. 6. 1 / 0. 6. 1
built on Dec 3 2008 02:14:13, gcc: 4.2.4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'v:\30_Rock\Season_1\Disc_1\01-Pilot.mp4
':
Duration: 00:21:58.55, start: 0.000000, bitrate: 599 kb/s
Stream #0.0(fre): Data: mp4s / 0x7334706D
Stream #0.1(fre): Data: mp4s / 0x7334706D
Stream #0.2(eng): Video: mpeg4, yuv420p, 384x208 [PAR 1:1 DAR 24:13], 29.97
tb(r)
Stream #0.3(eng): Audio: aac, 24000 Hz, 5.1, s16
Stream #0.4(eng): Subtitle: dvdsub
Output #0, vob, to 'out.mpg':
Stream #0.0(eng): Video: mpeg2video, yuv420p, 384x208 [PAR 1:1 DAR 24:13], q
=2-31, 200 kb/s, 29.97 tb(c)
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 192 kb/s
Stream mapping:
Stream #0.2 -> #0.0
Stream #0.3 -> #0.1
Press [q] to stop encoding
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
[aac @ 0xbd68b0]SBR not implemented. Update your FFmpeg version to the newest on
e from SVN. If the problem still occurs, it means that your file has a feature w
hich has not been implemented.
Resampling with input channels greater than 2 unsupported.
Can not resample 6 channels @ 24000 Hz to 6 channels @ 48000 Hz


----------



## kearygriffin

Ok, so that is the problem. FFMpeg has issues transcoding from 24khz to 48khz with 5.1 audio. 

Unfortunately I'm not sure what to do about it without re-encoding. Hopefully someone else might be able to chime in.

If re-encoding is an option, 5.1 should work if you specify 48khz audio instead of the 24khz that the files appear to have.

Also, if you are re-encoding I think it probably makes sense (if Nero supports it) to re-encode to H.264 instead of MPEG-4 part 2 video. I don't use Nero so I am not sure how to do this or if it supports it. H.264 is becoming more dominant as a codec for video devices. Using H.264/48khz AC3 or aac audio in an MP4 container can be streamed to the TiVo without transcoding. It will transfer much faster.

To make things more confusing, AFAIK TiVo doesnt support 5.1 AAC audio, only AC3 5.1 audio. So if you stream 5.1 AAC audio to the TiVo it will end up dropping channels. If Nero supports it, TiVo can play AC3 5.1 audio with no problems. (I don't know if this will cause problems with other devices...)

Sorry if I am making this confusing, I have a hard time myself keeping track of all of the possible combinations of codecs/containers/sampling rates/etc... I usually just transcode everything to MPEG-2/AC3 or H.264/AC3.


----------



## NeroGuy

Message for kearygriffin,
Thanks for explaining..
There are no options in Nero to pick between 24khz or 48khz, 

I have so many of these files, they all work using VLC media player,
does anyone know how to use VLC media player to stream to TIVO?


----------



## Allanon

NeroGuy said:


> I have so many of these files, they all work using VLC media player,
> does anyone know how to use VLC media player to stream to TIVO?


You can try the HME/VLC Video Streamer


----------



## NeroGuy

Allanon said:


> You can try the HME/VLC Video Streamer


I tried using HME/VLC, the vidoes all play but the sound is chopped up and can't make out the voices.


----------



## moyekj

NeroGuy said:


> I tried using HME/VLC, the vidoes all play but the sound is chopped up and can't make out the voices.


 That probably goes back to problem with 6 channel AAC audio - you are only hearing 2 channels from Tivo.


----------



## NeroGuy

Is there any way to correct for this on the fly..


----------



## bbeck

rfryar said:


> I have two TiVos, one on a 1080P and one on a 1080i TV. I have had no problem using Streambaby to show any content, both BluRay rips which are 1080p titles and others (480p, 480i, 720p titles).
> 
> How is your TiVo configured.. I have mine locked to a single resolution and not "switch" based on the content. Perhaps that will resolve the issue you are seeing.


Selecting different output resolutions was the first thing I tried - no dice. 1080p content (or any non-interlaced content, for that matter) simply will not play on my 480i set without constant (slight) judder.

It's ironic, since my Blu-ray player has no such issues.

(Yes, I know some may find it odd that I have a TiVo HD and a Blu-ray player, but no HD panel yet. All in due time.)


----------



## NeroGuy

moyekj said:


> That probably goes back to problem with 6 channel AAC audio - you are only hearing 2 channels from Tivo.


Getting a little closer, Streambaby will not show any of the video on my Nero mp4 files, however they all will show the video on HME/VLC but the audio is distorted.


----------



## rfryar

bbeck said:


> Selecting different output resolutions was the first thing I tried - no dice. 1080p content (or any non-interlaced content, for that matter) simply will not play on my 480i set without constant (slight) judder.
> 
> It's ironic, since my Blu-ray player has no such issues.
> 
> (Yes, I know some may find it odd that I have a TiVo HD and a Blu-ray player, but no HD panel yet. All in due time.)


I did not notice previously that you were on a SD 480i TV. Are you hooked up through the composite or SVideo cable? I will have to try out some Progressive content on an SD TV. In fact I have never hooked up an SD TV to the TiVo so that would be an interesting test on my end. 

Do you have a small < 20 Meg test file that you can point me to that displays this jitter and I will also test with my own Progressive content.

Thanks,

Rick


----------



## Frankoz2

Hi All,

In the past couple of weeks I have been experiencing an increasing incidence of Streambaby dropping out mid-stream.

Typically, a stream will go to black and return to Tivo live TV. By returning to Streambaby through the menus it is possible to resume play at the point that drop out occurred. Initially spasmodic, it is now becoming more frequent and often twice during the one movie playback.

The Log for playback one movie lastnight (between 9.30PM and 12.00AM), during which 2 dropouts occurred, reads thus:

08/15/09 21:27:19 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
08/15/09 21:29:03 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
log after close : initContext version=47
08/15/09 21:29:24 Factory: HME receiver connected
08/15/09 21:30:31 Listener: 192.168.1.8 2cd26f4a-7ce3-4b8c-95ad-5b00eafea556.str
eam HTTP GET - to factory /streambaby/
08/15/09 21:50:13 Listener: 192.168.1.8 I/O Exception handling HTTP GET 2cd26f4
a-7ce3-4b8c-95ad-5b00eafea556.stream: Connection reset by peer: socket write err
or
StreamBabyStream[#1,uri=null] warning: resource 3851 not found.
StreamBabyStream[#1,uri=null] warning: resource 3851 not found.
08/15/09 23:09:31 Listener: 192.168.1.8 2e46cf8a-28cc-4b7a-a56e-3194e852f1b5.str
eam HTTP GET - to factory /streambaby/
08/15/09 23:21:28 Listener: 192.168.1.8 2e46cf8a-28cc-4b7a-a56e-3194e852f1b5.str
eam HTTP GET - to factory /streambaby/
08/15/09 23:43:06 Listener: connection to receiver closed
08/15/09 23:43:06 Factory: HME receiver disconnected
log after close : initContext version=47
08/15/09 23:43:06 Factory: HME receiver connected
08/15/09 23:43:33 Listener: 192.168.1.8 4721e91d-2968-4dc7-84c2-c508b31d7c38.str
eam HTTP GET - to factory /streambaby/
08/15/09 23:48:55 Listener: 192.168.1.8 4721e91d-2968-4dc7-84c2-c508b31d7c38.str
eam HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 4069 not found.
StreamBabyStream[#1,uri=null] warning: resource 4069 not found.
08/15/09 23:51:13 Listener: connection to receiver closed
08/15/09 23:51:13 Factory: HME receiver disconnected
08/15/09 23:51:24 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/

There does not seem to be a clear pattern, as in Tivo beginning or ending a recording, or the dropout occurring at any given time during a playback. Also, just to be clear, no one is playing with the remote at the time either.

Is anyone else experiencing this problem? Does anyone know how to correct it?

Any assistance would be appreciated.

Thanks
FrankOz


----------



## conan76

Hi,

I'd like to convert VOB files into a format that's easily streamed to the TiVo, and preferably into a format < 1 GB. I tried using handbrake to convert into an AVI with h.264 and a target size of 700MB. This worked, but the stream seemed to take forever to cache on the tivo, so I'm guessing it's being transcoded rather than directly streamed. It even paused a few times whilst playing to recache, which has never happened for my other video files.

Does anyone have any advice as to what handbrake settings to use? I'm pretty new to the video format area, so any advice would be great.

Thanks,
Andrew


----------



## wmcbrine

Yeah, TiVo doesn't speak AVI. You need to be making MP4s.

Of course VOB files themselves are a format that's easily streamed to the TiVo.


----------



## bluehz

I have been wrapping my head around the metadata display capabilities of streambaby today and generaly am very happy with the results. (GREAT WORK GUYS!). I am able to pull up metadata from .tx .xml and .html docs even with images included - using the image: <tag>. One thing I notice though was no matter what format I used - the image is always squeezed horizontally - so it appears very distorted. Is there anything I can do to get that thumbnail image that appears in the INFO screen to show up with the proper proportions?

EDIT - also - when pulling in embedded mpeg4 metadata - streambaby only seem to support a very limited subset - title, description, cast or similar. I have tried embedding with both iTunes (Mac) and MetaX (Mac) and the metadata is definitely embedded - shows up fine in iTunes but not in streambaby INFO screen.

- thx


----------



## MrGolden

What's the trick to getting images to display? I've tried .txt and .html metadata files. The txt works, except for the image not displaying. With the html I can't get any information to display, not even the title and description.

Here's a sample of the .txt metadata:


Code:


title: Cowboy Bebop - The Movie
description: Mars, days before Halloween 2071...
image: CowboyBebop.jpg

As I mentioned above, this works, except the image doesn't display, which is in the same directory as the metadata file.

Here's an .html metadata sample for the same video:


Code:


<html>
<body>
<h1>Cowboy Bebop - The Movie</h1>
<p>Mars, days before Halloween 2071...</p>
<img src="L:\Media\Videos\Anime\.meta\CowboyBebop.jpg"/>
</body>
</html>

This doesn't show anything at all. The name is the directory changes, but nothings shows on the info screen.

Any help is appreciated...


----------



## morac

I just tried this out and it works very well. I do have one question though. How come when I shut it down, it remains in the Music, Photos & Showcases menu on my TiVo for 20 minutes? 

TiVo Desktop's Photo HME application disappears immediately when it's stopped so it's possible to do so.

Looking at a packet sniff, it seems to do so by sending out a MDNS packet right before exiting with a time to live of 0.

Edit:

It looks like there's a class in jmdns, javax.jmdns.impl.tasks.Canceler, which is used to do this. Streambaby should probably execute that when shutting down.


----------



## bluehz

Answering my own question - the reason images are being squished lies in the fact the default streambaby css stylesheets have an "img" tag that defines a default size - so no matter what size you indicate in your html or source - it will always be overridden by the css files. To solve this problem - all you need to do is edit one or both of the css stylesheets in the stylesheets directory. After editing the stylesheets - I was able to display any size image I wanted - 320x240 thumbnail size looks great on 40' LCD tv.



Code:


Edit these files:
meta-720.css
meta-480.css

Remove or comment out the img tag:

Change:

img {
    float:right;
    width:150;
    height:200;
}

To:

/* 
img {
    float:right;
    width:150;
    height:200;
}
*/

or just completely remove it.




bluehz said:


> I have been wrapping my head around the metadata display capabilities of streambaby today and generaly am very happy with the results. (GREAT WORK GUYS!). I am able to pull up metadata from .tx .xml and .html docs even with images included - using the image: <tag>. One thing I notice though was no matter what format I used - the image is always squeezed horizontally - so it appears very distorted. Is there anything I can do to get that thumbnail image that appears in the INFO screen to show up with the proper proportions?


----------



## kearygriffin

morac said:


> ...
> Edit:
> 
> It looks like there's a class in jmdns, javax.jmdns.impl.tasks.Canceler, which is used to do this. Streambaby should probably execute that when shutting down.


The shutdown code in jmdns (last time I looked) is badly broken and hangs the application at shutdown if used. Streambaby actually has a bunch of hacks to cancel jmDNS's shutdown hooks so it doesn't get called.

It's possible I could write my own code to handle canceling jmDNS at shutdown, but just never got around to it... (I keep hoping someone over at jmdns will fix the issue, but the bug has been around forever...)

Keary


----------



## kearygriffin

MrGolden said:


> Here's a sample of the .txt metadata:
> 
> 
> Code:
> 
> 
> title: Cowboy Bebop - The Movie
> description: Mars, days before Halloween 2071...
> image: CowboyBebop.jpg
> 
> As I mentioned above, this works, except the image doesn't display, which is in the same directory as the metadata file.
> 
> Here's an .html metadata sample for the same video:
> 
> 
> Code:
> 
> 
> <html>
> <body>
> <h1>Cowboy Bebop - The Movie</h1>
> <p>Mars, days before Halloween 2071...</p>
> <img src="L:\Media\Videos\Anime\.meta\CowboyBebop.jpg"/>
> </body>
> </html>
> 
> This doesn't show anything at all.


For pyTivo format metadata (.txt) there needs to be a space between the tag and the colon, and between the colon and the data:


Code:


title : Cowboy Bebop - The Movie
description : Mars, days before Halloween 2071...
image : CowboyBebop.jpg

As far as the HTML goes, it's possbile you need to set some colors for the fonts, etc. It may default to black text which won't really show up.

Also, for the image tag if you are specifying a full path (L:\Media\etc...) you might need to specify the file protocol:


Code:


file://L:\Media\Videos\Anime\.meta\CowboyBebop.jpg

Although I am not 100% sure about that. A relative path would probably be OK without it.


----------



## bluehz

Relative path seems to work fine - I think the problem might (just a guess) be the windows formatted path "\" instead of "/" ... just a guess. I had no problems at all getting images to display on ubuntu box using image : images/my_image.jpg (my images are in subfolder named "images" below the actual video file.)



kearygriffin said:


> For pyTivo format metadata (.txt) there needs to be a space between the tag and the colon, and between the colon and the data:
> 
> 
> Code:
> 
> 
> file://L:\Media\Videos\Anime\.meta\CowboyBebop.jpg
> 
> Although I am not 100% sure about that. A relative path would probably be OK without it.


----------



## MrGolden

I forgot to mention it's running on a Windows XP box, and the .html files display perfectly in IE.

I have the images in the same folder (.meta) as the metadata files. I haven't tried the // in front of the path, but I think I've tried every other possible combination 

I'll play with it some more this weekend, and report my findings either way. If I get it working, hopefully my solution may help someone else in the future.

Thanks for the pointers!


----------



## wmcbrine

kearygriffin said:


> For pyTivo format metadata (.txt) there needs to be a space between the tag and the colon, and between the colon and the data


If that's something that Streambaby is enforcing, I recommend you change that. It's never been necessary for pyTivo; and now that pyTivo can generate metadata files itself, it doesn't put a space between the tag and colon. I know that some of the pyTivo documentation used to specify a space there, but I never understood why, and I've taken out those comments where I noticed them. Anyway, the reality of the pyTivo code is that it's always been optional. What happens is, it splits the line at the first colon, and then strips the spaces from each end of each piece.



Code:


key, value = [x.strip() for x in line.split(sep, 1)]


----------



## rfryar

moyekj said:


> Regarding the 0xfff error and having to wait a little I wonder if the following would help:
> http://<ip>/TiVoConnect?Command=ResetServer


I have started to see this error crop up more and more on one of my TiVoHD boxes. Coincidentally it is the same box I have beta TiVo code on. My other Tivo is able to jump around in these files just fine, but almost every jump causes the box on Beta code to give the error now.

What is weird is yesterday I got through a whole Blue-Ray rip which must have restreamed about 6 times just fine and the very next mp4 movie (similar specs, DVD rip to MP4-aacLC) gave me the error on the first jump.

I also have problems pulling the guide data from KTTMG from this box as well so I think the beta code may be impacting the webserver on the box..

If anyone else has a box on the beta code can you test streaming larger files (or jumping around ahead and behind the buffer) and see if you get the 0xfff errors?

Here is the debugging info from the StreamBaby logs


Code:


08/20/09 14:02:35 ViewScreen: Openening stream at position: 607000(607 secs)
08/20/09 14:02:35 VideoModuleHelper: quality setting is above quality of video, streaming normally
08/20/09 14:02:35 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
08/20/09 14:02:35 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:2349644)
08/20/09 14:02:35 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
08/20/09 14:02:35 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:21)
08/20/09 14:02:35 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 161, size:980261)
08/20/09 14:02:35 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 169, size:92)
08/20/09 14:02:35 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 261, size:980161)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 269, size:32)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 301, size:55)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 356, size:980066)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 364, size:20)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 384, size:36)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 392, size:28)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 420, size:980002)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 428, size:182)
08/20/09 14:02:35 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 444, size:166)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 610, size:24)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 634, size:291680)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 292314, size:61412)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 353726, size:52)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 353778, size:512700)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 866478, size:113944)
08/20/09 14:02:35 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 980422, size:1369246)
08/20/09 14:02:35 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 980430, size:92)
08/20/09 14:02:35 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 980522, size:1369146)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 980530, size:32)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 980562, size:55)
08/20/09 14:02:35 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 980617, size:1369051)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 980625, size:16)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 980641, size:36)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 980649, size:28)
08/20/09 14:02:35 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 980677, size:1368991)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 980685, size:91)
08/20/09 14:02:35 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 980701, size:75)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 980776, size:24)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 980800, size:1972)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 982772, size:1252952)
08/20/09 14:02:35 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 2235724, size:113944)
08/20/09 14:02:35 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 2349668, size(LRG):6838521806)
08/20/09 14:02:35 MP4StreamFactory$2: DBG: moov size 2349636
08/20/09 14:02:35 MP4StreamFactory$2: DBG: mdat size 6838521790
08/20/09 14:02:35 MP4StreamFactory$2: DBG: sampleNum 11643
08/20/09 14:02:35 MP4StreamFactory$2: DBG: new key frame 11641
08/20/09 14:02:35 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 606.8505 adjustTime: 606.8505 mediaTime(11640000/19181) adjTimePos(11640000/19181)
08/20/09 14:02:35 MP4StreamFactory$2: DBG: trackType Snd trackTime: 607.0 adjustTime: 606.8505 mediaTime(29136000/48000) adjTimePos(11640000/19181)
08/20/09 14:02:35 MP4StreamFactory$2: DBG: Movie time 6682 sec, cut at 606.8505sec
08/20/09 14:02:35 MP4StreamFactory$2: 	DBG: ts 600 cut at 364110.3
08/20/09 14:02:35 MP4StreamFactory$2: DBG: media time 11640000
08/20/09 14:02:35 MP4StreamFactory$2: 	DBG: sampleNum 11641 sync frame 11641
08/20/09 14:02:35 MP4StreamFactory$2: 	DBG: chunk 1294
08/20/09 14:02:35 MP4StreamFactory$2: DBG: cutDuration 3645169
08/20/09 14:02:35 MP4StreamFactory$2: DBG: new time 606.8505
08/20/09 14:02:35 MP4StreamFactory$2: DBG: media time 29128826
08/20/09 14:02:35 MP4StreamFactory$2: 	DBG: sampleNum 28447 sync frame 28447
08/20/09 14:02:35 MP4StreamFactory$2: 	DBG: chunk 1293
08/20/09 14:02:35 MP4StreamFactory$2: DBG: cutDuration 3645273
08/20/09 14:02:35 MP4StreamFactory$2: DBG: new time 606.8505
08/20/09 14:02:35 MP4StreamFactory$2: DBG: moov chunk 2349684
08/20/09 14:02:35 MP4StreamFactory$2: DBG: cut moov chunk 620275391
08/20/09 14:02:35 MP4StreamFactory$2: DBG: updateAmount 618146556
08/20/09 14:02:35 MP4StreamFactory$2: DBG: movie skip 617925707
08/20/09 14:02:35 MP4StreamFactory$2: DBG: Cut Movie time 6075 sec 
08/20/09 14:02:35 NamedStream: Registering named stream: 12099721-f082-4b4e-9a45-50fce37387e2.stream
08/20/09 14:02:35 NamedStream: DeRegistering named stream: 67f61f15-3a44-415f-9cf4-d9d3c0a5c970.stream
08/20/09 14:02:35 Listener: 
08/20/09 14:02:35 Listener: 192.168.1.53 I/O Exception handling  HTTP GET 67f61f15-3a44-415f-9cf4-d9d3c0a5c970.stream: Connection reset by peer: socket write error
08/20/09 14:02:35 Listener: ctx=HttpRequest /streambaby/67f61f15-3a44-415f-9cf4-d9d3c0a5c970.stream t=java.net.SocketException: Connection reset
08/20/09 14:02:36 JavaMP4Splitter$Splitter$1: IOException: java.io.IOException: Pipe broken
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4
08/20/09 14:02:36 ViewScreen: error=ERROR: 0xffff
Mirrors.mp4

Rick


----------



## windracer

rfryar said:


> Coincidentally it is the same box I have beta TiVo code on.


Are you supposed to be talking about that?


----------



## rfryar

windracer said:


> Are you supposed to be talking about that?


Just stating you are using Beta code is not a breach of the privacy agreement.

Saying anything that is part of it is.

Rick


----------



## kearygriffin

wmcbrine said:


> If that's something that Streambaby is enforcing, I recommend you change that. It's never been necessary for pyTivo; and now that pyTivo can generate metadata files itself, it doesn't put a space between the tag and colon.


Thanks for the info-- I just took a look at the streambaby code to see what it does, and it looks like it only enforced the space requirement on the very first line of the metadatafile-- It did this when it is trying to determine whether the text file was a pyTivo metadata text file, or a regular txt file (which streambaby also supports as a raw description of the video). If it the pattern begins with

word : everything else

It would assume it's a pyTivo metadata file, otherwise it was assumed to be a raw txt file. All of the other code in streambaby could handle the data with or without the space.

I've made the change to not require the space when determining if the file is a pyTivo metadata file. The only thing this means is if anyone is actually using raw txt files for metadata and it begins with something like "Title: My name is joe" it won't work anymore. However "My Title: King Kong" will work. (so more than one word before the colon)


----------



## bpurcell

rfryar said:


> Just stating you are using Beta code is not a breach of the privacy agreement.
> 
> Saying anything that is part of it is.
> 
> Rick



I could disagree with your assumption, but I find it more interesting that you violated your own rule.



rfryar said:


> I have started to see this error crop up more and more on one of my TiVoHD boxes. Coincidentally it is the same box I have beta TiVo code on.


----------



## bbeck

rfryar said:


> I did not notice previously that you were on a SD 480i TV. Are you hooked up through the composite or SVideo cable? I will have to try out some Progressive content on an SD TV. In fact I have never hooked up an SD TV to the TiVo so that would be an interesting test on my end.
> 
> Do you have a small < 20 Meg test file that you can point me to that displays this jitter and I will also test with my own Progressive content.


I'm connected via S-Video from the TiVo > Onkyo 805 > Samsung TV, and via composite from the TiVo > Samsung TV (so Mom doesn't have to fire up the receiver & sub every time the kids want to watch "Curious George"). Maddeningly, while the Samsung does feature component video inputs, the sharpness is blown permanently out of whack and cannot be corrected except (perhaps) by a professional.

(More OT: the "professional" I had over to my house a few years ago to look at the TV saw absolutely nothing wrong with it, and thought it looked better than my best-effort attempts at calibration with the DVE disc on S-Video.)

Anyway, I get the same jittery-ness with progressive content regardless of the two connections.

OK, here are two Streambaby-ready (H.264 + AC3) versions of the new "Avatar" teaser:

480i (37.43 MB)
480p (39.7 MB)


----------



## rfryar

bpurcell said:


> I could disagree with your assumption, but I find it more interesting that you violated your own rule.


I do not see how when I stated I own more than one TiVo HD boxes is stating what features are part of a TiVo offering down the road. Enlighten me?


----------



## rfryar

bbeck said:


> OK, here are two Streambaby-ready (H.264 + AC3) versions of the new "Avatar" teaser:
> 
> 480i (37.43 MB)
> 480p (39.7 MB)


Thanks I will take a look at it once I get home. I did notice that the source 480p movie is 23.976 FPS while the 480i is changed to 29.97, I would assume since 480i is not acceptable at 24 fps. But that process itself might be leading to the jitter. But I have not watched either one yet, just looked at the meta and codec info.

I will try on a 1080p [hdmi], 1080i [hdmi], and a 1080i TV hooked via [svideo] and will report if I see any jumping up and down.

Thanks,

Rick


----------



## bbeck

I can put together something at higher resolutions if you like. I inferred from an earlier post that you had an SD TV available to test, which is one reason I stuck with the 480px vertical resolution. Aren't nearly all 1080i sets capable of displaying 480i/p and 720i/p content correctly?


----------



## rfryar

I can also do a test with a SD set as well, it just may take more time than this weekend. What I was primarily interested in is what the TiVo is outputting through the SVideo. I have never used the SVideo connector and perhaps that is where the Jitter is coming from.

I will let you know my tests and the results.

I have plenty of hi-res videos, both progressive and interlaced and as I have stated I have never seen any jitter through the HDMI. Which is why I am interested in testing through the SVideo.

One added question.. Do you have any HD source antenna/Cablebox content? Do you see jitter on a 720P or 1080i source signal, or only from Streambaby content.

And if you do not see jitter on content from antenna/cable can you use KTTMG to extract / convert to H.264 and see if the jitter stays away, or becomes apparent.

Rick


----------



## rfryar

bbeck said:


> I can put together something at higher resolutions if you like. I inferred from an earlier post that you had an SD TV available to test, which is one reason I stuck with the 480px vertical resolution. Aren't nearly all 1080i sets capable of displaying 480i/p and 720i/p content correctly?


To me the 480p one has a very slight jitter, only noticable when there are words on the screen on my 1080i TV. On the 1080P TV there is no such jitter. I account this to the TiVo trying to scale the movie back up to a standard resolution and make it interlaced for my tv at the same time.

I noticed no such jitter on the 480i video on either TV. Even through the S-Video connector.

If you always have jitter through this TiVo I would inspect your cables and make sure you are not getting RF interference from the power cords or Wall Warts nearby.

Wish I could help more,

Rick


----------



## bbeck

Thanks for testing, Rick. I have OTA content coming into the TiVo and haven't seen any jitter yet. I've also got a Blu-ray player that sends video to my SD TV just fine. This is the first time that progressive content hasn't played nice with my display box, so I was hoping a software solution could be found. 

Oh well - I'll just have to author two versions of the trailers I want to stream, then delete the interlaced versions when I finally upgrade my box to a panel.


----------



## spocko

I'm a streambaby newbie, running it under WinXP on an old Athlon XP 2GHz. My config is as simple as can be. When I try to stream anything to my Tivo, even mpeg2 files that were recorded by the Tivo, ffmpeg gets launched in the background and consumes all available CPU time. Even if I exit out of the video on the Tivo and go back to Tivo Central, ffmpeg keeps chugging away and eating up all the CPU it can get. The files that I'm testing with do not need transcoding.

From some searching, I'm guessing that this may be related to preview generation, but I don't understand why it happens all the time even when I'm not doing any FF/Rew. It makes streambaby not very usable on a slower machine like mine. I get the same result when using version 0.27 or the latest svn.

I would appreciate if someone could look at this debug log and tell me if all this is normal? Thanks!



Code:


08/22/09 15:43:14 StreamBabyConfig: WorkingDir: "C:\Program Files\streambaby"
08/22/09 15:43:14 StreamBabyConfig: StreamBabyDir: C:\Program Files\streambaby
08/22/09 15:43:14 StreamBabyConfig: CurDir: C:\Program Files\streambaby\native
08/22/09 15:43:14 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded: C:\Program Files\streambaby\native\avutil-49.dll
08/22/09 15:43:14 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded: C:\Program Files\streambaby\native\avcodec-52.dll
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
08/22/09 15:43:14 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded: C:\Program Files\streambaby\native\avformat-52.dll
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
08/22/09 15:43:14 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
08/22/09 15:43:14 FFmpegJavaConfig$1: Loaded: C:\Program Files\streambaby\native\swscale-0.dll
08/22/09 15:43:14 FFmpegJavaConfig$1: Marking libswscale as available.
08/22/09 15:43:14 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
08/22/09 15:43:14 FFmpegExeVideoModule: FFmpegPath: C:\Program Files\streambaby\native\ffmpeg.exe
08/22/09 15:43:14 FFmpegExeVideoModule: FFmpegExeModule: Loaded
08/22/09 15:43:14 StreamBabyMain: STARTING StreamBaby v0.27...
08/22/09 15:43:14 Main: args= start=true
08/22/09 15:43:14 Main: args= [email protected]
08/22/09 15:43:14 Listener: [email protected] [email protected]
08/22/09 15:43:15 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
08/22/09 15:43:15 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/22/09 15:43:15 Listener: name=/streambaby/
08/22/09 15:43:15 Listener: 
08/22/09 15:43:15 Listener: added factory
08/22/09 15:43:15 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/22/09 15:43:15 Main: MDNS: http://192.168.1.101:7290/streambaby/
08/22/09 15:43:15 Main: streambaby ready & listening.
08/22/09 15:43:15 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
08/22/09 15:43:20 TiVoListener: addService: Sombody's Tivo
08/22/09 15:43:20 TiVoListener: Updating service: _http._tcp.local. (Sombody's Tivo)
08/22/09 15:43:20 TiVoListener: resolveService: _http._tcp.local. (Sombody's Tivo)
08/22/09 15:43:20 TiVoListener: jmDns found TiVo: Sombody's Tivo, tsn: xxxxxxxxx
08/22/09 15:43:30 Listener: http=HttpRequest /streambaby/d97bd78e-d959-4cd8-b624-24687e43415f.stream
08/22/09 15:43:30 Listener: path=/streambaby/d97bd78e-d959-4cd8-b624-24687e43415f.stream uri=/streambaby/
08/22/09 15:43:30 Listener: 
08/22/09 15:43:30 Listener: 192.168.1.105 d97bd78e-d959-4cd8-b624-24687e43415f.stream HTTP GET - to factory /streambaby/
08/22/09 15:43:30 StreamBabyStream$StreamBabyStreamFactory: uri=d97bd78e-d959-4cd8-b624-24687e43415f.stream
08/22/09 15:43:30 NamedStream: Getting mapped stream for named stream: d97bd78e-d959-4cd8-b624-24687e43415f.stream
08/22/09 15:43:30 Listener: [email protected] t=java.lang.NullPointerException
08/22/09 15:43:40 Listener: http=HttpRequest /streambaby/ff816381-fc73-4fac-ae9e-9477a191b9a7.stream
08/22/09 15:43:40 Listener: path=/streambaby/ff816381-fc73-4fac-ae9e-9477a191b9a7.stream uri=/streambaby/
08/22/09 15:43:40 Listener: 
08/22/09 15:43:40 Listener: 192.168.1.105 ff816381-fc73-4fac-ae9e-9477a191b9a7.stream HTTP GET - to factory /streambaby/
08/22/09 15:43:40 StreamBabyStream$StreamBabyStreamFactory: uri=ff816381-fc73-4fac-ae9e-9477a191b9a7.stream
08/22/09 15:43:40 NamedStream: Getting mapped stream for named stream: ff816381-fc73-4fac-ae9e-9477a191b9a7.stream
08/22/09 15:43:40 Listener: [email protected] t=java.lang.NullPointerException
08/22/09 15:43:42 Listener: http=HttpRequest /streambaby/icon.png
08/22/09 15:43:42 Listener: path=/streambaby/icon.png uri=/streambaby/
08/22/09 15:43:42 Listener: 
08/22/09 15:43:42 Listener: 192.168.1.105 icon.png HTTP GET - to factory /streambaby/
08/22/09 15:43:42 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
08/22/09 15:43:49 Listener: http=HttpRequest /streambaby/
08/22/09 15:43:49 Listener: path=/streambaby/ uri=/streambaby/
08/22/09 15:43:49 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
08/22/09 15:43:49 Listener: 
08/22/09 15:43:49 Factory: HME receiver connected
08/22/09 15:43:49 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
08/22/09 15:43:49 StreamBabyStream: width: 1280
08/22/09 15:43:49 StreamBabyStream: height: 720
08/22/09 15:43:49 StreamBabyStream: aspect: 1/1
08/22/09 15:43:49 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:49 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:49 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:49 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:49 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
08/22/09 15:43:50 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
08/22/09 15:43:50 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
08/22/09 15:43:50 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
08/22/09 15:43:51 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/My&#37;20Videos/
08/22/09 15:43:51 HostContext: key=pw value=
08/22/09 15:43:51 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:51 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:51 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:51 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:51 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:51 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:51 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/My%20Videos/
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
08/22/09 15:43:51 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
08/22/09 15:43:51 SelectionScreen: focusOn entry=null
08/22/09 15:43:52 SelectionScreen: action=right
08/22/09 15:43:53 SelectionScreen: focusOn entry=null
08/22/09 15:43:54 SelectionScreen: action=right
08/22/09 15:43:54 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
08/22/09 15:43:54 SelectionScreen: focusOn entry=null
08/22/09 15:43:56 SelectionScreen: action=right
08/22/09 15:43:57 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Best in Show</h1><p>Pampered pooches and their quirky owners converge on Philadelphia to compete in a prestigious dog show.</p><p>Sat 4/4 08:15 pm 53 TCM<br>Episode #: </p><p>Michael Hitchcock, Parker Posey, Eugene Levy</p><p class="genre">Comedy</p></div></body></html>
08/22/09 15:43:58 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=986,height=293]
08/22/09 15:43:59 VideoModuleHelper: GetVidInfo: file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg
08/22/09 15:43:59 FFmpegJavaVideoModule: vidDur:6301362
08/22/09 15:43:59 FFmpegJavaVideoModule: VideoInfo:
uri: file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg, Container: mpeg, Duration: 6301.362 seconds
Video: mp2v 704x480 29.97002997002997 fps
  PixAspect: 0.90909094, Aspect: 1.3333334
Audio: ac3 48000HZ 2 channels
08/22/09 15:43:59 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:59 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:59 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:43:59 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:43:59 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:05 ButtonScreen: code=6 rawcode=16778246
08/22/09 15:44:05 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg value=0
08/22/09 15:44:05 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:44:05 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:44:05 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:05 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:05 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:05 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:05 ViewScreen: Desc: Best in Show.mpg
08/22/09 15:44:05 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1116,height=293]
08/22/09 15:44:06 FFmpegExeVideoModule: FFmpegCmd: C:\Program Files\streambaby\native\ffmpeg.exe -ss 0 -i G:\My Videos\Best in Show\Best in Show.mpg -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
08/22/09 15:44:06 PreviewWindow: pWidth: 1280
08/22/09 15:44:06 PreviewWindow: preview parent=BView[#2499,bounds=0,0,1280x720]
08/22/09 15:44:06 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:44:06 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:44:06 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:06 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:44:06 ViewScreen: goto position: 0, vidlen: 6301362
08/22/09 15:44:06 ViewScreen: Position not in buffer, starting new stream
08/22/09 15:44:06 ViewScreen: Openening stream at position: 0(0 secs)
08/22/09 15:44:06 VideoModuleHelper: quality setting is above quality of video, streaming normally
08/22/09 15:44:06 MpegStreamingModule$1: MpegStartTS:Timestamp: 1.5174667, filePos: 9435
08/22/09 15:44:06 MpegStreamingModule$1: MpegEndTS:Timestamp: 6302.3623, filePos: 2007068161
08/22/09 15:44:06 NamedStream: Registering named stream: a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:44:07 Listener: http=HttpRequest /streambaby/a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:44:07 Listener: path=/streambaby/a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream uri=/streambaby/
08/22/09 15:44:07 Listener: 
08/22/09 15:44:07 Listener: 192.168.1.105 a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream HTTP GET - to factory /streambaby/
08/22/09 15:44:07 StreamBabyStream$StreamBabyStreamFactory: uri=a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:44:07 NamedStream: Getting mapped stream for named stream: a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:44:07 NamedStream: Getting mapped stream for named stream: a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_top.png
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar.png
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_bottom.png
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_marker.png
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_tick.png
08/22/09 15:44:18 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_play.png
08/22/09 15:44:18 NewStatusBar: state=true
08/22/09 15:44:24 NewStatusBar: state=false
08/22/09 15:50:11 ViewScreen: code=4 rawcode=17367556
08/22/09 15:50:11 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg value=352101
08/22/09 15:50:11 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg value=352101applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: key=mpos:file:/G:/My%20Videos/Best%20in%20Show/Best%20in%20Show.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
08/22/09 15:50:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 HostContext: compKey=6520001805E63B4-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
08/22/09 15:50:11 NewStatusBar: 
08/22/09 15:50:12 NamedStream: DeRegistering named stream: a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream
08/22/09 15:50:12 Listener: 
08/22/09 15:50:12 Listener: 192.168.1.105 I/O Exception handling  HTTP GET a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream: Software caused connection abort: socket write error
08/22/09 15:50:12 Listener: ctx=HttpRequest /streambaby/a9ba5086-84cb-4a4c-b32c-63b53e5cab37.stream t=java.net.SocketException: Software caused connection abort: recv failed
08/22/09 15:50:15 ButtonScreen: action=pop
08/22/09 15:50:15 SelectionScreen: focusOn entry=Best in Show
08/22/09 15:50:18 SelectionScreen: action=pop
08/22/09 15:50:18 SelectionScreen: focusOn entry=Best in Show
08/22/09 15:50:19 SelectionScreen: action=pop
08/22/09 15:50:19 SelectionScreen: focusOn entry=My Videos
08/22/09 15:50:20 SelectionScreen: action=pop
08/22/09 15:50:20 Listener: 
08/22/09 15:50:20 Listener: connection to receiver closed
08/22/09 15:50:20 Listener: 
08/22/09 15:50:20 Factory: HME receiver disconnected
08/22/09 15:50:23 Listener: http=HttpRequest /streambaby/icon.png
08/22/09 15:50:23 Listener: path=/streambaby/icon.png uri=/streambaby/
08/22/09 15:50:23 Listener: 
08/22/09 15:50:23 Listener: 192.168.1.105 icon.png HTTP GET - to factory /streambaby/
08/22/09 15:50:23 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
08/22/09 15:51:28 ShutdownHook: Cleaning up...
08/22/09 15:51:29 ZipGeneratingPreview$GenThread: Saving partial preview: C:\Program Files\streambaby\cache\Best in Show.mpg-2007082853-d41d8cd98f00b204e9800998ecf8427e.pvw.partial
08/22/09 15:51:29 SocketProcessInputStream: Destroying running process...


----------



## kearygriffin

spocko said:


> ...
> From some searching, I'm guessing that this may be related to preview generation, but I don't understand why it happens all the time even when I'm not doing any FF/Rew!
> ...


This is the expected behavior-- It generates the previews so you can see them when you ff/rewind. It needs to do this ahead of time, so even if you don't use FF/RWD they are still generated.

You can disable the generation by editing the streambaby.ini and setting:
preview.autogenerate=false


----------



## MrGolden

bluehz said:


> Relative path seems to work fine - I think the problem might (just a guess) be the windows formatted path "\" instead of "/" ... just a guess. I had no problems at all getting images to display on ubuntu box using image : images/my_image.jpg (my images are in subfolder named "images" below the actual video file.)


Okay, I still haven't been able to get the images to work with a .txt metadata file, and the .html file doesn't display anything at all - the info screen is blank.

Can someone please post or email me a real metadata file, txt or html (preferrably both), that they *know* works? Streambaby is running on an XP box, if that matters.

Thanks a lot!


----------



## bluehz

I am still trying to wrap my head around the metadata usage with streambaby. I have a pretty good understanding of how the tivo.xml and pytivo.txt metadata files work and even a basic understanding of what happens with the xml transformations.

What I want to do is manually generate an html metadata document for each video file and use that as my metadata file. The reason I want to this is that my streambaby is running on a very old PC running Ubuntu 9.0.4 and I like to optimize as much as possible the processes. When using a standard pytivo.txt or tivo.xml metadata file - there is a significant pause before generating the Info screen displaying the metadata. I can only assume this is from the overhead required to parse and transform the raw metadata to the html for used by streambaby. Hence the reason I want to manually create the html metadata files - thereby skipping the xml transformations occurring in streambaby.

The problem I am having is nothing to do with streambaby - but more with the xml transformations. I can't seem to get a grip on writing the xslt required to transform the raw metadata into a finished html format I can use on the server. I have been scouring the internet for xslt tutorials etc, but still am having no luck.

Does anyone have any suggestions on how I might go about converting the raw metadata (either tivo.xml or pyTivo.txt) into a usable static html metadata file.

Thx


----------



## kearygriffin

bluehz said:


> ...there is a significant pause before generating the Info screen displaying the metadata. I can only assume this is from the overhead required to parse and transform the raw metadata to the html for used by streambaby.


Before you get too deep into this I would just make sure the pause is really caused by the XSLT transformation and not the HTML->jpg transformation. It could be either or both that is causing the pause. (Most likely both...)

If I remember correctly the XSLT transformation is pretty slow the the first time it generates the info screen, but is quicker for the next movie info screen. The XSLT is compiled the first time around and then is cached and used for all subsequent info screen metadata operations.

Keary


----------



## bluehz

Thanks - another reason for static html generation is I want a customized info screen.



kearygriffin said:


> Before you get too deep into this I would just make sure the pause is really caused by the XSLT transformation and not the HTML->jpg transformation. It could be either or both that is causing the pause. (Most likely both...)
> 
> If I remember correctly the XSLT transformation is pretty slow the the first time it generates the info screen, but is quicker for the next movie info screen. The XSLT is compiled the first time around and then is cached and used for all subsequent info screen metadata operations.
> 
> Keary


----------



## kearygriffin

bluehz said:


> Thanks - another reason for static html generation is I want a customized info screen.


This seems to work (run from the streambaby/stylesheets directory):


Code:


xsltproc tivo-pyxml.xsl /tmp/hb2.xml  | xsltproc pytivo-html.xsl - > /tmp/hb2.html

To create hb2.html from hb2.xml, where /tmp/hb2.xml is TiVo format XML metadata. It does print some warnings but the resulting HTML seems OK. (I didn't look into the warning it was giving, but it's probably some XSLT feature that is not supported by xlstproc)

The first transform (tivo-pyxml.xsl) transform the TiVo format XML into a pseudo pyTivo format XML (if you look at the output you will see what I mean). The second transform (pytivo-html.xsl) takes the pseudo-pyTiVo XML and transforms it to HTML.

You can copy the xsl files to something else (so you don't break streambaby ;-) and then edit it to be more in line with what you are looking for.

As far as the actual XSLT I probably can't help too much-- It's a miracle I got what I did working for streambaby (with a lot of help from the thread...)

If you do use this method and slowness does not end up being a problem (so you don't need the static HTML files) you can just replace pytivo-html.xsl with your new versions to get a customized info screen.

Sorry if I am answering a part of the process you already knew the answer to-- I think the key to the process above is the first transform simplifies the TiVo format XML into something a little easier to deal with (the pseudo pyTivo format XML)


----------



## bluehz

Thanks kearygriffin. I was alreayd working with that process a bit but for some reason - must be an xslt error - only partial data is transformed (Title and description). I have been playing around with editing the pytivo-html.xsl (the tivo-pyxml.xsl is fine), but am having a heck of a time (xml/xslt is not my forte). I was hoping someone more knowledgable in xml/xslt might chime in here and offer some help. Well maybe someone will see the post and chime in. Thanks for the suggestions.



kearygriffin said:


> This seems to work (run from the streambaby/stylesheets directory):
> 
> 
> Code:
> 
> 
> xsltproc tivo-pyxml.xsl /tmp/hb2.xml  | xsltproc pytivo-html.xsl - > /tmp/hb2.html
> 
> To create hb2.html from hb2.xml, where /tmp/hb2.xml is TiVo format XML metadata. It does print some warnings but the resulting HTML seems OK. (I didn't look into the warning it was giving, but it's probably some XSLT feature that is not supported by xlstproc)
> 
> The first transform (tivo-pyxml.xsl) transform the TiVo format XML into a pseudo pyTivo format XML (if you look at the output you will see what I mean). The second transform (pytivo-html.xsl) takes the pseudo-pyTiVo XML and transforms it to HTML.
> 
> You can copy the xsl files to something else (so you don't break streambaby ;-) and then edit it to be more in line with what you are looking for.
> 
> As far as the actual XSLT I probably can't help too much-- It's a miracle I got what I did working for streambaby (with a lot of help from the thread...)
> 
> If you do use this method and slowness does not end up being a problem (so you don't need the static HTML files) you can just replace pytivo-html.xsl with your new versions to get a customized info screen.
> 
> Sorry if I am answering a part of the process you already knew the answer to-- I think the key to the process above is the first transform simplifies the TiVo format XML into something a little easier to deal with (the pseudo pyTivo format XML)


----------



## Ronio

Do I have to have a file on my harddrive or can I redirect a current stream off the Internet?


----------



## moyekj

Ronio said:


> Do I have to have a file on my harddrive or can I redirect a current stream off the Internet?


 Can't do it with streambaby, but HME/VLC supports internet streaming of certain URLs.


----------



## wmcbrine

Ronio said:


> Do I have to have a file on my harddrive or can I redirect a current stream off the Internet?


Streambaby only does local files. If you want to stream Internet video, have a look at HME/VLC.


----------



## Frankoz2

Hi,

I wrote about a week ago with this problem, but have had no response.

Unfortunately, the issue persists; I experience spasmodic dropouts from Streambaby. See sample log below.

The program being watched just dropsout back to live TV. Streambaby remains connected, but it is necessary to go back via the folders to the movie and resume.

Any help in understanding the problem would be greatly appreciated.

Thanks
FrankOz


Initializing StreamBaby svn-r239...
08/29/09 13:37:30 Listener: added factory
08/29/09 13:37:30 Main: streambaby ready & listening.
08/29/09 13:37:34 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
08/29/09 13:37:42 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
log after close : initContext version=47
08/29/09 13:37:52 Factory: HME receiver connected
08/29/09 13:38:38 Listener: 192.168.1.8 a7e1e2a7-33eb-4ae7-98fb-67cd8277c6e0.str
eam HTTP GET - to factory /streambaby/
08/29/09 13:53:56 Listener: connection to receiver closed
08/29/09 13:53:56 Factory: HME receiver disconnected
08/29/09 13:53:58 Listener: 192.168.1.8 I/O Exception handling HTTP GET a7e1e2a
7-33eb-4ae7-98fb-67cd8277c6e0.stream: Connection reset by peer: socket write err
or
08/29/09 13:54:17 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
log after close : initContext version=47
08/29/09 13:54:21 Factory: HME receiver connected
08/29/09 13:54:47 Listener: 192.168.1.8 6cb75681-fbc2-4118-a53c-52618638f02b.str
eam HTTP GET - to factory /streambaby/
08/29/09 14:10:02 Listener: connection to receiver closed
08/29/09 14:10:02 Factory: HME receiver disconnected
08/29/09 14:10:04 Listener: 192.168.1.8 I/O Exception handling HTTP GET 6cb7568
1-fbc2-4118-a53c-52618638f02b.stream: Connection reset by peer: socket write err
or
08/29/09 14:10:17 Listener: 192.168.1.8 icon.png HTTP GET - to factory /streamba
by/
log after close : initContext version=47
08/29/09 14:10:21 Factory: HME receiver connected
08/29/09 14:10:44 Listener: 192.168.1.8 34778c0a-1be1-4f05-afe0-deb04d2d1b43.str
eam HTTP GET - to factory /streambaby/


----------



## kearygriffin

Frankoz2 said:


> ...The program being watched just dropsout back to live TV. Streambaby remains connected, but it is necessary to go back via the folders to the movie and resume....


If I had to guess I would say it has something to do with the TiVo timing out because of inactivity-- Streambaby has code to handle this (so it doesn't time out), but for whatever reason it doesn't seem to be doing the trick for you.

I don't want to jump to conclusions, but because I haven't heard of this issue before, it's conceivable it's some kind of issue specific to Australian TiVo's.

You can try a couple of things:
1) Try pressing "play" (or info, or anything else) every 5 minutes or so and see if that keeps the TiVo from timing out.
2) Try turning on extra debug information in Streambaby and see if there are any clues just before the TiVo "drops".
http://code.google.com/p/streambaby/wiki/debugging_problems

Sorry I can't be of more help.


----------



## skydive05

I am trying to get Streambaby working with VUZE converted files on a WinXP PC, but the streambaby will not show up in either TIVOs.

They are both TIVO HDs. Then I stumbled onto this POST and thought I would try getting Streambaby working. Which I did after playing around with PATH statements until I got it to use Java 1.6 instead of 1.5 as it was erroring out.

So now Streambaby is running, but was not sure if I needed anything else with that running, or if the IP to configure was the IP of my PC?

Anyways Streambaby is not showing up in the TIVO either. I would love to be able to stream through the TIVO just like my XBOX or atleast download through VUZE. I tried restarting the TIVOs to see if they needed a reboot, but NO GO.

Does Streambaby or VUZE need Tivotogo installed on the same PC or any other requirement in order to show up on the TIVO?


----------



## Kershek

skydive05, I'm using Streambaby without TiVo desktop installed.


----------



## windracer

skydive05 said:


> Anyways Streambaby is not showing up in the TIVO either.


Just to be sure, are you looking in the right place?

Streambaby shows up under "Music, Photos, & Showcases" not at the bottom of your Now Playing List.


----------



## westside_guy

Hey, this is going off on a tangent but - With OS X Snow Leopard 10.6 Apple has finally moved to Java 1.6. 

(At least a little relevant to streambaby...)


----------



## Kershek

Kershek said:


> I just installed Streambaby .25 on my Windows XP box. It runs from the command line with no errors, but I cannot see it at all from my TiVo in the Music, Photos, and Showcases menu. These are the only two lines in my ini file:
> 
> dir.1=d:\Movies
> dir.1.name=Movies
> 
> I also have TiVo Desktop running, but no ports are overlapping. I tried turning off TiVo Desktopand restarting streambaby, but that didn't help. I can browse to my tivo's IP and I see the Congratulations! message. I can see TiVo Desktop just fine from my TiVo, so I know that PC-to-TiVo communication is OK. I do a netstat -a -n and I see port 7290 listening.
> 
> Any ideas?


I know this is an old post, but for those who were trying to help me, I resolved my issue. I replaced my new TrendNET TEW-852BRP wireless router with a Linksys wireless router I found at a thrift store and Streambaby came right up. That TrendNET router was a POS and I highly recommend staying well away from it. DD-WRT doesn't support it, either. However, DD-WRT runs nicely on the Linksys.


----------



## Kershek

What's the best way to ensure that Streambaby doesn't vertically stretch fill movies that have a wider aspect ratio than the TV's 16:10?

Also, do people have issues streaming via wireless G higher than the medium high 3,400mbps setting? It seems my TiVo can't keep up with anything higher than that.


----------



## jannlinder

'lo all!

Of course with the Snow Leopard update comes a 64-bit JVM. Is streambaby optimized to use this?

I boot my mac into 64-bit mode and would love it if streambaby were to perform better with the 64-bit optimizations.

I know it loads ffmpeg.bin so i don't know if that is optimized for 64-bit or not.. I have compiled ffmpeg and all its required libraries as 64-bit and it seems to give a large performance gain when transcoding (7-9 fps in 32-bit vs 21+ in 64-bit with the exact same settings). Most of this coming, (I have seen) from the correct compilation of libx264 for 64-bit. This enables the following on the processor (on the MBP unibody)



Code:


using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64

which does not appear (not all anyway) when compiled for 32-bit.

Anyway, just wondering if some tweaking could help the performance -- especially on lower-end 64-bit (Core2Duo) macs such as the Mini...


----------



## moyekj

From my experience with engineering software in general 64 bit binaries run slower or same speed as their 32 bit counterparts, so unless we need access to >4GB RAM we try and use the 32 bit versions as much as possible. Of course a lot of it depends on the software itself and what libraries it uses etc.


----------



## kearygriffin

jannlinder said:


> Of course with the Snow Leopard update comes a 64-bit JVM. Is streambaby optimized to use this?


As far as streambaby is concerned as long as the ffmpeg libraries (not the standalone executable) match the JVM version (so 32-bit ffmpeg libraries for 32-bit java and 64-bit libraries for 64-bit java) everything should work fine.

The ffmpeg executable should work as 32-bit or 64-bit since it is run as an external process anyway, so it shouldn't matter what JVM streambaby is running on.

(The above is an assumption based on my experience with Windows and Linux 64-bit. I assume it holds for the Mac also)

Keary


----------



## jannlinder

moyekj said:


> From my experience with engineering software in general 64 bit binaries run slower or same speed as their 32 bit counterparts,


This is so natural to think -- but this is not true with Mac OS X 64-bit. Per the *fantastic* Ars Technica review at: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/5



> The x86 instruction set architecture has had a bit of a tortured history. When designing the x86-64 64-bit extension of the x86 architecture, AMD took the opportunity to leave behind some of the ugliness of the past and include more modern features: more registers, new addressing modes, non-stack-based floating point capabilities, etc. K64 reaps these benefits. Apple makes the following claims about its performance:
> 
> 250% faster system call entry point
> 70% faster user/kernel memory copy


Also, when compiling the 64-bit apps on OS X, Apple's GCC 4.2 uses LLVM (and Clang where possible) which is far more optimized than normal GCC optimization methods. In addition, this posting: http://lists.apple.com/archives/java-dev/2009/Jul/msg00174.html seems to indicate massive speed improvements using Apple's 64-bit JVM:



> I ran default brass setting on a 115 MB AIFF with Java 1.4.2_21
> on my backup System on my Mac Pro.
> I did the same with the Java 1.6 configured app you sent
> booted on my main System. (about shows 1.6.0_13)
> The 32 bit version took 49 seconds (stop watch).
> The 64 bit took 19 seconds.
> 
> My applications are computationally intensive, everything internal is in double precision. They run at least 2x faster using 64 bit JVM. And for at least a small test sample, they seem to launch properly in either mode.


Also, when you test, ensure you boot into 64-bit mode of Snow Leopard...then test. Otherwise, if you boot into 32-bit mode and run any 64-bit Java program, it has the overhead of loading the dylibs for 64-bit Cocoa, 64-bit Posix, and 64-bit every other dylib the JVM links to. If you are already in 64-bit mode, you do not have to swap out the 32-bit version for the 64-bit version. This is a big hit on initial startup, but remember, Streambaby runs once and stays in memory. Programs like this (and others that run in true-64-bit mode) will see a greater speedup over time...meaning it only loads the libraries once and runs several days -- therefore that load of the libraries is only seen once *when it has to happen*...and *only if* the the dylibs, etc have not been called already since restart (or swapout).

Back to Apple's implementation of 64-bit. The article at Ars (above) also goes in depth about Apple embracing LLVM and Clang. This is much improved over other 64-bit compilers...notably GCC. So, the same 64-bit program compiled for OS X x64 on GCC is much slower than that same program compiled for OS X x64 using LLVM (Clang) -- or even GCC-4.2 with LLVM (see: http://arstechnica.com/apple/reviews/2009/08/mac-os-x-10-6.ars/9 ).

So, look at the new Apple offerings before continuing with assumptions learned (and sometimes true) in the past. G5 64-bit *was* slower than 32-bit .. but Core2Duo running with the Apple optimizations is not.


----------



## moyekj

All valid points, however remember a lot of these 3rd party apps (like ffmpeg) are compiled using GCC libraries which do not necessarily have the high levels of optimization cited. My main point is just because it's 64 bit does not necessarily mean it will run faster as many people assume.


----------



## jannlinder

moyekj said:


> All valid points, however remember a lot of these 3rd party apps (like ffmpeg) are compiled using GCC libraries which do not necessarily have the high levels of optimization cited. My main point is just because it's 64 bit does not necessarily mean it will run faster as many people assume.


I understand, however, I was assuming that the libraries streambaby would use would have 64-bit compiled versions.

If not, I would happily compile them optimized for Core2Duo 64-bit Macs and Snow Leopard -- and release them. We are allowed to do that with FFMPEG, libx264, faac, lame & OpenJPEG ... (not so sure about faad, etc) right?

You are right, 64-bit does not make immediate improvements in and of itself all the time, but compiled for OS X, any program compiled using Apple's compiler optimizations and extensions (such as C blocks - which are released to hopefully become part of the GCC standard compiler) *will* beat the same program compiled for 32-bit *just because* of Apple's 64-bit optimizations -- and other optimizations such as Grand Central Dispatch -- which obviates the need to use heavyweight threads all the time. Not all the time by a great percentage, but when running in 64-bit mode on OS X it *will* beat it.

Again, I concede that 64-bit does not make better -- alone, however it is extremely easy to add GCD, for instance, to programs in order to speed execution on OS X. This would, it would seem, immediately benefit any program that uses threads, such as libx264 and ffmpeg. I already said the speed improvements in fps (3x's) that I got from a simple recompile with no code changes -- using the standard Apple GCC (4.2) on 64-bit. Imagine adding just a few changes to enable things like GCD (Grand Central Dispatch) and later OpenCL (which QuicktimeX now uses btw).


----------



## westside_guy

If you normally use fink to get ffmpeg and its ilk, under Snow Leopard there is a 64-bit option that can be set. You have to remove your existing fink and reinstall it for 64-bit. Note that, at the moment, many packages haven't (yet) been ported to compile and function - but, as they say on the site, it is the direction they're heading as we go along.

My pyTivo/streambaby machine hasn't been upgraded to Snow Leopard yet, so I don't know if all the necessary streambaby packages are part of 64-bit fink. Running "fink list ffmpeg" shows that ffmpeg is available, though. I guess it depends on whether everything is in the stable tree or not - supposedly almost all of those will compile under 64-bit fink (I usually run unstable, though).


----------



## valley_nomad

My PC runs Windows 2000. Does Streambaby work with W2k? streambaby.bat runs without any error. But my Tivo HD just can not see it under "music, photos and showcase". I would appreciate it if some one could look at the following log file and give me some idea on what is wrong:

09/07/09 24:29:05 StreamBabyConfig: WorkingDir: "C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239"
09/07/09 24:29:05 StreamBabyConfig: StreamBabyDir: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239
09/07/09 24:29:05 StreamBabyConfig: CurDir: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native
09/07/09 24:29:05 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native\avutil-49.dll
09/07/09 24:29:05 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native\avcodec-52.dll
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
09/07/09 24:29:05 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native\avformat-52.dll
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
09/07/09 24:29:05 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
09/07/09 24:29:05 FFmpegJavaConfig$1: Loaded: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native\swscale-0.dll
09/07/09 24:29:05 FFmpegJavaConfig$1: Marking libswscale as available.
09/07/09 24:29:06 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
09/07/09 24:29:06 FFmpegExeVideoModule: FFmpegPath: C:\Documents and Settings\valley\My Documents\tivo\streambaby-svn-r239\native\ffmpeg.exe
09/07/09 24:29:06 FFmpegExeVideoModule: FFmpegExeModule: Loaded
09/07/09 24:29:06 StreamBabyMain: STARTING StreamBaby svn-r239...
09/07/09 24:29:06 Main: args= start=true
09/07/09 24:29:06 Main: args= [email protected]
09/07/09 24:29:06 Listener: [email protected] [email protected]
09/07/09 24:29:06 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
09/07/09 24:29:06 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
09/07/09 24:29:06 Listener: name=/streambaby/
09/07/09 24:29:06 Listener: 
09/07/09 24:29:06 Listener: added factory
09/07/09 24:29:06 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
09/07/09 24:29:06 Main: MDNS: http://192.168.0.35:7290/streambaby/
09/07/09 24:29:06 Main: streambaby ready & listening.
09/07/09 24:29:06 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
09/07/09 24:59:06 InfoCache$PruneTask: Pruning cache...
09/07/09 24:59:06 InfoCache$PruneTask: Pruning complete.


----------



## Judremy

Is there ever a need to update the ffmpeg-dist.tar.bz2 file? Mine is from 2/11/2009. Thanks!


----------



## kearygriffin

Judremy said:


> Is there ever a need to update the ffmpeg-dist.tar.bz2 file? Mine is from 2/11/2009. Thanks!


I haven't changed the version of ffmpeg that streambaby downloads for windows since the original release-- I know that it pretty much works and people have been having success with it, so until there is a compelling reason to change, I probably won't.

Anyone can always change the version of ffmpeg to use by unzipping the newer ffmpeg into the native directory.


----------



## valley_nomad

Is possible to use streambaby without mDNS? I use three Zyxel NBG-318S with HomePlug for my home network so that I can have a reliable bandwidth at about 100 mbs between multiple rooms. But unfortunately it seems that those boxes can not really handle mDNS. My Tivo HD just can not see streambaby. I tried to manually add the IP of PC to the HME app list. But Tivo still can not see the server. Is there a way to manually add streambaby service to Tivo, just like what we can do with those HME apps on the Internet?


----------



## kearygriffin

valley_nomad said:


> Is there a way to manually add streambaby service to Tivo, just like what we can do with those HME apps on the Internet?


If you are trying to make "Manually add a server..." work you will need to setup a web server running on port 80 on one of the computers on your network and add a file called "TiVoConnect" to the root of the web server. 


Code:


<TiVoContainer>
<Details>
	<ContentType>x-container/tivo-server</ContentType>
	<SourceFormat>x-container/folder</SourceFormat>
	<TotalItems>1</TotalItems>
	<Title>Kearys TiVo Server</Title>
</Details>
<ItemStart>0</ItemStart>

<ItemCount>1</ItemCount>
<Item>
	<Details>
		<ContentType>application/x-hme</ContentType>
		<SourceFormat>x-container/folder</SourceFormat>
		<Title>StreamBaby</Title>
	</Details>
	<Links>
		<Content>
			<Url>http://192.168.1.37:7290/streambaby/</Url>
		</Content>
	</Links>
</Item>
</TiVoContainer>

Change the  line to point to the IP/port of the PC running streambaby. (Could be the same PC or a different PC).

Then when you "Manually add a server" add the server running the web server.

The other way to get streambaby working when you are having difficulties with mDNS is use avahi (or something equivalent) on a PC where mDNS can reach the TiVo to advertise streambaby. I was running this way for a while when my wireless network was setup in such a way that mDNS messages from my dev machine weren't able to reach the TiVo. I had the avahi server running on one of the OpenWRT routers:

streambaby.service file from /etc/avahi/services:


Code:


<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<!-- See avahi.service(5) for more information about this configuration file -->
 <service-group>
  <name>Streambaby</name>
  <service>
    <type>_tivo-hme._tcp</type>
    <port>7290</port>
    <host-name>ubuntu-laptop.local</host-name>
    <txt-record>protocol=http</txt-record>
    <txt-record>path=/streambaby/</txt-record>
  </service>
</service-group>

and in the /etc/avahi/hosts file add the line:


Code:


192.168.1.37	ubuntu-laptop.local

(Where 192.168.1.37 is the PC streambaby is running on)

Good luck.


----------



## rustyshackelford

I am having trouble with my 2 THD's seeing streambaby. They don't show up under showcases. I am on a wired network using linksys power adapters. I have the current version of Java, and Streambaby is ready and listening. I have Tivo desktop version 2.6 installed also. Here is a copy and paste of my config file, with personal information removed.

#
# ./streambaby --help for more configuration file options
#

dir.1=/C:\Documents and Settings\xxxxxxxx\My Documents\my videos
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Both the Tivos see the desktop and each other. I can view my photos from the Tivos, and access my music, so I am sure the network is working. Any thoughts?

Thank you.


----------



## valley_nomad

kearygriffin said:


> If you are trying to make "Manually add a server..." work you will need to setup a web server running on port 80 on one of the computers on your network and add a file called "TiVoConnect" to the root of the web server.
> 
> 
> Code:
> 
> 
> <TiVoContainer>
> <Details>
> <ContentType>x-container/tivo-server</ContentType>
> <SourceFormat>x-container/folder</SourceFormat>
> <TotalItems>1</TotalItems>
> <Title>Kearys TiVo Server</Title>
> </Details>
> <ItemStart>0</ItemStart>
> 
> <ItemCount>1</ItemCount>
> <Item>
> <Details>
> <ContentType>application/x-hme</ContentType>
> <SourceFormat>x-container/folder</SourceFormat>
> <Title>StreamBaby</Title>
> </Details>
> <Links>
> <Content>
> <Url>http://192.168.1.37:7290/streambaby/</Url>
> </Content>
> </Links>
> </Item>
> </TiVoContainer>
> 
> Change the  line to point to the IP/port of the PC running streambaby. (Could be the same PC or a different PC).
> 
> Then when you "Manually add a server" add the server running the web server.
> 
> ...............
> 
> Good luck.


Thanks for the tip. Can a regular web server such as SimpleWebServer (http://www.jibble.org/miniwebserver/) do the job? Will Tivo box automatically serach the root of web server for this TiVoConnect file once I add the IP of the web server via "Manually add a server..." ? Or I need something more to make it work?


----------



## kearygriffin

valley_nomad said:


> Thanks for the tip. Can a regular web server such as SimpleWebServer (http://www.jibble.org/miniwebserver/) do the job? Will Tivo box automatically serach the root of web server for this TiVoConnect file once I add the IP of the web server via "Manually add a server..." ? Or I need something more to make it work?


I imagine just about anything should work, but really haven't played around too much.

So if you enter an IP address of 192.168.10.10 into TiVo via the "Manually add a server" TiVo will try to retrieve the file at

http://192.168.10.10:80/TivoConnect

As long as it can retrieve that file it *should* be happy and all set.


----------



## valley_nomad

kearygriffin said:


> I imagine just about anything should work, but really haven't played around too much.
> 
> So if you enter an IP address of 192.168.10.10 into TiVo via the "Manually add a server" TiVo will try to retrieve the file at
> 
> http://192.168.10.10:80/TivoConnect
> 
> As long as it can retrieve that file it *should* be happy and all set.


I ran SimpleWebServer. I put the file TivoConnect into the server root. I could http it from the browser and got the following:
x-container/tivo-server x-container/folder 1 0 1 application/x-hme x-container/folder http://192.168.0.34:7290/streambaby/

I then started the streambaby and added the IP on tivo. But tivo still complained about being unable to find the server.


----------



## valley_nomad

rustyshackelford said:


> I am having trouble with my 2 THD's seeing streambaby. They don't show up under showcases. I am on a wired network using linksys power adapters. I have the current version of Java, and Streambaby is ready and listening. I have Tivo desktop version 2.6 installed also. Here is a copy and paste of my config file, with personal information removed.
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=/C:\Documents and Settings\xxxxxxxx\My Documents\my videos
> dir.1.name=My Videos
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290
> 
> Both the Tivos see the desktop and each other. I can view my photos from the Tivos, and access my music, so I am sure the network is working. Any thoughts?
> 
> Thank you.


This is because your Linksys power adapters don't support Bonjour (aka mDNS, Rendezvous, Zeroconf), a protocol used by Tivo and HME apps to discover each other on the network. I read your other post regarding the issue you had with Tivo desktop version 2.7. -- The exact same cause: V2.7 uses Bonjour while V2.6 uses TivoBeacon.

I am having the same issue with my Zyxel NBG-318S HomePlug Router which also funtions as a powerline adapter. I put Tivo box in one Ethernet port and PC running streambay in the other Ethernet port of the same router/adapter. Tivo can not see a thing about streambaby. But everything becomes just fine when I connect them through a switch. So it is very likely that these boxes are blocking the multicast message sent by Bonjour. Who knows, maybe both Linksys and Zyxel use the firmware from the same vendor.

This is why I am now looking into the possibility of using streambaby without Bonjour...

I really wish Tivo picked the discovery mechanism used by UPnP which has much more support.


----------



## kearygriffin

valley_nomad said:


> I ran SimpleWebServer. I put the file TivoConnect into the server root. I could http it from the browser and got the following:
> x-container/tivo-server x-container/folder 1 0 1 application/x-hme x-container/folder http://192.168.0.34:7290/streambaby/
> 
> I then started the streambaby and added the IP on tivo. But tivo still complained about being unable to find the server.


Upper/lower case might be important, it depends on the particular web server/OS (it definitely is on Linux). The filename should be:
TiVoConnect

Note the uppercase "V".

I just tried again myself from a local server (I had based my post an old setup I hadn't used in a while on a remote server) and it seemed to work OK for me. (I happen to be running Ubuntu/Apache2 as my web server)

(Also note I am assuming the output you posted from your browser didn't come out in the post correctly because of the XML tags being stripped out by tivocommunity in the post, and should have looked like the original that I posted. To post stuff with tags you need to surround the entry with the "


Code:


" tag when posting.)


----------



## rustyshackelford

well that explains that. i really dont know what i'm going to do now. maybe i'll hardwire. we still have a few weeks left before the snow hits here. maybe it's time to run some cable behind the siding. thanks a ton for your help valley_nomad. spot on. good karma to you.


----------



## Mikeyis4dcats

I installed Streambaby 0.27 but when I access it on Tivo, it throwes the following error....any ideas?



09/10/09 17:59:53 Listener: added factory
09/10/09 17:59:53 Main: streambaby ready & listening.
09/10/09 17:59:58 Listener: 192.168.1.1XX icon.png HTTP GET - to factory /streambaby/
09/10/09 18:00:07 Factory: HME receiver connected
09/10/09 18:00:09 Application: An error occurred during application initialization.
java.lang.UnsatisfiedLinkError : sun.font.FontManager.initIDs()V
java.lang.UnsatisfiedLinkError: sun.font.FontManager.initIDs()V
at sun.font.FontManager.initIDs(Native Method)
at sun.font.FontManager.access$000(Unknown Source)
at sun.font.FontManager$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManager.<clinit>(Unknown Source)
at sun.java2d.SunGraphicsEnvironment.addDirFonts(Unknown Source)
at sun.java2d.SunGraphicsEnvironment.registerFontsInDir(Unknown Source)
at sun.java2d.SunGraphicsEnvironment.access$200(Unknown Source)
at sun.java2d.SunGraphicsEnvironment$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.java2d.SunGraphicsEnvironment.<init>(Unknown Source)
at sun.awt.Win32GraphicsEnvironment.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.image.BufferedImage.createGraphics(Unknown Source)
at com.tivo.hme.bananas.ScaledImageElement.getScaledImage(ScaledImageElement.java:107)
at com.tivo.hme.bananas.ScaledImageElement.createResource(ScaledImageElement.java:78)
at com.tivo.hme.bananas.BSkinPlus$Element.getResource(BSkinPlus.java:150)
at com.tivo.hme.bananas.BSkinPlus.get(BSkinPlus.java:112)
at com.tivo.hme.bananas.BKeyboardPlus$SkinKeyboard.<init>(BKeyboardPlus.java:1150)
at com.tivo.hme.bananas.BKeyboardPlus.<init>(BKeyboardPlus.java:127)
at com.unwiredappeal.tivo.streambaby.PasswordScreen.<init>(PasswordScreen.java:17)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.first(StreamBabyStream.java:126)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.init(StreamBabyStream.java:83)
at com.tivo.hme.bananas.BApplicationPlus.initResolution(BApplicationPlus.java:362)
at com.tivo.hme.bananas.BApplicationPlus.initApp(BApplicationPlus.java:287)
at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:175)
at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
at java.lang.Thread.run(Unknown Source)

09/10/09 18:00:09 Listener: connection to receiver closed
09/10/09 18:00:09 Factory: HME receiver disconnected
09/10/09 18:00:09 Listener: Unexpected error: java.lang.NoClassDefFoundError: Could not initialize class sun.font.FontManager
09/10/09 18:00:09 Listener: java.lang.NoClassDefFoundError: Could not initialize class sun.font.FontManager
at sun.java2d.SunGraphicsEnvironment.addDirFonts(Unknown Source)
at sun.java2d.SunGraphicsEnvironment.registerFontsInDir(Unknown Source)
at sun.java2d.SunGraphicsEnvironment.access$200(Unknown Source)
at sun.java2d.SunGraphicsEnvironment$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.java2d.SunGraphicsEnvironment.<init>(Unknown Source)
at sun.awt.Win32GraphicsEnvironment.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(Unknown Source)
at java.awt.image.BufferedImage.createGraphics(Unknown Source)
at com.tivo.hme.bananas.ScaledImageElement.getScaledImage(ScaledImageElement.java:107)
at com.tivo.hme.bananas.ScaledImageElement.createResource(ScaledImageElement.java:78)
at com.tivo.hme.bananas.BSkinPlus$Element.getResource(BSkinPlus.java:150)
at com.tivo.hme.bananas.BSkinPlus.get(BSkinPlus.java:112)
at com.tivo.hme.bananas.BKeyboardPlus$SkinKeyboard.<init>(BKeyboardPlus.java:1150)
at com.tivo.hme.bananas.BKeyboardPlus.<init>(BKeyboardPlus.java:127)
at com.unwiredappeal.tivo.streambaby.PasswordScreen.<init>(PasswordScreen.java:17)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.first(StreamBabyStream.java:126)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.init(StreamBabyStream.java:83)
at com.tivo.hme.bananas.BApplicationPlus.handleEvent(BApplicationPlus.java:383)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.handleEvent(StreamBabyStream.java:374)
at com.tivo.hme.sdk.HmeObject.postEvent(HmeObject.java:102)
at com.tivo.hme.sdk.Resource.postEvent(Resource.java:100)
at com.tivo.hme.sdk.Application.dispatchEvent(Application.java:827)
at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:162)
at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
at java.lang.Thread.run(Unknown Source)


----------



## valley_nomad

kearygriffin said:


> Upper/lower case might be important, it depends on the particular web server/OS (it definitely is on Linux). The filename should be:
> TiVoConnect
> 
> Note the uppercase "V".
> 
> I just tried again myself from a local server (I had based my post an old setup I hadn't used in a while on a remote server) and it seemed to work OK for me. (I happen to be running Ubuntu/Apache2 as my web server)
> 
> ....


I noticed the uppercase V for the file name. But it didn't do anything for me.

I actually captured the HTTP string sent to the PC's port 80 by Tivo after I add PC's IP via "Manually add a server...":

/TiVoConnect?Command=QueryContainer&Container=%2F&Format=text%2Fxml HTTP GET

I am not HTTP expert. But this is certainly not the HTTP for getting the file TiVoConnect. I don't know if the query command can be understood by any web server or only by some Tivo-aware server (or MHO, pyTivo?) so that the file TiVoConnect can be sent back to Tivo as the response?


----------



## netserf57

I have recently began to assemble the "plumbing" to attach a video library to my Tivo. I recently built a windows home server and that is the platform I wish to create the video library on. I installed pyTivo and StreamBaby so I can access videos that can be stored on the server from the Tivo.

Is there anyway to "dress-up" the StreamBaby menus with Metadata from the WHS? Seems there is a good source for Metadata to attach to movies on the internet. I looked at MyMovies and it collects a lot of the metadata from Windows Media Center. It would be nice if that could be available through a SteamBaby access. I do not know if Tivo renders their menus using CML stored in the Video folders - 

I have not searched too widely yet. I am still very much in the creating plumbing mode but I am not far from creating the library mode so it is a good time to ask.


----------



## kearygriffin

valley_nomad said:


> I noticed the uppercase V for the file name. But it didn't do anything for me.
> 
> I actually captured the HTTP string sent to the PC's port 80 by Tivo after I add PC's IP via "Manually add a server...":
> 
> /TiVoConnect?Command=QueryContainer&Container=%2F&Format=text%2Fxml HTTP GET
> 
> I am not HTTP expert. But this is certainly not the HTTP for getting the file TiVoConnect. I don't know if the query command can be understood by any web server or only by some Tivo-aware server (or MHO, pyTivo?) so that the file TiVoConnect can be sent back to Tivo as the response?


I'd try another web server-- Most standard web servers just strip off the part after the '?' and serve up that file (which is what we are looking for). I just tried the web server you posted a link to earlier (as well as looking at the source) and it doesn't strip out the stuff after the '?' so it is looking for the wrong file.

Edit: The above is a bit of an over-simplification, but in general it describes the expected reaction of a typical web server to a URL with query parameters pointing to a file in a real file system.


----------



## kearygriffin

netserf57 said:


> I have recently began to assemble the "plumbing" to attach a video library to my Tivo. I recently built a windows home server and that is the platform I wish to create the video library on. I installed pyTivo and StreamBaby so I can access videos that can be stored on the server from the Tivo.
> 
> Is there anyway to "dress-up" the StreamBaby menus with Metadata from the WHS? Seems there is a good source for Metadata to attach to movies on the internet. I looked at MyMovies and it collects a lot of the metadata from Windows Media Center. It would be nice if that could be available through a SteamBaby access. I do not know if Tivo renders their menus using CML stored in the Video folders -
> 
> I have not searched too widely yet. I am still very much in the creating plumbing mode but I am not far from creating the library mode so it is a good time to ask.


Streambaby supports pyTivo style metadata files (as well as straight HTML, TiVo formal XML files, plus others). pyTivo style metadata files are probably the way to go as there is a lot of documention around the web as well as utiltiies for creating/manipulating them. (I'd point them out, but I don't know off the top of my head where the info is...)

Streambaby supports an additional pyTivo tag "Image : " which can point to an image to use when displaying metadata for the movie.


----------



## netserf57

kearygriffin said:


> Streambaby supports pyTivo style metadata files (as well as straight HTML, TiVo formal XML files, plus others). pyTivo style metadata files are probably the way to go as there is a lot of documention around the web as well as utiltiies for creating/manipulating them. (I'd point them out, but I don't know off the top of my head where the info is...)
> 
> Streambaby supports an additional pyTivo tag "Image : " which can point to an image to use when displaying metadata for the movie.


Thanx - a starting point.

is there any integration of the metadata collected by myMovie? I installed this which installs an SQL DB and when I put a DVD in the drive - it collects movie image and metadata from the Internet and stores it in the database.

I will start reading about pyTivo and myMovie


----------



## valley_nomad

kearygriffin said:


> I'd try another web server-- Most standard web servers just strip off the part after the '?' and serve up that file (which is what we are looking for). I just tried the web server you posted a link to earlier (as well as looking at the source) and it doesn't strip out the stuff after the '?' so it is looking for the wrong file.
> 
> Edit: The above is a bit of an over-simplification, but in general it describes the expected reaction of a typical web server to a URL with query parameters pointing to a file in a real file system.


I installed Apache for Windows and it works. Thanks! This is a neat trick. The only issue is that I have to use static IP for PC. Is there a way for streambaby to utilize the tivobeacon for broadcast/discovery? It seems that quite a few network devices lack Bonjour support. The option to run without Bonjour will be a good added feature for streambaby.

I now can play avi, mp4, rmvb smoothly although I don't know which ones use transcoding and which ones are streamed directly. But streambay often sends warnings about not being able to find some resources, such as "resource 5362 not found". The playback of RMVB also can not be resumed once it is in the trick mode (e.g. FF). Nonetheless, streambaby is a great HME app. Thanks again.


----------



## wmcbrine

valley_nomad said:


> Is there a way for streambaby to utilize the tivobeacon for broadcast/discovery?


If you mean the old-style, port 2190 beacon, TTBOMK it can only be used for HMO, not HME.


----------



## jannlinder

kearygriffin said:


> Streambaby supports pyTivo style metadata files (as well as straight HTML, TiVo formal XML files, plus others). pyTivo style metadata files are probably the way to go as there is a lot of documention around the web as well as utiltiies for creating/manipulating them. (I'd point them out, but I don't know off the top of my head where the info is...)
> 
> Streambaby supports an additional pyTivo tag "Image : " which can point to an image to use when displaying metadata for the movie.


KearyGriffin, are there plans to allow for multiple endofline characters (ie: Unix, Win or Mac EOLs)? I have some people who are alpha-testing my Tago software (that writes tags automatically for .txt files and .mp4-style ATOMs) that are complaining that the minute (on windows or Mac) they edit these .txt files in generic text editors, neither pyTivo nor Streambaby interpret these files correctly. I fixed my issue by forcing UNIX endoflines when writing the file -- and telling users not to edit the files outside of Tago, but it seems to me rather closed-minded that both pyTiVo and Streambaby which, due to their python and Java nature can be run cross-platform, locks its users into writing EOLs in Unix format. isn't this an issue that needs to be taken care of?

I am gonna copy this to wmcbrine too (as I think pyTivo needs to be changed as well)

Thx

JannLinder


----------



## jannlinder

Anyone out there know why we get so many E0xffff errors???

I get them on many files -- and most of the time the problem goes away for awhile if i EITHER transcode them to a different "quality" (which means it is a java issue...as this forces ffmpeg to read the file) or restart the tivoHD.


I have several hand-encoded files (from flv to x264) that this happens too...but once it happens, any files I have EVER encoded that streambaby does NOT transcode will give that error.


Thx

JannLinder


----------



## jannlinder

On a different machine (than the one I mentioned previously in this thread) I made use of the "/Users/<user>/Library/Application Support/pyTivoX/streambaby-user.ini" file and did the following on a "iMac 7,1" aluminum:



Code:


ffmpeg.threads=4
ffmpegexe.transcode=-acodec ac3 -vcodec mpeg2video -f vob -async 1 -r ${closest.mpeg.fps} -v 0 -threads 4
ffmpegexe.transcode.sameqargs=-sameq -ab 384k -ar ${asamplerate}

It massively sped up the processing (and therefore transmission) of .mkv files and other files that ffmpeg are involved in transcoding. I was wondering why "-threads 2" is the default on the pyTivoX installation (and I am assuming the StreamBaby default installation) when even on a Mac Mini (at least *my* Mini) that does not peg the processor. This ("-threads 4") at least goes 160% in the "Activity Monitor"... "-threads 2" only goes 60-90%.

Also, when I use MacPorts under Snow Leopard and compile ffmpeg with the following options:



Code:


sudo port install ffmpeg +universal +gpl +libogg +vorbis +theora +faac +faad +lame +x264 +xvid

and then add the following to the "/Users/<user>/Library/Application Support/pyTivoX/streambaby-user.ini" file:



Code:


ffmpeg.path=/opt/local/bin/ffmpeg

the speed bump is enormous--even on a Mini over just increasing the "-threads 2" option! Is there a reason to use the libraries and binaries that ship with applications such as pyTivoX?

This is what pyTivoX writes in the streambaby.ini file:


Code:


ffmpegjava.avutil=/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
ffmpegjava.avcodec=/Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
ffmpegjava.avformat=/Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
ffmpegjava.swscale=/Applications/pyTivoX.app/Contents/Resources/libswscale.dylib

How, just so we know, does the default Streambaby install find the libraries it uses? Are the above commands also required in the default install?


----------



## NJ Webel

Okay, I need some streambaby assistance. I am running a Windows Home Server where all my video files are located. I have pyTivo installed on the server itself and it automatically runs and serves up my video to my 2 S3s. I have played around with streambaby a little, but the streaming seems choppy with it running on a wireless laptop. Should streambaby instead be installed directly on the server, like I have done with pyTivo to ensure the smoothest streaming? If so, is there a way to make streambaby run automatically at startup (like if the server ever needs a restart)? I am looking for seamless functionality for the spousal unit. If that is not the correct way of doing things, can someone steer me in the right direction?

Sorry about the noob questions, sometimes I need to be talked through like I'm 8.


----------



## wmcbrine

jannlinder said:


> neither pyTivo nor Streambaby interpret these files correctly


I'm not seeing that here. Both LF and CR/LF endings work for me in pyTivo, under both Linux and Windows. I haven't tried old Mac style (CR-only); I wouldn't be surprised if that one failed.

I wonder if your complaining Windows users are saving as RTF or something? Windows can get very creative in how it mangles things.

I tested with Python 2.6.2 in Ubuntu and 2.5.1 in Win XP. I doubt this has changed with new Python versions. pyTivo simply relies on Python to split the file into lines (i.e., "for line in file(metadata):"), and on .strip() to remove the line endings. The metadata files are opened in text mode, but it makes no difference if I change that to open them in binary mode.


----------



## Rdian06

jannlinder said:


> It massively sped up the processing (and therefore transmission) of .mkv files and other files that ffmpeg are involved in transcoding. I was wondering why "-threads 2" is the default on the pyTivoX installation (and I am assuming the StreamBaby default installation) when even on a Mac Mini (at least *my* Mini) that does not peg the processor. This ("-threads 4") at least goes 160% in the "Activity Monitor"... "-threads 2" only goes 60-90%.
> 
> Also, when I use MacPorts under Snow Leopard and compile ffmpeg with the following options:
> 
> 
> 
> Code:
> 
> 
> sudo port install ffmpeg +universal +gpl +libogg +vorbis +theora +faac +faad +lame +x264 +xvid
> 
> and then add the following to the "/Users/<user>/Library/Application Support/pyTivoX/streambaby-user.ini" file:
> 
> 
> 
> Code:
> 
> 
> ffmpeg.path=/opt/local/bin/ffmpeg
> 
> the speed bump is enormous--even on a Mini over just increasing the "-threads 2" option! Is there a reason to use the libraries and binaries that ship with applications such as pyTivoX?


ffmpeg docs generally say to use threads = number of processors. On my older hardware I tended to only use 2 for dual core machines, bumping it up to 4 didn't help and in some cases hurt. I haven't tested with greater than 4 on my Q6600, but I'll give it a shot and see later. The point is it will vary depending on your hardware...

As for the Snow Leopard MacPorts compile, older Apple compilers created ffmpeg binaries that would crash when the full Intel optimizations were enabled, so for a while MacPorts would disable Intel optimizations for ffmpeg. I think Apple finally fixed the compiler problem with Xcode 3.0 or 3.1 and I guess MacPorts finally caught up so what you are seeing is an ffmpeg with full Intel optimizations enabled AND the additional optimization improvements moving from Xcode 3.1 to 3.2. Not sure whether the 32 vs 64 bit has anything to do with it. Haven't looked at the MacPorts stuff in Snow Leopard yet.


----------



## jannlinder

wmcbrine said:


> I'm not seeing that here. Both LF and CR/LF endings work for me in pyTivo, under both Linux and Windows. I haven't tried old Mac style (CR-only); I wouldn't be surprised if that one failed.
> 
> I wonder if your complaining Windows users are saving as RTF or something? Windows can get very creative in how it mangles things.
> 
> I tested with Python 2.6.2 in Ubuntu and 2.5.1 in Win XP. I doubt this has changed with new Python versions. pyTivo simply relies on Python to split the file into lines (i.e., "for line in file(metadata):"), and on .strip() to remove the line endings. The metadata files are opened in text mode, but it makes no difference if I change that to open them in binary mode.


In testing I just confirmed that Mac EOL (CR) does mess up the pyTivo interpretation of the meta files. I will check with my users to see but they said they were using notepad.exe and I did not think notepad (mac user here--so am not sure) saved as RTF.


----------



## kearygriffin

jannlinder said:


> In testing I just confirmed that Mac EOL (CR) does mess up the pyTivo interpretation of the meta files. I will check with my users to see but they said they were using notepad.exe and I did not think notepad (mac user here--so am not sure) saved as RTF.


I just tested streambaby with CR, CR/LF, LF and they all seemed to work for me (at least under Linux).

The thing you need to be careful of with Notepad.exe is that it unfortunately likes to add a UTF-8 BOM marker to the beginning of text files. At least for Java, it wasn't handled automatically and at some point I had to add a bunch of code to deal with it.


----------



## jannlinder

Rdian06 said:


> As for the Snow Leopard MacPorts compile, older Apple compilers created ffmpeg binaries that would crash when the full Intel optimizations were enabled, so for a while MacPorts would disable Intel optimizations for ffmpeg. I think Apple finally fixed the compiler problem with Xcode 3.0 or 3.1 and I guess MacPorts finally caught up so what you are seeing is an ffmpeg with full Intel optimizations enabled AND the additional optimization improvements moving from Xcode 3.1 to 3.2. Not sure whether the 32 vs 64 bit has anything to do with it. Haven't looked at the MacPorts stuff in Snow Leopard yet.


In examining the resulting ffmpeg with x264 I am seeing all optimizations including the following during an encode. This would indicate the speed improvements seen with a pyTivo/StreamBaby transcode:



Code:


[libx264 @ 0x101034000]using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.1 Cache64

73fps during 1st pass:


Code:


ffmpeg -y -i INPUT -threads 0 -b 2M -bt 4M -vcodec libx264 -pass 1 -vpre fastfirstpass  -flags2 -bpyramid  -an -f mp4

43fps during 2nd pass:


Code:


ffmpeg -y -i INPUT -threads 0 -b 2M -bt 4M -vcodec libx264 -pass 2 -vpre hq  -flags2 -bpyramid  -acodec libfaac -ac 2 -ar 48000 -ab 256k OUTPUT

That is a 300% improvement on firstpass and a 250% improvement on 2nd pass. (The -threads 0 argument just lets x264 use as many threads as it thinks it needs). It ends up using 180% processing time so both cores ARE in use. For those that say: "Hey ... of course it is faster -- he turned of bpyramid", I explicitely turn off bpyramid (-flags2 -bpyramid ) cos using mb-tree -- which is the default now -- is much better (in my estimation) and that default option turns off bpyramid anyway. Doing it on the command line simply reminds me it is being done.

Again, this is simply encoding -- not transcoding.. but the math should be roughly the same. This is also 64bit build (actually it is a universal build across the board).

Jann


----------



## jannlinder

kearygriffin said:


> I just tested streambaby with CR, CR/LF, LF and they all seemed to work for me (at least under Linux).
> 
> The thing you need to be careful of with Notepad.exe is that it unfortunately likes to add a UTF-8 BOM marker to the beginning of text files. At least for Java, it wasn't handled automatically and at some point I had to add a bunch of code to deal with it.


What I got when I saved the metafiles using Mac CR and served them up using StreamBaby on an "iMac 7,1" using pyTivo was:

(this is the filelisting)
filename1 episodeTitle :
filename2 episodeTitle :
filename3 episodeTitle :
filename4 episodeTitle :
filename5 episodeTitle :

whereas "episodeTitle :" *was* actually the words "episodeTitle :"

When you clicked into the program the screen was filled with gobblygook and then redrawn with spaces all over half of the screen -- erasing what was there.

I even quit and restarted both the TiVo and the Mac

Snow Leopard 10.6.1 was the platform. Files were saved using BBEdit with Mac CR line endings.

Not arguing, you understand, just saying what I experienced.


----------



## kearygriffin

jannlinder said:


> I was wondering why "-threads 2" is the default on the pyTivoX installation (and I am assuming the StreamBaby default installation) when even on a Mac Mini (at least *my* Mini) that does not peg the processor. This ("-threads 4") at least goes 160% in the "Activity Monitor"... "-threads 2" only goes 60-90%.


I actually think the Streambaby default is ffmpeg.threads=1. It's a relatively recent addition to streambaby and I didn't want to change the default behaviour.

I tried -threads 0 which I thought was "auto", but at a minimum it crashes the stock Ubuntu ffmpeg, so that was out.

I probably won't do anything about this except leave it as it is and let people change their INI to set the thread parameter as they want. (Except maybe if ffmpeg does end up with an "auto" parameter, use it)

And just as a side note, at least for streambaby when you are doing your benchmarks, you should be transcoding/encoding to MPEG-2 (not h.264).


----------



## kearygriffin

jannlinder said:


> What I got when I saved the metafiles using Mac CR and served them up using StreamBaby on an "iMac 7,1" using pyTivo was:
> 
> (this is the filelisting)
> filename1 episodeTitle :
> filename2 episodeTitle :
> filename3 episodeTitle :
> filename4 episodeTitle :
> filename5 episodeTitle :
> 
> whereas "episodeTitle :" *was* actually the words "episodeTitle :"
> .


Is it possible to post it as an attachment? (Can't remember whether I've seen anyone post a small attachment on tivocommunity or not...)


----------



## westside_guy

I would hazard to guess they're using Notepad, which can really mangle line breaks if the file doesn't originally have the only type of line break Notepad understands (CR-LF if I remember correctly - whatever the Windows standard is). Since the source config wasn't originally built on Windows, probably when they "correct" it they're getting a sequence of 3 or 4 different breaks on each line.

FWIW when I was a Windows user I found Textpad to be a much superior text editor. It's shareware, but back in the day it was still usable in its free version (although I found it useful enough that I bought a license).

On the Mac I've used both the free TextWrangler and it's paid sibling BBedit - both work just fine with streambaby and pyTivo config files. They're smart enough to recognize the type of line endings being used by the file, and sticking with that pattern when you edit it.


----------



## jannlinder

kearygriffin said:


> And just as a side note, at least for streambaby when you are doing your benchmarks, you should be transcoding/encoding to MPEG-2 (not h.264).


What? I thought streambaby encoded to MP4...not Mpeg2 when it had to transcode. That, I thought, is why mp4's were sent unchanged to the tivo? Is that a choice cos it is faster to encode to mpeg2 than mp4 or is it a requirement?

Jann


----------



## jannlinder

kearygriffin said:


> Is it possible to post it as an attachment? (Can't remember whether I've seen anyone post a small attachment on tivocommunity or not...)


Like a picture of the screen and the metafile(s) that made it that way?


----------



## moyekj

jannlinder said:


> What? I thought streambaby encoded to MP4...not Mpeg2 when it had to transcode. That, I thought, is why mp4's were sent unchanged to the tivo? Is that a choice cos it is faster to encode to mpeg2 than mp4 or is it a requirement?
> 
> Jann


mpeg2 files can also be sent unchanged to Tivos. Transcoding to H.264 (currently the only video format that can be natively decrypted decoded by series 3 Tivos in mpeg4 container) takes far more CPU resources than mpeg2 and is not feasible on most consumer level computers, thus making it impossible to transcode to H.264 in real time or better. Hence mpeg2 is really the only choice.


----------



## Rdian06

westside_guy said:


> FWIW when I was a Windows user I found Textpad to be a much superior text editor. It's shareware, but back in the day it was still usable in its free version (although I found it useful enough that I bought a license).


Notepad++ is far superior to Notepad for Windows. It'll handle the various line types and it's free, open source, and tabbed. About the only thing I don't like about it is the 200MB file size limit, but thankfully I don't have to deal with 200MB+ text files very often.


----------



## kearygriffin

jannlinder said:


> Like a picture of the screen and the metafile(s) that made it that way?


Sorry, just the metafile itself would be great.


----------



## kearygriffin

moyekj said:


> mpeg2 files can also be sent unchanged to Tivos. Transcoding to H.264 (currently the only video format that can be natively decrypted by series 3 Tivos in mpeg4 container) takes far more CPU resources than mpeg2 and is not feasible on most consumer level computers, thus making it impossible to transcode to H.264 in real time or better. Hence mpeg2 is really the only choice.


The other problem is the MP4 container itself. (the only container that we know TiVo supports for H.264 streams). Even if the PC could do real-time H.264 encoding, the MP4 container requires a complete index before the file can be played. This means the entire file would need to be transcoded before being streamed to the TiVo.


----------



## Allanon

kearygriffin said:


> The other problem is the MP4 container itself. (the only container that we know TiVo supports for H.264 streams). Even if the PC could do real-time H.264 encoding, the MP4 container requires a complete index before the file can be played. This means the entire file would need to be transcoded before being streamed to the TiVo.


The HME/VLC Video Streamer can use VLC to transcode files on the fly to a H.264 or MP4 stream. Why doesn't it require a complete index before the stream can be played on the Tivo?


----------



## jannlinder

kearygriffin said:


> The other problem is the MP4 container itself. (the only container that we know TiVo supports for H.264 streams). Even if the PC could do real-time H.264 encoding, the MP4 container requires a complete index before the file can be played. This means the entire file would need to be transcoded before being streamed to the TiVo.


So, this opens up another can of worms... Questions follow 

So, if StreamBaby transcodes everything to mpeg2 before sending it to the TiVo, then those of us that think storing it all in MP4 format (to avoid transcoding) are totally wrong, eh?

Also, what methodology does Streambaby use to decode the mp4 and re-encode to Mpeg2. The only reason i ask is when i start a tv show (requesting that Streambaby send it from my computer to my tivo), I see Java go to the top of activity monitor for a second, then ffmpeg.bin starts taking up time. Am I correct in thinking that ffmpeg.bin is doing the transcode from mp4 to mpeg2 (in my case)?

Does Streambaby transcode or send ANYTHING on its own without helper applications or libraries? This is asked cos I can then increase how "good" it performs by recompiling those apps and libraries specifically for my architecture. I have noticed that many, for instance, x264 libraries are not compiled to take advantage of SSE, SSE3, Cache64, etc. (yes i know that x624 is not involved...that was an example. )

Handbrake, for instance, when Andy Vandijck compiled it to be fully 64-bit, (see this at: http://www.insanelymac.com/forum/index.php?showtopic=159004 ) did not compile x264 correctly and thus it took upwards of 6-9 hours to rip a dvd...and this was ALL blamed on being 64-bit...not an invalid compile of x264.

Having said that, for those of us with the know-how, it would be nice to recompile the necessary apps and libraries to be as fast and have as many features as possible.

I know, a lot of questions, but if we can improve streambaby by improving the supporting apps, isn't that a good thing?

TIA

Jann


----------



## moyekj

Allanon said:


> The HME/VLC Video Streamer can use VLC to transcode files on the fly to a H.264 or MP4 stream. Why doesn't it require a complete index before the stream can be played on the Tivo?


 Haven't used it for a long time but I thought HME/VLC was transcoding to mpeg2 (if needed) before sending to TiVo much like streambaby and pyTivo.


----------



## moyekj

jannlinder said:


> So, if StreamBaby transcodes everything to mpeg2 before sending it to the TiVo, then those of us that think storing it all in MP4 format (to avoid transcoding) are totally wrong, eh?


 No you still misunderstand. If a video file is deemed "Series 3 TiVo compliant" then no transcoding to mpeg2 takes place and the file is streamed *unmodified to TiVo. Compliant videos from what we have gathered are detailed in video compatibility Wiki page. If the video fits into those (fairly narrow) standards then it won't be transcoded, otherwise it will be transcoded to mpeg2.

*unmodified: Not quite true for case of mpeg4 files since Streambaby may move atoms to the front of the file and perhaps some other compliance measures so as to make TiVo happy, but that is essentially not modifying the core mpeg4 file (not transcoding).


----------



## wmcbrine

moyekj said:


> Haven't used it for a long time but I thought HME/VLC was transcoding to mpeg2 (if needed) before sending to TiVo much like streambaby and pyTivo.


Even worse -- MPEG-1!  Yes, it does no transcoding to MP4.


----------



## Allanon

I could have sworn a while back I had HME/VLC Video Streamer working with the MP4V codec but I just tried and didn't work so just disregard my last question.


----------



## NJ Webel

Just a bump, since I think I might've been lost in the shuffle....


NJ Webel said:


> Okay, I need some streambaby assistance. I am running a Windows Home Server where all my video files are located. I have pyTivo installed on the server itself and it automatically runs and serves up my video to my 2 S3s. I have played around with streambaby a little, but the streaming seems choppy with it running on a wireless laptop. Should streambaby instead be installed directly on the server, like I have done with pyTivo to ensure the smoothest streaming? If so, is there a way to make streambaby run automatically at startup (like if the server ever needs a restart)? I am looking for seamless functionality for the spousal unit. If that is not the correct way of doing things, can someone steer me in the right direction?
> 
> Sorry about the noob questions, sometimes I need to be talked through like I'm 8.


----------



## kearygriffin

NJ Webel said:


> Just a bump, since I think I might've been lost in the shuffle....


Here are the instructions on installing Streambaby as a windows service: (windows services autoload at start time, so streambaby would survive a reboot)

http://code.google.com/p/streambaby/wiki/WindowServiceInstallation

Note: I'm not sure what the differences are between WHS and other windows versions, but I am assuming the above will work. It's possbile you may need to play with the account the service runs as after installation, but I'm not familiar with the process off the top of my head.


----------



## NJ Webel

kearygriffin said:


> Here are the instructions on installing Streambaby as a windows service: (windows services autoload at start time, so streambaby would survive a reboot)
> 
> http://code.google.com/p/streambaby/wiki/WindowServiceInstallation
> 
> Note: I'm not sure what the differences are between WHS and other windows versions, but I am assuming the above will work. It's possbile you may need to play with the account the service runs as after installation, but I'm not familiar with the process off the top of my head.


PERFECT! That makes it clear, thanks.


----------



## wmcbrine

jannlinder said:


> In testing I just confirmed that Mac EOL (CR) does mess up the pyTivo interpretation of the meta files.


OK, fixed. (I just had to open them in 'U' mode.)


----------



## texag93

Hello,

I just ran into this app a few weeks ago and must say this is a great app. Thanks for all the hard work put into this! 

I'm using the app to stream my home DVD collection, and 80% of the time, it works great. I use CloneDVD to rip the main title, and then MPEG streamclip to fix timecodes and put in one file.

Now, the trouble I come into is around AC3 decoding for some titles. I want to get the full 6 channel AC3 stream, however on any title that has the 6 channel stream as the second stream (0x81 as shown by vobedit), there is no audio on the Tivo for playback. I can fix it, but it is a pain (use vobedit to demux, then use ifoedit to reauthor the DVD which puts the stream as 0x80)

I would guess this is the ffmpeg decoder only decoding the first audio stream in the file. Is there a way for streambaby to detect this and/or allow us to select which audio stream is to be used?

I am preferring to leave my titles in the large mpeg2 format at this time, so converting to mp4 is not an option for me. 

Thanks!


----------



## primehalo

Wanting streambaby to appear in the Now Playing List has been mentioned a few times in this thread, though this has yet to make it into any of the revisions. Does this indicate that it's just not possible to do?

Deleting files off the server has also been mentioned a few times, and I would like to express my desire for such an feature. I think making it an option with the default set to off is a good idea, but I'd like to add to that and suggest that it could be an option set for specific folders.


----------



## trashjunkid

First: thanks for the tremendous program!

I can't seem to get Streambaby to accept a video playlist m3u file. 

Will streambaby accept any kind of playlist? Or is the only choice for playing multiple files simply the FF button to play the files in alphabetical order?

Thanks,
Trashjunkid


----------



## spocko

texag93 said:


> Now, the trouble I come into is around AC3 decoding for some titles. I want to get the full 6 channel AC3 stream, however on any title that has the 6 channel stream as the second stream (0x81 as shown by vobedit), there is no audio on the Tivo for playback.


I have seen this in a DVD where I ripped only the 2nd audio track. MPEG Streamclip fixed it for me though, and I see you are already using that. If the audio track that you want is the 2nd one, have you tried removing the others from your MPG file? I think you can do that in MPEG Streamclip.


----------



## hadji

kearygriffin said:


> If you are trying to make "Manually add a server..." work you will need to setup a web server running on port 80 on one of the computers on your network and add a file called "TiVoConnect" to the root of the web server.
> 
> 
> Code:
> 
> 
> <TiVoContainer>
> <Details>
> <ContentType>x-container/tivo-server</ContentType>
> <SourceFormat>x-container/folder</SourceFormat>
> <TotalItems>1</TotalItems>
> <Title>Kearys TiVo Server</Title>
> </Details>
> <ItemStart>0</ItemStart>
> 
> <ItemCount>1</ItemCount>
> <Item>
> <Details>
> <ContentType>application/x-hme</ContentType>
> <SourceFormat>x-container/folder</SourceFormat>
> <Title>StreamBaby</Title>
> </Details>
> <Links>
> <Content>
> <Url>xxxx://192.168.1.37:7290/streambaby/</Url>
> </Content>
> </Links>
> </Item>
> </TiVoContainer>
> 
> Change the  line to point to the IP/port of the PC running streambaby. (Could be the same PC or a different PC).
> 
> Then when you "Manually add a server" add the server running the web server.


I tried doing this, and I get an http error when I try to hit the Streambaby listing. Tried with keeping default port, as well as changing to something else just for the hell of it. And yes, I did change the IP to that of my hosting machine.

Thing is, streambaby USED to show up without anything extra. One day, it just stopped showing up, and I can't get it back for the life of me. No idea why it's no longer working. Really disappointing, especially since I'm having other problems with pytivo. Running out of options for pushing to my tivo.

Note, the 'xxxx' above is because the forum won't let me post urls yet.


----------



## rpmstl

Windows 7 Ultimate 64 bit

I have been using SB for a year now. Successful with Vista 32 and Windows 7 32.

Now I switched to 7 64bit and am getting stuck.

I can get everything working fine with the batch file open but cannot get the service running. When I close the cmd window with the batch file running I lose the connection on the Tivo. I am sure the issue is with the win32 service install option as everything else is 64 bit. 

I have Java 64 installed and the SB file loaded in the 64 bit Program folder. 

I can install the service but cannot start it.

Before I moved SB into the 64 bit folder I could get the service to start but not the batch file. 

How do you 64 bit users have everything set up?


----------



## Ink Noise

I upgraded Ubuntu 8.10 to 9.04 earlier this morning now I receive the following error:

"FFmpeg failed to continue running... Assuming error
SocketProcessInputStream: Destroying running process...
ViewScreen: error=Failed to open stream"

Ideas? It seems as though all components required to run ffmpeg successfully are working and playback of video on the machine is fine. Halp.


----------



## kearygriffin

Ink Noise said:


> I upgraded Ubuntu 8.10 to 9.04 earlier this morning now I receive the following error:
> 
> "FFmpeg failed to continue running... Assuming error
> SocketProcessInputStream: Destroying running process...
> ViewScreen: error=Failed to open stream"
> 
> Ideas? It seems as though all components required to run ffmpeg successfully are working and playback of video on the machine is fine. Halp.


I am currently running Ubuntu 9.10 AMD64 without problems. Your best bet is to turn on the streambaby debug log:
http://code.google.com/p/streambaby/wiki/debugging_problems

There should be a line in the log after you try to play the movie that shows the exact ffmpeg command streambaby is executing. If you cut-paste that line, replacing the tcp://xxxxxx:yyyy part with a temporary filename to encode the file to, and execute it on the command line it should probably spit back the exact the error that is occuring.


----------



## kearygriffin

rpmstl said:


> Windows 7 Ultimate 64 bit
> 
> I have been using SB for a year now. Successful with Vista 32 and Windows 7 32.
> 
> Now I switched to 7 64bit and am getting stuck
> 
> I can install the service but cannot start it.
> 
> How do you 64 bit users have everything set up?


I haven't played alot with Windows 64 so I am not sure of exactly what works, what doesn't work-- Streambaby uses a "Java Service wrapper" to launch as a service that is only available to the community as a 32-bit wrapper. (There is a 64-bit version, but it is not open source).

You can try to make sure streambaby is using a 32-bit version of Java and see if that makes the service work. I really don't know if this will affect anything or not. Also make sure you reboot after any of the service changes, as it seems windows really doesn't like to change some service settings without a reboot in between. (Especially after removal of the service, and before installing it again)


----------



## kearygriffin

primehalo said:


> Deleting files off the server has also been mentioned a few times, and I would like to express my desire for such an feature. I think making it an option with the default set to off is a good idea, but I'd like to add to that and suggest that it could be an option set for specific folders.


Quite a few people have mentioned this and I have been resistant so far-- Even with an option I don't like the idea of some bug/misconception accidentally deleting peoples files. (I don't like to get yelled at ;-) Having said that, I'll keep it in mind.



trashjunkid said:


> I can't seem to get Streambaby to accept a video playlist m3u file.


Currently streambaby does not accept m3u files, and the only way to do something somewhat equivalent is via playing an entire folder. I hadn't really thought about m3u playlists, and will take a look at some point.



hadji said:


> I tried doing this, and I get an http error when I try to hit the Streambaby listing. Tried with keeping default port, as well as changing to something else just for the hell of it. And yes, I did change the IP to that of my hosting machine.
> 
> Thing is, streambaby USED to show up without anything extra. One day, it just stopped showing up, and I can't get it back for the life of me. No idea why it's no longer working. Really disappointing, especially since I'm having other problems with pytivo. Running out of options for pushing to my tivo.


This sounds like a firewall issue or some outher kind of IP routing issue-- For whatever reason the TiVo can't access the IP/port streambaby (or streambaby is attaching to an incorrect port...) Make sure when you look at the streambaby log there should be a line showing which mDNS address it is advertising. Make sure this is the IP address of the machine. (This will also be the IP address that streambaby is listening on for incoming connections)


----------



## zabolots

While watching a movie yesterday we watched for a bit, paused for a while, and returned to start watching again. It turns out that we paused just before the end of the initial buffer (1GB?) and shortly after playing we got the "Rebuffering...Please wait..." message, which worked as expected.

I was thinking that it would be cool if, whenever playback is paused for some (configurable) time period, streambaby could restart the buffer from that point to ensure that later viewing is not interrupted to rebuffer. Would something like this be possible?


----------



## arn0ld

Is it possible for streambaby to play files random or shuffle play. it would jump to random files/folders unlike the ff command to play files in a folder. This would play files from anywhere in any order kinda like a streambaby TV Channel or similar to random play on a ipod, without user having to select file to watch. of course it would be an option which can be turned off/on thru a remote command or button on main screen. that might be fun?


----------



## BJezz

Actually I would also take advantage of a random play feature. I have a directory on my server with music videos in it and can see me using shuffle play here.


----------



## reneg

arn0ld said:


> Is it possible for streambaby to play files random or shuffle play. it would jump to random files/folders unlike the ff command to play files in a folder. This would play files from anywhere in any order kinda like a streambaby TV Channel or similar to random play on a ipod, without user having to select file to watch. of course it would be an option which can be turned off/on thru a remote command or button on main screen. that might be fun?


Possible yes. Without Java experience, I managed to cobble together random file play into Streambaby. This code snippet comes into play once you've selected a group of files to play with the ff command. If the Record key is pressed, it makes a random jump to a file within the ff list. Lots of room for improvement in this functionality. I've been hoping that Keary would add random play and delete file to Streambaby.

Changes I made to ViewScreen.java


Code:


16a16
> import java.util.Random;
132a133,134
> 
> 	Random rand = new Random();
1176a1179,1192
> 			case KEY_RECORD:
> 				if (infoView != null && infoView.getVisible() && metaview != null) {
> 					// reset timer
> 					timeout_info = new Date().getTime() + 1000 * GLOBAL.timeout_info;
> 					return metaview.handleKeyPress(code, rawcode);
> 				}
> 				int randVidNum = rand.nextInt(videoList.size()) + 1;
> 				if (randVidNum < 0 || randVidNum >= videoList.size()) {
> 					play("bonk.snd");
> 					return true;
> 				}
> 				curVideoNum = randVidNum;
> 				playNextVideo(1);
> 				return true;


----------



## MrGolden

Is there a way to create "shortcuts" for video files?

It seems like the more files I have in a folder, the longer it takes the list to appear. To alleviate that, and make it easier to find content, I'd like to create folders for each category or genre. However, I don't want to have multiple copies of the same file in different folders, for movies that fit in more than one category. I'd also still like to have an "All" folder that contains everything.

Is this possible?


----------



## hadji

kearygriffin said:


> This sounds like a firewall issue or some outher kind of IP routing issue-- For whatever reason the TiVo can't access the IP/port streambaby (or streambaby is attaching to an incorrect port...) Make sure when you look at the streambaby log there should be a line showing which mDNS address it is advertising. Make sure this is the IP address of the machine. (This will also be the IP address that streambaby is listening on for incoming connections)


Don't run a firewall. IP address and router have remained configured the same since it was originally working. Streambaby log doesn't show an annouce, having only the two following lines:

09/28/09 13:11:40 Listener: added factory
09/28/09 13:11:40 Main: streambaby ready & listening.

But I must mention that I have solved it, thanks to you mentioning the log showing an IP. I just manually bound the announce IP, and it's now showing up again on the tivo. Didn't do it originally, so didn't think to try it. I'm guessing that streambaby was hooking to Hamachi, as that's the only excuse I can think of for needing to statically set that IP. Uncertain why sb would suddenly do that, though.

But, I'm now a happy camper.


----------



## rfryar

MrGolden said:


> Is there a way to create "shortcuts" for video files?
> 
> It seems like the more files I have in a folder, the longer it takes the list to appear. To alleviate that, and make it easier to find content, I'd like to create folders for each category or genre. However, I don't want to have multiple copies of the same file in different folders, for movies that fit in more than one category. I'd also still like to have an "All" folder that contains everything.
> 
> Is this possible?


In windows you can create what are called Junctions which can map a "folder" to any other drive or folder. These are similar to Symbolic Links on a unix system.

Check out this tool that you can use to create Junctions:
http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

I was planning on doing something similar as you to help organize my videos into A-Z directories and by categories, but just have not gotten around to it yet.

Rick


----------



## rtpmatt

I am having a problem with streambaby. Every time i try to play a video, it output the following error:

StreamBabyStream: code=1 message=can't create rsrc. unsupported stream type /streambaby/6ac58ac1-8dff-4688-855c-73253b5f5a4e.stream
ERROR code=1 Message: can't create rsrc. unsupported stream type /streambaby/6ac58ac1-8dff-4688-855c-73253b5f5a4e.stream
10/01/09 22:50:26 StreamBabyStream: code=3 message=resource 2523 not found (type type[-1])

I cant seem to find a list of error codes anywhere that might help me fix this.

A little more information, streambaby is running on a linux box that is wired to the same router as my tivo box. I have ffmpeg install, and I am running galleon and pyTivo without a problem. I have tried a bunch of different videos, including videos I have created myself, and videos copied directly from my tivo.

Any help would by much appreciated.

-matt


----------



## hypnoticpimp

Im having problems

when i open the streambay.bat file

i get an error on cmd saying



> 'java' is not recognized as an internal or external command,
> operable program or batch file
> Exited
> Press any key to continue...


I have windows vista

and i have java installed

and i went to Enviromental varibles

and it says this next to Classpath

C:\Program Files\Java\jre6\bin

So not sure. it used to work before. but now i keep getting that error


----------



## moyekj

hypnoticpimp said:


> Im having problems
> 
> when i open the streambay.bat file
> 
> i get an error on cmd saying
> 
> I have windows vista
> 
> and i have java installed
> 
> and i went to Enviromental varibles
> 
> and it says this next to Classpath
> 
> C:\Program Files\Java\jre6\bin
> 
> So not sure. it used to work before. but now i keep getting that error


Read the getting_started Wiki page again carefully. The problem is you don't have correct path to java in your Windows Path. The Wiki tells you how to add it.


----------



## rustyshackelford

greetings - i got rid of my powerline units and went hardwired cat6 direct from my linksys router. reloaded tivo 2.7 and the computer still wouldnt see the tivos. both tivos saw each other and allowed me to transfer between the two tivos but no go on seeing the tivos from the computer or playing any music that was published. just to check, i reinstalled 2.62 and the software saw both tivos immediately. then i upgraded to 2.7 and back to no seeing them. i remembered from an earlier post that bonjour was the difference between the two so i downloaded the latest bonjour from apple and reinstalled. still nothing. same thing with streambaby, except streambaby wont work with either 2.62 or 2.7. it says its ready and listening but there is no streambaby in my menu on my tivos. i cant think of where i am going askew. quite the brainteaser. any thoughts?


----------



## arn0ld

reneg said:


> Possible yes. Without Java experience, I managed to cobble together random file play into Streambaby. This code snippet comes into play once you've selected a group of files to play with the ff command. If the Record key is pressed, it makes a random jump to a file within the ff list. Lots of room for improvement in this functionality. I've been hoping that Keary would add random play and delete file to Streambaby.
> 
> Changes I made to ViewScreen.java
> 
> 
> Code:
> 
> 
> 16a16
> > import java.util.Random;
> 132a133,134
> >
> > 	Random rand = new Random();
> 1176a1179,1192
> > 			case KEY_RECORD:
> > 				if (infoView != null && infoView.getVisible() && metaview != null) {
> > 					// reset timer
> > 					timeout_info = new Date().getTime() + 1000 * GLOBAL.timeout_info;
> > 					return metaview.handleKeyPress(code, rawcode);
> > 				}
> > 				int randVidNum = rand.nextInt(videoList.size()) + 1;
> > 				if (randVidNum < 0 || randVidNum >= videoList.size()) {
> > 					play("bonk.snd");
> > 					return true;
> > 				}
> > 				curVideoNum = randVidNum;
> > 				playNextVideo(1);
> > 				return true;


if we don't have java experience can you point us in the right direction. i did some searching for viewscreen.java and it didn't help much. thanks


----------



## lairdre

I have been using Streambaby for about 1 week now. I just can't seem to get DVDs to run with Streambaby. I have put my DVD in the drive and pointed Streababy to it. I am assuming I am just doing something wrong. Does anyone have any suggestions.

Ron


----------



## reneg

arn0ld said:


> if we don't have java experience can you point us in the right direction. i did some searching for viewscreen.java and it didn't help much. thanks


Maybe I made it sound too easy. I don't have java experience, but I do have programming experience. You need the source code (from http://code.google.com/p/streambaby/ ) and a java development environment. I chose NetBeans, however there are others such as Eclipse. NetBeans seemed easier/quicker for me, plus it had a nice tutorial. Make sure you can build Streambaby, and then make your changes (This could take hours or weeks depending on your expertise level).

If you don't have programming experience, best bet is to wait until the original author gets around to adding new features.


----------



## gswans5

Ok guys,
I'm a rookie with all this suff and I did have Streambaby working before, but I just did a fresh re-install of Visata and cannot get it to work.

Here is my INI file:
#
# ./streambaby --help for more configuration file options
#

dir.1=c:\
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Here is my BAT file:
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
c:\java\bin\java.exe
echo Exited.
pause
popd

I am running Java 6 Update 16 (is this the problem?)
I moved Java to the C drive with that path that is listed in line 4.
When I run that BAT file here is what happens below:

Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)

where options include:
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is client.

-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A ; separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument

-splash:<imagepath>
show splash screen with specified image
Exited.
Press any key to continue . . .

So is it something I screwed up or is the Java 6 Update 16 the problem???
Please help, I don't have much hair left to pull out and the wife is busting balls about getting it running again!!!

Thanks!


----------



## Rdian06

gswans5 said:


> Here is my BAT file:
> @echo off
> set LAUNCHDIR="%CD%"
> pushd "%~dp0\native"
> c:\java\bin\java.exe
> echo Exited.
> pause
> popd


Here is the streambaby.bat file extracted from the latest zip file:



Code:


@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

You seem to be missing everything after java in yours so java.exe has no idea what code to load...


----------



## gswans5

rdian06,
looks like i overdeleted that part of the file, now i get the ready and listening.
thanks!


----------



## PWF

Has anyone else noticed a problem lately with StreamBaby taking forever to buffer? Video playback used to happen almost immediately, now I can pause it for 5 minutes and still not have a big enough buffer for uninterrupted playback. I haven't changed anything on my PC lately.

Amd Athlon 64 X2 Dual 4600+
2 GB ram
XP Pro Sp3

StreamBaby 0.27


----------



## Wil

PWF said:


> Has anyone else noticed a problem lately with StreamBaby taking forever to buffer? Video playback used to happen almost immediately, now I can pause it for 5 minutes and still not have a big enough buffer for uninterrupted playback.


Well this is probably coincidence but I have noticed exactly that the last couple of days on my Mac; and I assumed it was a router problem I've been meaning to look into. Probably is. Just adding a random data point in case there turns out to be a pattern.


----------



## sucxess

Can't seem to find a fix for the following error. Running streambaby svn-r239 on OpenSuse 11.1. Any ideas appreciated. Error occurs only with MP4 files, AVI files (DIVX) work OK.

Initializing StreamBaby svn-r239...
10/18/09 10:14:47 Listener: added factory
10/18/09 10:14:47 Main: streambaby ready & listening.
10/18/09 10:15:17 Listener: 192.168.0.140 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=47
10/18/09 10:15:21 Factory: HME receiver connected
java.lang.AssertionError
at mp4.util.atom.ByteStream.getData(ByteStream.java:144)
at mp4.util.atom.Avc1Atom.hasAvcc(Avc1Atom.java:89)
at mp4.util.atom.Avc1Atom.getProfile(Avc1Atom.java:53)
at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.getProfile(JavaMP4Splitter.java:115)
at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.getProfile(JavaMP4Splitter.java:175)
at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:160)
at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStream(VideoModuleHelper.java:143)
at com.unwiredappeal.tivo.streambaby.PlayScreen.setupButtons(PlayScreen.java:489)
at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:98)
at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScreen.java:98)
at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java:88)
at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)​


----------



## trashjunkid

Hello all-

I have been having trouble with a number of flv files. They play fine on my computer, but when I stream them, they only cue up (the green status bar on the bottom of the screen) just a little bit and when that part is reached the playback breaks and I get a resource not available error or it just kicks back to the menu (if I fast forward beyond what is cued up and then press play, it struggles to play and then gives a failed to open stream error). I have gotten that resource unavailable message every once in a while (principally with mov files, which usually failed to stream at all, though again played fine on the computer) but now I've had this partial playback situation with several flv's from many different sources.

Thinking that perhaps the version mattered, I just switched from .27 to the latest svn release from the codegoogle page. That made no difference.

Thanks for any help anyone can provide.

-Trashjunkid

PS.

running streambaby from ubuntu server, in case it matters.

pps.
It turns out the manner in which I was downloading the files was causing trouble (sometimes there would be a "start x amount of time" in version of the file- if I switched from std to HD quality- and if I choose that file it would be truncated). 

The problem with mov files remain, but that's less a big deal.


----------



## rvmeush

I installed Streambaby as per wiki instructions on my HP Mediasmart server. Streambaby appears okay in the Tivo menu, but whenever I try to play a video I get several errors messages, but I can't figure out what they mean. The last part of the console log is:

10/19/09 21:17:19 FFmpegExeVideoModule: FFmpegCmd: C:\Documents and Settings\Administrator\Desktop\Streambaby-r239\native\ffmpeg.exe -ss 0 -i D:\shares\videos\VTS_01_1.VOB -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
10/19/09 21:17:19 PreviewWindow: pWidth: 640
10/19/09 21:17:19 PreviewWindow: preview parent=BView[#2523,bounds=0,0,640x480]
10/19/09 21:17:19 HostContext: key=mpos:file:/D:/shares/videos/VTS_01_1.VOB applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/19/09 21:17:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/19/09 21:17:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 HostContext: compKey=24000008045C365-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 HostContext: key=mpos:file:/D:/shares/videos/VTS_01_1.VOB value=0
10/19/09 21:17:19 HostContext: key=mpos:file:/D:/shares/videos/VTS_01_1.VOB value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/19/09 21:17:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/19/09 21:17:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 HostContext: compKey=24000008045C365-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 HostContext: compKey=24000008045C365-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 HostContext: compKey=24000008045C365-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/19/09 21:17:19 ZipGeneratingPreview$GenThread: Finished generating preview: C:\Documents and Settings\Administrator\Desktop\Streambaby-r239\cache\VTS_01_1.VOB-5068800-d41d8cd98f00b204e9800998ecf8427e.pvw
10/19/09 21:17:19 ViewScreen: goto position: 0, vidlen: -1
10/19/09 21:17:19 ViewScreen: Position not in buffer, starting new stream
10/19/09 21:17:20 ViewScreen: Openening stream at position: 0(0 secs)
10/19/09 21:17:20 VideoModuleHelper: quality setting is above quality of video, streaming normally
10/19/09 21:17:20 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000
10/19/09 21:17:20 FFmpegExeVideoModule: FFmpegCmd: C:\Documents and Settings\Administrator\Desktop\Streambaby-r239\native\ffmpeg.exe -ss 0.0 -i D:\shares\videos\VTS_01_1.VOB -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8501
10/19/09 21:17:20 NamedStream: Registering named stream: ea23391e-b5fc-4670-9429-420e83ec57e9.stream
10/19/09 21:17:20 *StreamBabyStream: code=1 message=can't create rsrc. unsupported stream type /streambaby/ea23391e-b5fc-4670-9429-420e83ec57e9.stream*
10/19/09 21:17:20 *StreamBabyStream: code=3 message=resource 2627 not found (type type[-1])*
10/19/09 21:17:52 ShutdownHook: Cleaning up...
10/19/09 21:17:52 SocketProcessInputStream: Destroying running process...

I can't find any description of error codes, so I'd appreciate any help I can get to debug the problem.

Thanks.


----------



## kearygriffin

rvmeush said:


> I installed Streambaby as per wiki instructions on my HP Mediasmart server. Streambaby appears okay in the Tivo menu, but whenever I try to play a video I get several errors messages, but I can't figure out what they mean.


Streambaby only works on TivoHD TivoHD-XL (or whatever it is called..), and TiVo Series 3.

Is it possible you have an older TiVo? I think this is probably what you would see...


----------



## kearygriffin

sucxess said:


> Can't seem to find a fix for the following error. Running streambaby svn-r239 on OpenSuse 11.1. Any ideas appreciated. Error occurs only with MP4 files, AVI files (DIVX) work OK.
> 
> 10/18/09 10:15:21 Factory: HME receiver connected
> java.lang.AssertionError
> at mp4.util.atom.ByteStream.getData(ByteStream.java:144)
> at mp4.util.atom.Avc1Atom.hasAvcc(Avc1Atom.java:89)
> ...


Looks like streambaby is having a hard time for those particular mp4 files-- Are they h.264 mp4 files or some other kind of mp4 file?

If you could post the mediainfo for one of the failing MP4's that would be great. 
There should be a link to media info here: http://code.google.com/p/streambaby/wiki/debugging_problems

(Sorry for the late reply...)


----------



## rvmeush

Thank you so much for the observation. I have both a Tivo HD and an older Tivo Series 2. I was using Tivo Publisher on the HP Mediaserver and that worked on both my Tivos, so I assumed that Streambaby would as well.

I just checked my Tivo HD with Streambaby and it is working!

Again, thank you for your help.


----------



## net114

hypnoticpimp said:


> Im having problems
> 
> when i open the streambay.bat file
> 
> i get an error on cmd saying
> 
> I have windows vista
> 
> and i have java installed
> 
> and i went to Enviromental varibles
> 
> and it says this next to Classpath
> 
> C:\Program Files\Java\jre6\bin
> 
> So not sure. it used to work before. but now i keep getting that error


That's definitely a path issue. You need to make sure your path in the .ini file is correct.


----------



## Len McRiddles

net114 said:


> That's definitely a path issue. You need to make sure your path in the .ini file is correct.


This is the same issue I am having running Vista 64 bit home premium. I went to the Wiki page and read, but I am doing something wrong in correcting my path. What is the easiest way for me to correct this?


----------



## lattanzi

What kind of bandwidth does your Tivo report when streaming into it from Streambaby? Mine is on the order of 6-7 MB/s. I've just installed Streambaby on a WHS server. All my content are .Tivo files recorded from various SD and HD cable channels. 

SD streaming works perfectly. HD .Tivo files don't stream well at all. I've read some of the posts in the threat (albeit not all 54 pages), and I see some discussion of HD streaming issues. I'm assuming my problem with HD .Tivo files not streaming such that I can watch in real time is a result of the inability of the Tivo HD to transfer incoming videos faster than 6-7 MB/s? Just want to make sure I'm not doing something wrong given transfers between my 2 Tivo HDs happen at around 20 MB/s.


----------



## sucxess

kearygriffin said:


> Looks like streambaby is having a hard time for those particular mp4 files-- Are they h.264 mp4 files or some other kind of mp4 file?
> 
> If you could post the mediainfo for one of the failing MP4's that would be great.
> There should be a link to media info here:
> 
> (Sorry for the late reply...)


Here is the mediainfo:

General
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.23 GiB
Duration : 2h 13mn
Overall bit rate : 1 323 Kbps

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 2 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 2h 13mn
Bit rate mode : Variable
Bit rate : 1 238 Kbps
Maximum bit rate : 5 411 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 29.970 fps
Standard : NTSC
Resolution : 24 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.120
Stream size : 1.15 GiB (94%)

Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format version : Version 4
Format profile : LC
Format settings, SBR : No
Codec ID : 40
Duration : 2h 13mn
Bit rate mode : Variable
Bit rate : 80.0 Kbps
Maximum bit rate : 91.5 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 76.4 MiB (6%)
Title : English
Language : English
Encoded date : UTC 2009-05-30 13:21:35
Tagged date : UTC 2009-05-30 19:52:19

Menu
00:00:00.000 : Chapter 1
00:01:19.733 : Chapter 2
00:15:50.766 : Chapter 3
00:25:59.200 : Chapter 4
00:37:40.900 : Chapter 5
00:49:38.066 : Chapter 6
01:00:00.400 : Chapter 7
01:06:08.733 : Chapter 8
01:16:56.000 : Chapter 9
01:27:18.866 : Chapter 10
01:37:36.833 : Chapter 11
01:48:40.433 : Chapter 12
02:03:42.666 : Chapter 13


----------



## spolebitski

I am attempiing to test this application.

This is what I have in the .ini file:

#
# ./streambaby --help for more configuration file options
#

dir.1=E:\VideoContent
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


Do I have this configured right? My files are located at e:\VideoContent.


----------



## Pepito

Apparently the last Tivo software upgrade has stopped Streambaby from working.

I only just found out so thought I'd post this to save people wasting time thinking something else has broken (as I did  )


Greetings from Australia


----------



## net114

Len McRiddles said:


> This is the same issue I am having running Vista 64 bit home premium. I went to the Wiki page and read, but I am doing something wrong in correcting my path. What is the easiest way for me to correct this?


Ok, I can't remember exactly what I did. Wait...I'll go check.

Ok, so here you go. First, I'm using the latest version. Then, if you're using 64bit software, your Java is probably in a different folder then the .bat file is looking into, because of the funky (x86) folder thing that 64bit versions of windows do. So what I did, which might not be efficient or exactly the best way, was direct the .bat file to look directly at where the java folder is.

Here's the .bat file contents, note the java path:

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
*cd C:\Program Files (x86)\Java\jre6\bin*
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
echo Exited.
pause
popd

this was for win7 64bit, i bet vista is the same. its that "(x86)" that threw off everything. also, this has happened to me with MANY other smaller applications, that don't seem to work, but in reality its this same issue. Hope this helps.

I'm going to put a tutorial up later this week on this as well.


----------



## net114

Pepito said:


> Apparently the last Tivo software upgrade has stopped Streambaby from working.
> 
> I only just found out so thought I'd post this to save people wasting time thinking something else has broken (as I did  )
> 
> Greetings from Australia


What's the software version? I'm in USA, not having a problem.


----------



## Len McRiddles

Len McRiddles said:


> This is the same issue I am having running Vista 64 bit home premium. I went to the Wiki page and read, but I am doing something wrong in correcting my path. What is the easiest way for me to correct this?


Anyone?


----------



## orangeboy

net114 said:


> Ok, I can't remember exactly what I did. Wait...I'll go check.
> 
> Ok, so here you go. First, I'm using the latest version. Then, if you're using 64bit software, your Java is probably in a different folder then the .bat file is looking into, because of the funky (x86) folder thing that 64bit versions of windows do. So what I did, which might not be efficient or exactly the best way, was direct the .bat file to look directly at where the java folder is.
> 
> Here's the .bat file contents, note the java path:
> 
> @echo off
> set LAUNCHDIR="%CD%"
> pushd "%~dp0\native"
> *cd C:\Program Files (x86)\Java\jre6\bin*
> java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> echo Exited.
> pause
> popd
> 
> this was for win7 64bit, i bet vista is the same. its that "(x86)" that threw off everything. also, this has happened to me with MANY other smaller applications, that don't seem to work, but in reality its this same issue. Hope this helps.
> 
> I'm going to put a tutorial up later this week on this as well.


Couldn't you put "C:\Program Files (x86)\Java\jre6\bin" in your path statement? I don't have Vista or 7, so I don't know if this is an option or not.


----------



## net114

Len McRiddles said:


> Anyone?


My solution was in the post above.

EDIT:

If you want to edit the path, click on start and then in the search box type "environment variables". You should see "edit environmental variables for your account".

You can change the path there. However, just so you know my path already had the java in it, and it didn't work until I manually put it into the .bat file. Don't know why.


----------



## net114

orangeboy said:


> Couldn't you put "C:\Program Files (x86)\Java\jre6\bin" in your path statement? I don't have Vista or 7, so I don't know if this is an option or not.


Yes, but I found it easier to just change the .bat file.


----------



## Len McRiddles

Thank you very much sir. That did the trick.


----------



## sfalvey

I have been using streambaby for about 6 months without any problems up until a couple of days ago. Suddenly it stopped working and I have been scratching my head since then.

When I select any video to watch, even ones I have watched before I get red text saying Error 0xffff and the filename.

I have switched on debug logging and there does not appear to be anything reported.



> 10/27/09 17:36:37 ViewScreen: Desc: Alice in Wonderland
> 10/27/09 17:36:37 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1132,height=328]
> 10/27/09 17:36:37 PreviewWindow: pWidth: 1280
> 10/27/09 17:36:37 PreviewWindow: preview parent=BView[#2480,bounds=0,0,1280x720]
> 10/27/09 17:36:37 HostContext: key=mpos:file:/scratch/Video/KidsVids/Alice%20in%20Wonderland.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 10/27/09 17:36:37 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 10/27/09 17:36:37 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 10/27/09 17:36:37 HostContext: compKey=6630001801E332A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 10/27/09 17:36:37 ViewScreen: goto position: 0, vidlen: 4513096
> 10/27/09 17:36:37 ViewScreen: Position not in buffer, starting new stream
> 10/27/09 17:36:37 Application: Already initialized, not re-initing.
> 10/27/09 17:36:37 Application: Already initialized, not re-initing.
> 10/27/09 17:36:37 ViewScreen: Openening stream at position: 0(0 secs)
> 10/27/09 17:36:37 VideoModuleHelper: Bitrate for quality: 5192
> 10/27/09 17:36:37 VideoModuleHelper: quality setting is above quality of video, streaming normally
> 10/27/09 17:36:37 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -bufsize 4096k -b 5000k -maxrate 8000k -ab 192k -s 496x368 -ar 48000
> 10/27/09 17:36:37 FFmpegExeVideoModule: FFmpegCmd: ffmpeg -ss 0.0 -i /scratch/Video/KidsVids/Alice in Wonderland.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -bufsize 4096k -b 5000k -maxrate 8000k -ab 192k -s 496x368 -ar 48000 tcp://127.0.0.1:8500
> 10/27/09 17:36:37 NamedStream: Registering named stream: 8aa0f53c-e9b8-4158-bd4a-882b13cabc95.stream
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:38 ViewScreen: error=ERROR: 0xffff
> Alice in Wonderland.avi
> 10/27/09 17:36:40 Listener:
> 10/27/09 17:36:40 Listener: connection to receiver closed
> 10/27/09 17:36:40 Listener:
> 10/27/09 17:36:40 Factory: HME receiver disconnected


I have tried removing the title cache and the .txt metadata files with no luck. I have also tried the usual rebooting the server and the tivo. I have tried moving all the videos out of the way and just used one file in a single directory. I have also tried running ffmpeg by hand against the file and everything seems to be working there.

The obvious question is what has changed. Nothing on my end that I am aware but TiVo service sent out an update this week for Aussie TiVos that among other things changed "Watch Live TV" to "Watch Freeview" on TiVo Central. I dont know what else may have changed at the backend.

The last time I had problems with Streambaby it was because of a problem with the TiVo service where my TiVo (and a number of other customer's TiVo) stopped being able to run apps. That was fixed by TiVo because it also effected the Blockbuster downloads. This time only Streambaby seems to be effected.

Are there any other Aussie users out there using Streambaby without a problem?

Any ideas of where else I could look would be appreciated.

Cheers


----------



## Pepito

net114 said:


> What's the software version? I'm in USA, not having a problem.


11.1b-01-2-663

Greetings from Australia


----------



## net114

Pepito did you reboot your Tivo? 

I know, dumb question, but with our 2nd Tivo it uses a wireless connection, and it does that sometimes, the only thing to fix it is to wait 20 minutes or reboot the tivo.


----------



## Pepito

net114 said:


> Pepito did you reboot your Tivo?
> 
> I know, dumb question, but with our 2nd Tivo it uses a wireless connection, and it does that sometimes, the only thing to fix it is to wait 20 minutes or reboot the tivo.


Yes I did, but rebooting again now 

edit: You're not going to believe it, Streambaby now works again. I swear I rebooted it when it first stopped working!

Interestingly I just spoke to a mate who tells me his TiVo is running 11.3a-01-2-663 firmware. His "Watch Live TV" option now says "Freeview".

Greetings from Australia


----------



## Len McRiddles

rustyshackelford said:


> greetings - i got rid of my powerline units and went hardwired cat6 direct from my linksys router. reloaded tivo 2.7 and the computer still wouldnt see the tivos. both tivos saw each other and allowed me to transfer between the two tivos but no go on seeing the tivos from the computer or playing any music that was published. just to check, i reinstalled 2.62 and the software saw both tivos immediately. then i upgraded to 2.7 and back to no seeing them. i remembered from an earlier post that bonjour was the difference between the two so i downloaded the latest bonjour from apple and reinstalled. still nothing. same thing with streambaby, except streambaby wont work with either 2.62 or 2.7. it says its ready and listening but there is no streambaby in my menu on my tivos. i cant think of where i am going askew. quite the brainteaser. any thoughts?


I have heard that not all versions of XP are compatible with streambaby. Bonjour will work with other apps, but not streambaby from what I remember.


----------



## AussieMark

Hot off the press from TiVo staff in Australia. The newest firmware upgrade has disabled Streambaby in Australia and New Zealand .....

"Hi Everyone

With the latest release of Software the .tivo files that are moved from the TiVo to the PC and back now use transport streams instead of program streams. This was necessary for us to support H.264 in NZ for both MRV and TiVo Desktop.

This new format does break Streambaby  however this has occurred in the past when we have released new SW, and the Open Source community simply sniffs the new protocol and updates StreamBaby to make it work again. I can't give you a target date but it has been updated relatively quickly in the past.

Thanks

Craig"


----------



## Pepito

Does this mean Australian Tivo's are running a later version firmware than the rest of the world now?


----------



## AussieMark

Pepito said:


> Does this mean Australian Tivo's are running a later version firmware than the rest of the world now?


Not sure, but it's definitely a different version of firmware, because the newest version replaces "watch live TV" on the main Tivo menu with "watch Freeview".

Hopefully the Streambaby crowd will be able to rectify this issue soon. I've logged the bug over at the Streambaby open source site.


----------



## sharmos

sfalvey said:


> Are there any other Aussie users out there using Streambaby without a problem?


Yep I've got the exact same problem and it's frustrating the hell out've me !!!


----------



## Pepito

AussieMark said:


> I've logged the bug over at the Streambaby open source site.


Good work AussieMark :up:


----------



## petestrash

Confirmed streambaby is killed by 11.3a here.

If one of the devs would like some info on 11.3a feel free to pm.

Peter.


----------



## sfalvey

petestrash said:


> Confirmed streambaby is killed by 11.3a here.
> 
> If one of the devs would like some info on 11.3a feel free to pm.
> 
> Peter.


Ditto. If anyone needs packets grabbing etc, please let me know.

Simon


----------



## kearygriffin

I've uploaded a new SVN release (been a while..) that includes a delete from hard-drive modification submitted by t14cl (I hope thats right, I have trouble remembering names with numbers, and for that matter any name I can't pronounce ;-)

http://streambaby.googlecode.com/files/streambaby-svn-r253.zip

It's a bit hackish at the moment (may be forever...) in that on the PlayScreen the "Go back" button line now has a dual-purpose. Pressing left-arrow or select goes back to the previous screen as usual. However, pressing right-arrow selects the "More" screen.

The only option on the "More" screen is currently "Delete from Hard Drive"

-- As a shortcut you can also press "clear" from the PlayScreen to delete the movie from the hard drive.
(The play screen is the screen after you select the video and it shows the details of the video)


----------



## kearygriffin

sfalvey said:


> Ditto. If anyone needs packets grabbing etc, please let me know.
> 
> Simon


What I'd be most interested in at this point is what wmcbrine asked about in another streambaby thread about this issue:

-- Do MP4 files streamed natively still work.

Streambaby currently streams files to the TiVo using either MPEG-2 program stream (which everything except MP4 eventually ends up transcoded to) or H.264/MP4.

From the quote from TiVo that was posted it made it sound like it was the MPEG-2 PS (program stream) that has changed to a TS (transport stream).

Having said that, I think it may be up to someone in Australia with the TiVo knowledge to fix the issue or at least tell me pretty explicitly what needs to be changed. It may be a bridge-to-far to try and fix this without having a TiVo with the issue to test with in front of me. I'd be more and willing to give my input about things that may need to be changed.


----------



## AussieDielo

I've got an Aussie TiVo Series 3 connected to my network at home via wire. I've installed Streambaby on a Windows XP PC and setup the ini file to point to a directory where I have *.avi, *.wmv files. When I start streambaby.bat it runs and my TiVo can see all the video files on my XP PC but when I go to play any of them, the TiVo displays an x2e006a error message.

Question. I know that the Home Network option is bundled in the USA version and it's an additional cost for people in Oz. Do I need to purchase this? Is that my problem?


----------



## Erasmus

AussieDielo said:


> I've got an Aussie TiVo Series 3 connected to my network at home via wire. I've installed Streambaby on a Windows XP PC and setup the ini file to point to a directory where I have *.avi, *.wmv files. When I start streambaby.bat it runs and my TiVo can see all the video files on my XP PC but when I go to play any of them, the TiVo displays an x2e006a error message.
> 
> Question. I know that the Home Network option is bundled in the USA version and it's an additional cost for people in Oz. Do I need to purchase this? Is that my problem?


Yes you need a Media Access Key (MAK) to use any networking functions, and the only way to get one in Australia is to purchase the Home Network Package. This retails for $199 but if you look on the whirlpool forums you can get a special offer of $99. The problem is that Streambaby won't work with the latest update of the Tivo firmware which will hit your box soon if it hasn't already. The Tivo supplied desktop software is pretty flakey at the moment so I would hold off if I were you.


----------



## t1c4l

kearygriffin said:


> I've uploaded a new SVN release (been a while..) that includes a delete from hard-drive modification submitted by t14cl (I hope thats right, I have trouble remembering names with numbers, and for that matter any name I can't pronounce ;-)
> 
> It's a bit hackish at the moment (may be forever...) in that on the PlayScreen the "Go back" button line now has a dual-purpose. Pressing left-arrow or select goes back to the previous screen as usual. However, pressing right-arrow selects the "More" screen.
> 
> The only option on the "More" screen is currently "Delete from Hard Drive"
> 
> -- As a shortcut you can also press "clear" from the PlayScreen to delete the movie from the hard drive.
> (The play screen is the screen after you select the video and it shows the details of the video)


Thanks for polishing it up a bit :up: I like that you added the CLEAR button feature too, I didn't think of that.


----------



## t1c4l

kearygriffin said:


> What I'd be most interested in at this point is what wmcbrine asked about in another streambaby thread about this issue:
> 
> -- Do MP4 files streamed natively still work.
> 
> Streambaby currently streams files to the TiVo using either MPEG-2 program stream (which everything except MP4 eventually ends up transcoded to) or H.264/MP4.
> 
> From the quote from TiVo that was posted it made it sound like it was the MPEG-2 PS (program stream) that has changed to a TS (transport stream).
> 
> Having said that, I think it may be up to someone in Australia with the TiVo knowledge to fix the issue or at least tell me pretty explicitly what needs to be changed. It may be a bridge-to-far to try and fix this without having a TiVo with the issue to test with in front of me. I'd be more and willing to give my input about things that may need to be changed.


If that is what the issue is (Transport Stream change) I might give it a shot at changing it as I've also got an Aussie TiVo and it just started giving 0xfffff for me too


----------



## kearygriffin

t1c4l said:


> If that is what the issue is (Transport Stream change) I might give it a shot at changing it as I've also got an Aussie TiVo and it just started giving 0xfffff for me too


I finally get around to incorporating your changes and now you can't use Streambaby ;-) Sorry.

One little feature streambaby has that may make playing around with this issue a little bit easier is the ability to stream "raw" files. I use this for testing streaming various filetypes to the TiVo.

If you have a video file you want to stream to the TiVo via Streambaby, copy or rename the file to end in ".raw". So for instance if you have "video.mpg" copy/rename it to "video.raw".

Now create a second file in the same directory called "video.raw.fmt". This is a simple text file that contains one or two lines (the second line is optional). 
The first line should contain the mime type that streambaby will tell the TiVo the .raw file is. The second (optional, will use the default if not included) line tells Streambaby what "Content-Type: " header to use when when the Tivo requests the raw file from streambaby. Because of the way the TiVo works these could be two different values.

As far as I can remember the only current format that streambaby uses the second line for (the Content-Type: ) is .TiVo files which requires a different mimeType (which is passed to the Tivo when you tell the Tivo to stream a file) than content-Type: (which is passed after the TiVo requests the file you told it to stream) is the .TiVo format.

So for example, if the .raw file is a .TiVo file, the .fmt file should look like:
video/mpeg
video/x-tivo-mpeg

for .mpg (ps) files:
video/mpeg

for MP4 files:
video/mp4

You may need to be careful about extra line feeds at the end of the file, I'm not sure how good a job the code does stripping them out...

Hope this helps a little bit.

Keary


----------



## t1c4l

I've tried renaming one of my avi (XviD) files to .raw and I created a .raw.fmt file for it but can't seem to get it to work. I've tried all the mime types you've suggest plus many others but I have a feeling TiVo only supports the one you've listed and I've tried. 

Another things I've been looking at is that ffmpeg has an option to output mpeg format in Transport Stream by using the -f mpegts switch instead of using the -f vob (vob is Program Stream).

I've tried customizing the ffmpegexe.transcode command line to use -f mpegts instead of -f vob but it doesn't make any difference as I still get this error so I am not sure if this is all there is to it (ie. change from program stream to transport stream)

Can you explain to me the flow of video data with Streambaby?

From what I can see ffmpeg is used to transcode the video input and then send it to Streambaby on local TCP port 8501 which it is listening on. After this I am unsure how the video stream gets to TiVo. I assume at some point Streambaby is simply passing this data on to TiVo and making no further change to it?

I can still use pyTivo with no problem to pull/push videos so I don't know what exactly is different between the two different methods of steaming video to TiVo.


----------



## kearygriffin

t1c4l said:


> I've tried renaming one of my avi (XviD) files to .raw and I created a .raw.fmt file for it but can't seem to get it to work. I've tried all the mime types you've suggest plus many others but I have a feeling TiVo only supports the one you've listed and I've tried.


This won't work-- Using the raw file format assumes the file has already been transcoded to a format that the TiVo supports (mpeg ps/mp4/.TiVo on US TiVos) and the fmt file just tells Streambaby the mimetypes to use for this file. Since neither XVID or AVI files are natively supported this method won't work. What you should be doing is using ffmpeg (or something else) to transcode the file to a supported format (which might be mpeg ts on aussie units) and using the .fmt file to inform Streambaby of the mimetypes.



> Another things I've been looking at is that ffmpeg has an option to output mpeg format in Transport Stream by using the -f mpegts switch instead of using the -f vob (vob is Program Stream).
> 
> I've tried customizing the ffmpegexe.transcode command line to use -f mpegts instead of -f vob but it doesn't make any difference as I still get this error so I am not sure if this is all there is to it (ie. change from program stream to transport stream)


This would be correct to get ffmpeg to generate a transport stream (I am assuming, haven't really used ffmpeg to get a TS before), however the mimetypes that Streambaby then tells TiVo the file is might be incorrect. (Depends on what mimetype the Aussie TiVos wants for TS files...)

This is why it might be easier to use the .raw method, where you manually run ffmpeg to transcode the video file into format we think the TiVo wants, and then set the mimetypes in the .fmt file. This bypasses all of the transcoding/ffmpeg usage in streambaby.



> Can you explain to me the flow of video data with Streambaby?


It's pretty straightforward, ffmpeg is run with certain options and the output is dumped directly to the TiVo. The TCP port is basically just used to pipe the output to Streambaby, which then just pipes it over to the TiVo as it is requested. No further processing is done by streambaby.
Note: This is only true when videos are transcoded. For MPEG PS and MP4 files, the files are assumed to be able to streamed as-is to the TiVo with no transcoding needed. In this case FFMPEG is never run/used and the whole file is simply sent to the TiVo.


----------



## t1c4l

Hmmm i've tried TIVO, MPEG2 PS, MPEG2 TS and MP4 files now as raw with their mime types in the .fmt file and I always get the 0xffff error.



Code:


10/31/09 24:55:45 RawStreamingModule: opening raw file with mimeType: video/mpeg, contentType: video/mpeg
10/31/09 24:55:45 NamedStream: Registering named stream: 6244032b-cd20-4358-91ce-2ef8c41298cc.stream
10/31/09 24:55:46 ViewScreen: error=ERROR: 0xffff sample.raw

For MPEG2 TS I've tried the following mimes and none worked:

video/mp2t 
video/mpeg2
video/x-mpeg2-ts
video/mpegts
video/mpeg2ts
video/ts

It is almost as if none of the namedstreams can be registered, regardless of container format or mime type. To me it looks like they have broken something in this new TiVo update.

Any other suggestions? 

Maybe if I can get a small sample.mp4 file with a sample.mp4.fmt file that has been verified that works on other TiVo's I could then confirm whether it works on the Aussie TiVo's. Maybe I am not encoding the test mp4 file correctly.

Am I right to say if I find that it doesn't allow streaming of raw mp4 files then they have broken something in regards to registering streams/resources and that it is nothing to do with changing mpeg stream from program to transport?


----------



## Dot.AY

Just thought I would add another Aussie with a Tivo HD getting the 0xFFFF error

Really frustrating StreamBaby in PytivoX is possibly the best thing about owning Tivo

Has someone already posted a .log file for this error?


----------



## angusj

Dot.AY said:


> Just thought I would add another Aussie with a Tivo HD getting the 0xFFFF error


"With the latest release of Software the .tivo files that are moved from the TiVo to the PC and back now use transport streams instead of program streams. This was necessary for us to support H.264 in NZ for both MRV and TiVo Desktop."

see *http[colon]//forums.whirlpool.net.au/forum-replies.cfm?t=1295400&p=10#r183*

(Sorry about the mangled url, I don't yet have enough posts to be allowed to post clickable urls.)


----------



## westside_guy

I can run 0.27 just fine on OS X 10.5.8, but when I've tried out r239 and now r253 with the exact same streambaby.ini file I get:



Code:


$ ./streambaby
Initializing StreamBaby svn-r253...
11/01/09 11:26:52 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
java.net.BindException: Can't assign requested address
        at java.net.PlainSocketImpl.socketBind(Native Method)
        at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
        at java.net.ServerSocket.bind(ServerSocket.java:319)
        at java.net.ServerSocket.<init>(ServerSocket.java:185)
        at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpServer.java:204)
        at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:169)
        at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
        at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
        at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: Can't assign requested address
usage: Main [--port <port>] [--ip <ip>] class
$

Note that the initial "Unable to load FFmpeg native libraries" is not part of this problem - but I'm including that line for completeness' sake.

Can anyone provide any guidance as to why I can't run the svn versions?


----------



## kearygriffin

westside_guy said:


> I can run 0.27 just fine on OS X 10.5.8, but when I've tried out r239 and now r253 with the exact same streambaby.ini file I get...
> error: Can't assign requested address
> ...


The newer SVN versions are much less forgiving to having an incorrect ip= in the streambaby.ini file (they actually adhere to it, where as older versions didn't always bind to the "correct" ip address). Make sure you have the right IP address in the file. (Or remove the line completely, and streambaby will attempt to autodetect)


----------



## westside_guy

kearygriffin said:


> The newer SVN versions are much less forgiving to having an incorrect ip= in the streambaby.ini file (they actually adhere to it, where as older versions didn't always bind to the "correct" ip address). Make sure you have the right IP address in the file. (Or remove the line completely, and streambaby will attempt to autodetect)


Oh, shoot, I've been bitten by that one before - and I thought I had the correct IP address in there... but you're correct, that was the issue.

Thanks, sir.


----------



## t1c4l

t1c4l said:


> Maybe if I can get a small sample.mp4 file with a sample.mp4.fmt file that has been verified that works on other TiVo's I could then confirm whether it works on the Aussie TiVo's. Maybe I am not encoding the test mp4 file correctly.


Is anyone able to provide me with a smallish .mp4 file (under 10MB) with an .mp4.fmt file that has been verified to work on Streambaby outside of Australia and New Zealand? This way I can try and use these same files to try on my Aussie TiVo to see if it works.

Because if I find that it doesn't work, then this could point to something entirely different than just a change from program to transport streams.


----------



## moyekj

t1c4l said:


> Is anyone able to provide me with a smallish .mp4 file (under 10MB) with an .mp4.fmt file that has been verified to work on Streambaby outside of Australia and New Zealand? This way I can try and use these same files to try on my Aussie TiVo to see if it works.
> 
> Because if I find that it doesn't work, then this could point to something entirely different than just a change from program to transport streams.


 Here you go - this has been verified to work for a long time now and has been used by many for testing purposes. mp4 container, H.264 video, AAC audio:
http://tivostream.googlecode.com/files/test.mp4


----------



## t1c4l

Thanks mokeyj.

Have you tried playing this file as .raw on Streambaby with a .raw.fmt file in the same folder? If you can please rename the .mp4 to .raw and then create a text file with .raw.fmt extension then Streambaby won't use ffmpeg to stream to TiVo. In .raw.fmt file please add video/mp4 on first line and leave second line blank.

I'll test this file out as soon as I get home tonight.

Cheers.


----------



## t1c4l

Looks like playing of raw mp4 files doesn't work. Streambaby log is below.
They must have completely changed the way video data needs to be sent to the TiVo. I don't think there is going to be an easy way to work out how to send it to the TiVo properly.



Code:


11/03/09 20:29:08 VideoModuleHelper: GetVidInfo: file:/C:/Downloads/VIDEOS/test.raw
11/03/09 20:29:08 VideoModuleHelper: Guessing bitrate for file:/C:/Downloads/VIDEOS/test.raw to: -115663312
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0
11/03/09 20:29:08 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:08 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:08 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/03/09 20:29:10 ButtonScreen: action=right
11/03/09 20:29:10 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0
11/03/09 20:29:10 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 ViewScreen: Desc: test.raw
11/03/09 20:29:10 PreviewWindow: pWidth: 1280
11/03/09 20:29:10 PreviewWindow: preview parent=BView[#2616,bounds=0,0,1280x720]
11/03/09 20:29:10 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0
11/03/09 20:29:10 HostContext: key=mpos:file:/C:/Downloads/VIDEOS/test.raw value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/03/09 20:29:10 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 HostContext: compKey=XXXXXXXXXXXXXXXXXX-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/03/09 20:29:10 ViewScreen: goto position: 0, vidlen: -1
11/03/09 20:29:10 ViewScreen: Position not in buffer, starting new stream
11/03/09 20:29:11 Application: Already initialized, not re-initing.
11/03/09 20:29:11 ViewScreen: Openening stream at position: 0(0 secs)
11/03/09 20:29:11 VideoModuleHelper: Bitrate for quality: 2916
11/03/09 20:29:11 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/03/09 20:29:11 RawStreamingModule: opening raw file with mimeType: video/mp4, contentType: video/mp4
11/03/09 20:29:11 NamedStream: Registering named stream: 659c0916-bda4-49eb-b137-63ab6c655649.stream
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:11 ViewScreen: error=ERROR: 0xffff test.raw
11/03/09 20:29:15 Listener: 
11/03/09 20:29:15 Listener: connection to receiver closed
11/03/09 20:29:15 Listener: 
11/03/09 20:29:15 Factory: HME receiver disconnected


----------



## moyekj

t1c4l said:


> Thanks mokeyj.
> 
> Have you tried playing this file as .raw on Streambaby with a .raw.fmt file in the same folder? If you can please rename the .mp4 to .raw and then create a text file with .raw.fmt extension then Streambaby won't use ffmpeg to stream to TiVo. In .raw.fmt file please add video/mp4 on first line and leave second line blank.
> 
> I'll test this file out as soon as I get home tonight.
> 
> Cheers.


 Yes, I just tried with streambaby in .raw form to be sure and it worked. I already knew it was compatible (note that it already also has moov atom at the front of the file as well as required by TiVo).

Perhaps you can try a testcase using mpeg2 transport stream container instead of mp4 container and see if it works that way (leave test.raw.fmt as video/mp4):
http://tivostream.googlecode.com/files/test.ts


----------



## AussieMark

TiVo in Australia are claiming they have requested TiVO USA to liaise directly with Keary to provide him with the information needed in order to get this fixed. Keary, have you had any contact directly from TiVo on this?


----------



## moyekj

AussieMark said:


> TiVo in Australia are claiming they have requested TiVO USA to liaise directly with Keary to provide him with the information needed in order to get this fixed. Keary, have you had any contact directly from TiVo on this?


 That would be a first... The capability to stream to Tivos was uncovered by wmcbrine and some reverse engineering. TiVo has not updated HME SDK to officially support streaming and in fact have removed all references to SDK from their web site which to me signals they have little to no interest in providing help for 3rd party software and if anything are discouraging further development.
There are some major hurdles such as the ~1.1GB stream buffer limit which could really benefit from some help by TiVo to overcome but I wouldn't hold my breath on getting any input from TiVo on this.


----------



## kearygriffin

moyekj said:


> That would be a first... The capability to stream to Tivos was uncovered by wmcbrine and some reverse engineering. TiVo has not updated HME SDK to officially support streaming and in fact have removed all references to SDK from their web site which to me signals they have little to no interest in providing help for 3rd party software and if anything are discouraging further development.
> There are some major hurdles such as the ~1.1GB stream buffer limit which could really benefit from some help by TiVo to overcome but I wouldn't hold my breath on getting any input from TiVo on this.


Yup, I've been wrong before but I would be (pleasantly) amazed if TiVo actually did reach out the open source community...

This is a new scenario however-- This is the first time that I can think of that TiVo customers have had to pay for an extra option (I believe getting access to networked applications cost an extra AUD 99 in Australia) and then removed rather quickly what I believe (being very biased ;-) is the main benefit of the extra cost.


----------



## t1c4l

moyekj said:


> Perhaps you can try a testcase using mpeg2 transport stream container instead of mp4 container and see if it works that way (leave test.raw.fmt as video/mp4):
> http://tivostream.googlecode.com/files/test.ts


No luck. Same issue again. Error 0xffff.

Tried leaving it as video/mp4 as suggested, no go. Changed it to video/mpeg, no go as well.

I did some beta testing for TiVo Australia when it first started, I will try and contact someone there to see if they can point us in the right direction.


----------



## AussieMark

kearygriffin said:


> Yup, I've been wrong before but I would be (pleasantly) amazed if TiVo actually did reach out the open source community...


I hope you're wrong. This is what one of the TiVo staff (NB. Hybrid is the local TiVo operation in AU/NZ) posted on the Australian Whirlpool forum in response to the Streambaby issue ....

"Craig- Hybrid writes...
We have asked the TiVo US team to engage directly with the US Streambaby group in the hope they can provide assistance."


----------



## madimoo

kearygriffin said:


> (I believe getting access to networked applications cost an extra AUD 99 in Australia)


Try $199. 

(although you can get it for $99 if you ask around nicely, or for free if you buy two TiVo's)

The problem Hybrid have is that the Streambaby not working issue is starting to create some considerable negative publicity for TiVo, in a PVR market that is quite competitive. I'm sure Hybrid would love the situation to be resolved, but are a bit at the mercy of the US TiVo engineers.

I saw a post where someone suggested to Hybrid that they pay to fly Keary down to Oz for a few days, share a few beers, shrimp on the BBQ or two, and work out a fix. Sounds like the go.


----------



## dm_

Sigh. Another .au user here getting the 0xffff error. Happy to do some testing/debugging etc. I'm reasonably handy with tcpdump if that helps 

Actually - don't they use the streaming for doing the movies by broadband thing? Or does that use a different mechanism?


----------



## moyekj

For you Aussie users does YouTube streaming still work with the new 11.3 software?


----------



## angusj

moyekj said:


> For you Aussie users does YouTube streaming still work with the new 11.3 software?


YouTube has never been available on Aussie TiVos.


----------



## moyekj

angusj said:


> YouTube has never been available on Aussie TiVos.


 This application essentially mimics what Tivo did to stream YouTube content to Tivos - that is where the reverse engineering came from which is why I asked. Perhaps if you guys request YouTube streaming capability then as a side effect you will get streambaby functionality back as well.


----------



## AussieMark

moyekj said:


> Perhaps if you guys request YouTube streaming capability then as a side effect you will get streambaby functionality back as well.


YouTube streaming has been requested many times in Australia. The official reply from the head of Hybrid (Tivo's AU/NZ company) is that YouTube are not willing to do a deal with Tivo for the AU/NZ market.


----------



## t1c4l

AussieMark said:


> YouTube streaming has been requested many times in Australia. The official reply from the head of Hybrid (Tivo's AU/NZ company) is that YouTube are not willing to do a deal with Tivo for the AU/NZ market.


This is because TiVo in Australia is under license by Channel 7. Channel 7 have a long standing deal with Yahoo where Yahoo provides all their online services. YouTube is owned by Google so I see it being very difficult for Yahoo and Google to both go into the mix in Australia.



> I did some beta testing for TiVo Australia when it first started, I will try and contact someone there to see if they can point us in the right direction.


I've got an official reply from a TiVo representative I contacted this morning:
_
We're giving it a go to try and find out this information for you from TiVo Inc. We're right in the middle of preparations for launch, so I would wager a guess it won't be until next week that any remote form of answer will emerge. Will keep you posted and thanks for contacting us! We're really hoping to get Streambaby back online._


----------



## AussieMark

t1c4l said:


> I've got an official reply from a TiVo representative I contacted this morning:
> _
> We're giving it a go to try and find out this information for you from TiVo Inc. We're right in the middle of preparations for launch, so I would wager a guess it won't be until next week that any remote form of answer will emerge. Will keep you posted and thanks for contacting us! We're really hoping to get Streambaby back online._


Was this from Tivo US or a Hybrid staff member in AU?


----------



## Ink Noise

I'm having a similar issue that net had earlier relating to Java except on Linux.

When running the command to start the Streambaby script, an error is returned "./streambaby: line 3: java: command not found".

The content of the script to start is...



PHP:


#!/bin/bash
DIRNAME=`dirname $0`
java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" [email protected]

This of course, happened when I updated to Ubuntu 9.10 which I assume either updated, changed or moved Java. I'm just not sure how to update its location or the command to start the program.


----------



## t1c4l

AussieMark said:


> Was this from Tivo US or a Hybrid staff member in AU?


It was an AU staff member I dealt with during the Raptor beta testing stages. It was nice of her to reply. I wasn't expecting any reply


----------



## windracer

Ink Noise said:


> When running the command to start the Streambaby script, an error is returned "./streambaby: line 3: java: command not found".
> 
> This of course, happened when I updated to Ubuntu 9.10 which I assume either updated, changed or moved Java. I'm just not sure how to update its location or the command to start the program.


Hmmm ... I upgraded my server to Karmic over the weekend and haven't had any problems. java is still under /usr/bin where it was before.

If you do a 'which java' at the command-line, it should show you were it is in the path. If it's not found, you might want to try re-installing java.


----------



## pmd

t1c4l said:


> Looks like playing of raw mp4 files doesn't work.


The 'Push' feature still works OK, so the Aussie Tivo can *play* compatible h264 MP4 files - it's definitely just the streaming that's broken.

I tried using the raw.fmt method to stream back a .ts Program Stream I downloaded from the Tivo via the nowplaying webpage, but that doesn't work either.


----------



## Ink Noise

windracer said:


> Hmmm ... I upgraded my server to Karmic over the weekend and haven't had any problems. java is still under /usr/bin where it was before.
> 
> If you do a 'which java' at the command-line, it should show you were it is in the path. If it's not found, you might want to try re-installing java.


That did it, thanks


----------



## moyekj

Aussie users, since .TiVo files are now supposedly in transport stream format for your systems there must be a different DirectShow filter as part of Tivo Desktop. Could you please attach the following file from your installation here in a zip file?:

C:\Program Files\Common Files\TiVo Shared\DirectShow\TiVoDirectShowFilter.dll
(or C:\Program Files (x86)\Common Files\TiVo Shared\DirectShow\TiVoDirectShowFilter.dll)


----------



## angusj

moyekj said:


> Could you please attach the following file from your installation here in a zip file?


Sorry, can't do attachments (yet) but here's a mangled url ...
http[colon]//angusj.com/temp/tivodirectshowfilter.zip

HTHs


----------



## dm_

The inbuilt webserver on my .au tivo allows you to download either a transport stream or a program stream. I can't remember if it did that before the update, but I don't think so (think it was PS only). Anyone else confirm/deny?


----------



## madimoo

dm_ said:


> Anyone else confirm/deny?


I think it started after the recent TiVo firmware update, not the TiVo desktop 2.8 update.


----------



## moyekj

dm_ said:


> The inbuilt webserver on my .au tivo allows you to download either a transport stream or a program stream. I can't remember if it did that before the update, but I don't think so (think it was PS only). Anyone else confirm/deny?


For USA systems the Tivo web server only shows PS version as a link. However, one is able to get the TS version by adding the following to the URL:
&System=ts
TS version downloads quite a bit faster than the PS version because it negates the need to remux into PS, so it would be great to use TS version if possible.
However, DirectShow filter is not able to play back the TS version from my experiments, and tivodecode can't handle it either. The TiVoDirectShowFilter.dll posted above is identical to the one I have. Perhaps if I install the latest TD 2.8 I will get a different one that may actually be able to handle the TS version. Will have to give that a shot.

I'm curious, if you download the TS version for Aussie Tivos are you able to play it back on your PC?


----------



## madimoo

.


----------



## moyekj

Followup: Installed TD 2.8 and it didn't make any difference - I can't play .TiVo files downloaded as TS. They play all garbled in WMP. So now I'm really curious if Aussie users are able to play TS files via WMP?


----------



## dm_

Ahh. Just discovered tivodecode chokes on the TS stream. I don't have tivodesktop installed anywhere so I can't test that right now (I'll try and remember to install it on the gaming box at some point and test - I don't normally use windows). Dumb question - can WMP normally handle TS files?


----------



## dm_

OK, I've installed TD - how to I test if I can play back the TS version of the file? (Sorry, don't do much with windows...)


----------



## moyekj

dm_ said:


> OK, I've installed TD - how to I test if I can play back the TS version of the file? (Sorry, don't do much with windows...)


 Just drag and drop the TS file onto WMP, or from play it from Tivo Desktop by copying the TS file over to where Tivo Desktop setup to download files to. Tivo Desktop will invoke WMP to play it.
If you don't have a WMP shortcut anywhere then start WMP and then open the TS file from there.


----------



## dm_

Ahh. It helps if I rename the file to end in '.TiVo' 

WMP plays both the TS and PS .TiVo files equally well; they seem a bit juddery, and WMP is consuming almost all the CPU (3.2GHz P4) - would that be the decrypting overhead? Oddly WMP can't play the video on the tivodecoded PS file (something about missing codecs which seems a little strange).


----------



## t1c4l

Looks like after you install Tivo Desktop 2.8 you can start playing files with WMP.

I just pulled one TS file from TiVo Web interface and noticed that it is using video/x-tivo-mpeg-ts as mime type.

I've streaming this TS tivo file back with Streambaby while using this new mime type. I set the .fmt file as:

video/mpeg
video/x-tivo-mpeg-ts

And I still get the same error:


Code:


11/07/09 11:09:21 VideoModuleHelper: Bitrate for quality: 2916
11/07/09 11:09:21 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/07/09 11:09:21 RawStreamingModule: opening raw file with mimeType: video/mpeg, contentType: video/x-tivo-mpeg-ts
11/07/09 11:09:21 NamedStream: Registering named stream: ae452f02-6915-4a7e-8426-4aaf7b2ac278.stream
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:22 ViewScreen: error=ERROR: 0xffff test.raw
11/07/09 11:09:25 Listener: 
11/07/09 11:09:25 Listener: connection to receiver closed
11/07/09 11:09:25 Listener: 
11/07/09 11:09:25 Factory: HME receiver disconnected

I have a strong suspicion that they may have simply removed the streaming support in this last Tivo update because they probably thought since we don't have the YouTube app in Australia they would remove this functionality from the tivoapp. Except they most likely never understood that Streambaby uses this functionality.


----------



## moyekj

t1c4l said:


> Looks like after you install Tivo Desktop 2.8 you can start playing files with WMP.
> 
> I just pulled one TS file from TiVo Web interface and noticed that it is using video/x-tivo-mpeg-ts as mime type.


 Are you sure that you get a TS file that way? I just tried it and get a PS file (same as x-tivo-mpeg) and transfer rate is no faster. To get a TS file I have to use:
video/x-tivo-mpeg&System=ts

If so I guess that mime type is not recognized by USA software yet. For a small clip can you benchmark PS download vs TS download to determine how much faster the TS download is, if any? Thanks.

Also, I'm assuming these TS .TiVo files can then be copied back to Tivos via Tivo Desktop right?


----------



## dm_

The two URLs provided by the internal webserver are as follows:

PS: http://tivo/download/Formula One.TiVo?Container=/NowPlaying&id=159367&Format=video/x-tivo-mpeg

TS: http://tivo/download/Formula One.TiVo?Container=/NowPlaying&id=159367&Format=video/x-tivo-mpeg-ts

The first file decodes to a program multiplex with tivodecode; the 2nd causes tivodecode to segfault 

I haven't tried using TD to copy them back, I'll try and test that later today.


----------



## dm_

Hmm. The forum kinda squished the URLs. Ony difference was
"Format=video/x-tivo-mpeg" vs "Format=video/x-tivo-mpeg-ts".

The ts did seem a bit quicker - around 2000k/s instead of 1300k/s, but I think I had the tivo in standby when getting the ts. I'll try and benchmark it more carefully next time.


----------



## madimoo

moyekj said:


> For a small clip can you benchmark PS download vs TS download to determine how much faster the TS download is, if any? Thanks.


1.3 GB test file. PS file - 18 minutes TS file - 12 minutes 
A good improvement.

Yes, TS files can be transferred back from PC to TiVo.


----------



## moyekj

madimoo said:


> 1.3 GB test file. PS file - 18 minutes TS file - 12 minutes
> A good improvement.
> 
> Yes, TS files can be transferred back from PC to TiVo.


 Good info, thanks! Hopefully USA software will get the update that recognizes x-tivo-mpeg-ts format some day. That is a pretty good speedup that would make it worthwhile though unless someone can make tivodecode work with them we are stuck with the DirectShow filter method of decrypting them. I looked at tivodecode source a while back but looked too complicated for me to even attempt to mess with.

NOTE: For anyone with VideoRedo it should be able to handle those TS .TiVo files for decrypting as well as long as you have Tivo Desktop DirectShow filter installed, though I suppose there's a chance it won't work.


----------



## dm_

The software installer asked me what region I was using it in - I can't be sure now but I think one of the other options was USA. Not sure if you can get to the download without an australian tivo account though.


----------



## moyekj

dm_ said:


> The software installer asked me what region I was using it in - I can't be sure now but I think one of the other options was USA. Not sure if you can get to the download without an australian tivo account though.


 I think TivoDesktop is the same and is not really relevant. What is relevant is getting proper TS format off the Tivo using x-tivo-mpeg-ts which is part of "tivoapp" (software running on Tivo). As was stated previously Aussie's needed that capability to get H.264 recordings off Tivos in TS format, whereas Cable companies in USA are not using H.264 yet so we may not get that capability for a long while.


----------



## dm_

I think H.264 is needed for NZ; here in AU our terrestrial digital stuff is all mpeg2 with either ac3 or mp2 (or both) for audio. I think I read that NZ is experimenting with H.264 for hi-def, not sure what audio standard. AU tivos do I think use H.264 for video-on-demand, but I would assume that I can't transfer that stuff off anyway (never tried it).


----------



## wmcbrine

I know you Aussies don't have YouTube, but do you have the "Browse web videos" (formerly known as "TiVoCasts") feature? And if so, do some of them have the "Watch now" option? And if so... does it work? That's the one other place where YouTube-style streaming is used in TiVo's U.S. software.

Streaming could be completely disabled, or it could've been changed to require an authentication code or something vile like that. Either way, the new use of transport streams on the HMO side seems unrelated.

Can you send regular, unencrypted, non-.TiVo transport streams to the TiVo through TiVo Desktop? (Perhaps with the ".ts" extension?)


----------



## t1c4l

wmcbrine said:


> I know you Aussies don't have YouTube, but do you have the "Browse web videos" (formerly known as "TiVoCasts") feature? And if so, do some of them have the "Watch now" option? And if so... does it work? That's the one other place where YouTube-style streaming is used in TiVo's U.S. software.


No unfortunately there is no option to browse web videos or TiVoCasts. All we have that remotely resembles anything like that is Radio PodCasts and that is it.



wmcbrine said:


> Streaming could be completely disabled, or it could've been changed to require an authentication code or something vile like that. Either way, the new use of transport streams on the HMO side seems unrelated.


I have to agree with you. It is not HMO related at all.



wmcbrine said:


> Can you send regular, unencrypted, non-.TiVo transport streams to the TiVo through TiVo Desktop? (Perhaps with the ".ts" extension?)


In Australia you have to have TiVo Desktop Plus to be able send data streams back to TiVo. Another extra $40 for the Plus version. I am not able to verify this for you because of this.


----------



## dm_

I have TD+ (got a key for it when I got the home networking package - I didn't think it was possible to get a MAK without the 'plus' licence here? The $40 is to get an additional TD+ key, for another machine, I think). I'll give it a try; have plenty of mythtv files which I'm pretty certain are standard TS files.

One thing to note - when I pulled down the exported TS .TiVo file back onto the tivo, it plays, but I can't fastforward (the position-in-program bar is grey, not green).


----------



## dm_

Attempting to grab a TS file failed. If it has an extension of .mpg then it shows up in the list and allows you to start a transfer, but then the blue light goes out after a couple of seconds and you end up with a 0-length recording. If it has any of .ts, .m2ts, or .mts, it doesn't even show up in the list (I assume TD+ only publishes files it recognizes?).


----------



## dm_

Fixing tivodecode looks possible. I had no idea that a .TiVo was actually a valid program stream, just with scrambling turned on and a 15kb header stuck on the front. From messing around with hexdump it appears that the same is true for a transport-stream .TiVo file; it is a collection of 188 byte packets all starting with what look like sane headers, some of them with the 'scramble' fields set. So it should be just a matter of processing it 188 bytes at a time and in the case of the scrambled ones, descrambling them. However, the bits of tivodecode I don't really understand are the ones involving setting up the actual descrambling.


----------



## rfryar

New DELETE feature does not work.

Some whatever reason any MP4 file I play with streambaby gets locked by the Streambaby service. I have not been able to see what sub process if any is holding these files open. 

In the past in order to delete them I had to restart the service and then I could delete any MP4 file that Streambaby started to stream. 

I had hoped that the new delete feature would circumvent this issue since the same process that has it locked should be able to delete it, but it was not able to. When I select delete I get a message stating "Delete Failed".

Any way for me to debug what sub process is holding these files opened? FFMPEG? (I do not see any FFMPEG processes running at the time). My bet would be the thumbnail creation code as I have also never seen thumbnails when FF or REwinding videos.

Thanks,

Rick


----------



## orangeboy

rfryar said:


> New DELETE feature does not work.
> 
> Some whatever reason any MP4 file I play with streambaby gets locked by the Streambaby service. I have not been able to see what sub process if any is holding these files open.
> 
> In the past in order to delete them I had to restart the service and then I could delete any MP4 file that Streambaby started to stream.
> 
> I had hoped that the new delete feature would circumvent this issue since the same process that has it locked should be able to delete it, but it was not able to. When I select delete I get a message stating "Delete Failed".
> 
> Any way for me to debug what sub process is holding these files opened? FFMPEG? (I do not see any FFMPEG processes running at the time). My bet would be the thumbnail creation code as I have also never seen thumbnails when FF or REwinding videos.
> 
> Thanks,
> 
> Rick


I use "Who Lock Me": Link

A lot of times, just invoking this utility successfully releases the file if no other process has an exclusive lock.


----------



## rfryar

orangeboy said:


> I use "Who Lock Me": Link


Attached is the screenshot. It is locked by the Java process itself from the streambaby code. In fact it has 3 locks on it for whatever reason that is.

Any insight?

Rick


----------



## orangeboy

rfryar said:


> Attached is the screenshot. It is locked by the Java process itself from the streambaby code. In fact it has 3 locks on it for whatever reason that is.
> 
> Any insight?
> 
> Rick


This is probably something for the developers to answer, but is the file "paused" on the Tivo, and java is keeping a lock so it know where to resume? Perhaps if you open another file from Tivo, the lock will release?


----------



## LennonNZ

dm_ said:


> I think H.264 is needed for NZ; here in AU our terrestrial digital stuff is all mpeg2 with either ac3 or mp2 (or both) for audio. I think I read that NZ is experimenting with H.264 for hi-def, not sure what audio standard. AU tivos do I think use H.264 for video-on-demand, but I would assume that I can't transfer that stuff off anyway (never tried it).


I'll be very interested in streambaby when someone gets this resolved. I have started a HME server (with a few demo apps on it at the moment) for NZ users (60.234.76.50) if people want to try it. It has a a public streambaby server on it + others and as you can see (streambaby) doesn't work for NZ/AU :-(

If anyone has a tcpdump of streaming via HME working I can see what is needed to get it working properly. I presume a dump of CASPA might show it (I presume CASPA is a HME application of some type)

When we (the community) gets it going I am looking into writing my own streaming app for non Telecom users who can't get CASPA.


----------



## dm_

Sorry, dumb question - what is CASPA?


----------



## LennonNZ

dm_ said:


> Sorry, dumb question - what is CASPA?


CASPA = TiVo's VOD system based on tandberg hardware which is only available via Telecom Broadband (around 50% of the NZ market) so 1/2 of NZ's broadband customers cannot get the VOD system on the via TiVo. Without the VOD system you can still watch/record DVB-T broadcasts and get the EPG via the internet.


----------



## dm_

ahh ok, so probably a bit like the .AU setup with Blockbuster (download movies etc, for a price). At least here, I don't think it uses the streaming stuff, since it actually downloads it to the harddrive (at least that is my understanding, never actually used it). Doesn't matter what ISP you use here (although some ISPs have a deal with TiVo not to count the traffic towards your download cap, some don't).


----------



## rfryar

orangeboy said:


> This is probably something for the developers to answer, but is the file "paused" on the Tivo, and java is keeping a lock so it know where to resume? Perhaps if you open another file from Tivo, the lock will release?


Nope, it will lock all the MP4 files that I have streamed since restarting streambaby and keep them locked until I restart the service again.

Rick


----------



## Chuck Clayton

I'm running Windows 7 64 bit with a Tivo HD. I downlodated streambaby-svn-r253.

I modifed the streambaby.bat file to use the 32 bit Java. If I fail to do this, I do get errors when I run streambaby.bat.

--
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre6\bin\java" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd
--

The .ini looks like this:

--
dir.1=C:\Users\Chuck Clayton\Videos
dir.1.name=Voyager2 Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this.
#ip=192.168.1.37
# port to use
#port=7290
--

When I run the streambaby.bat file, all looks good. No errors
- Initializing StreamBaby svn-r253...
- Listerner: added factory
- Main: streambaby ready & listening

Here's the problem:

I go to Tivo and there is no entry for StreamBaby under TiVo's "Music, photos, & Showcases" menu.

I've looked all over for a solution for this and havn't found anything so I'm hoping someone in this group can help out. I've also enable and disabled Tivos "enable home network applications" setting and StreamBaby is still MIA in either case.

Please let me know if I'm missing someting.

Thanks,
Chuckc


----------



## rfryar

Chuck Clayton said:


> I go to Tivo and there is no entry for StreamBaby under TiVo's "Music, photos, & Showcases" menu.
> 
> I've looked all over for a solution for this and havn't found anything so I'm hoping someone in this group can help out. I've also enable and disabled Tivos "enable home network applications" setting and StreamBaby is still MIA in either case.
> 
> Please let me know if I'm missing someting.


The first thing I would do is to turn off the IPv6 stack. This confuses Java at least on my Vista builds.. It is easy to turn off and check to see if this is the issue.

The second thing to inspect is your windows Firewall settings to ensure the ports listed in your INI are correctly open.

Link to help disabling IPv6: http://www.mydigitallife.info/2007/09/09/disable-and-turn-off-ipv6-support-in-vista/

Rick


----------



## kearygriffin

rfryar said:


> New DELETE feature does not work.
> 
> Some whatever reason any MP4 file I play with streambaby gets locked by the Streambaby service. I have not been able to see what sub process if any is holding these files open.


I had never seen this problem mentioned before (nor had I noticed it myself) but did just take a look and could see the spot where an MP4 file would be left unclosed. I've fixed the problem and it should be available as r261.

Note: You mentioned thumbnail generation in your message and it is quite possible that trying to delete a file while it is generating thumbnails may not work. This is a slightly more complicated issue I will have to address in the future, but is unrelated in this particular case. I think this is a more important issue since it was always leaving the MP4 files open and for people who leave streambaby running it could eventually be problematic regardless of the delete feature.


----------



## rfryar

kearygriffin said:


> I had never seen this problem mentioned before (nor had I noticed it myself) but did just take a look and could see the spot where an MP4 file would be left unclosed. I've fixed the problem and it should be available as r261.
> 
> Note: You mentioned thumbnail generation in your message and it is quite possible that trying to delete a file while it is generating thumbnails may not work. This is a slightly more complicated issue I will have to address in the future, but is unrelated in this particular case. I think this is a more important issue since it was always leaving the MP4 files open and for people who leave streambaby running it could eventually be problematic regardless of the delete feature.


Well some progress. In the first "WhoLockedMe" test there was three Java process's locking the files, now there is just two. But the files are still being locked.

I still wonder if it is the thumb nail creation process that is failing to run on my PC which causes the file to be locked and never released. How can I debug that process?

Do I need to do anything other than update the log properties to enable com.unwiredappeal=debug? Is there anything I can set in the .ini to disable thumbnail creation and see how that effects the file locks?

Update: Found this entry, will give it a try and get back to you..
preview.autogenerate=false

Thanks for your help!

Rick


----------



## rfryar

rfryar said:


> Update: Found this entry, will give it a try and get back to you..
> preview.autogenerate=false


Ok with thumbnail generation off there is only Java process still holding all the files open after I play them. So now I am stumped as to what else is left..

Rick


----------



## Chuck Clayton

rfryar said:


> The first thing I would do is to turn off the IPv6 stack. This confuses Java at least on my Vista builds.. It is easy to turn off and check to see if this is the issue.
> 
> The second thing to inspect is your windows Firewall settings to ensure the ports listed in your INI are correctly open.
> 
> Rick


I've disabled Ipv6 and created a new inbound firewall rule to allow TCP port 7290. The Tivo still does not see the StreamBaby stream.

I've updated the sterambaby.ini file to specify the IP of the Tivo but that caused a bunch of Java errors and the program exits:

--
dir.1=C:\Users\Chuck Clayton\Videos
dir.1.name=Voyager2 Videos

# Ip address to bind to (Tivo IP)
ip=192.168.113.21

# port to use
port=7290
--

--
C:\Program Files (x86)\streambaby-svn-r253>streambaby.bat 
Initializing StreamBaby svn-r253... 
java.net.BindException: Cannot assign requested address: JVM_Bind 
at java.net.PlainSocketImpl.socketBind(Native Method) 
at java.net.PlainSocketImpl.bind(Unknown Source) 
at java.net.ServerSocket.bind(Unknown Source) 
at java.net.ServerSocket.<init>(Unknown Source) 
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpServer.java:204) 
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:169) 
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79) 
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103) 
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137) 
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152) 
error: Cannot assign requested address: JVM_Bind 
usage: Main [--port <port>] [--ip <ip>] class

Exited. 
--

If I don't specify the IP, the program runs fine but Tivo does not see it.

I will note that my local subnet is 192.168.113 where most people are probably on 192.168.1, could that be the problem?

PC StreamBaby: 192.168.113.20 
the TiVo is: 192.168.113.21.

Still, I'm unclear on how the TiVo would see the stream anyway. I start the server on the PC, does the TiVo always scan the network looking for servers or is there something I have to do to the TiVo to get it to look for the server?

I've tried manually setting up a server using the TiVo and the IP of the PC running StreamBaby but still no luck.

The instructions for StreamBaby seem so easy. Download the file, edit the .ini and run the .bat. I need to get my TiVo to read the instructions because it is oblivious to the StreamBaby software running on my PC.


----------



## kearygriffin

Chuck Clayton said:


> I've disabled Ipv6 and created a new inbound firewall rule to allow TCP port 7290. The Tivo still does not see the StreamBaby stream.
> 
> I've updated the sterambaby.ini file to specify the IP of the Tivo but that caused a bunch of Java errors and the program exits:
> 
> --
> dir.1=C:\Users\Chuck Clayton\Videos
> dir.1.name=Voyager2 Videos
> 
> # Ip address to bind to (Tivo IP)
> ip=192.168.113.21
> 
> # port to use
> port=7290
> --
> ...
> ...
> PC StreamBaby: 192.168.113.20
> the TiVo is: 192.168.113.21.
> ...


The ip= in the INI file should be the IP address of the PC running streambaby (not the TiVo), so in your case it should be
ip=192.168.113.20

Streambaby will then bind to this address and "broadcast" it over the network, where the TiVo will see the broadcast and know there is an HME server running on it.

I don't know if this will fix the initial issue, but it is worth a try.


----------



## Chuck Clayton

kearygriffin said:


> The ip= in the INI file should be the IP address of the PC running streambaby (not the TiVo), so in your case it should be
> ip=192.168.113.20
> 
> Streambaby will then bind to this address and "broadcast" it over the network, where the TiVo will see the broadcast and know there is an HME server running on it.
> 
> I don't know if this will fix the initial issue, but it is worth a try.


I set the .ini IP to my IP and StreamBaby ran fine with no errors, ready and listening.

Still no sign of StreamBaby on the Tivo

Turned windows firewall completely off and still no-go. Maybe it's a windows 7 issue.


----------



## windracer

Chuck Clayton said:


> dir.1=C:\Users\Chuck Clayton\Videos
> dir.1.name=Voyager2 Videos


I don't run streambaby on Windows, so this is a guess, but have you tried taking the spaces out of your path and name? Maybe try using the short directory name like C:\Users\ChuckC~1\Videos (or whatever the short version is) and then just "Videos" for the name?


----------



## pearcele

I am a newbie trying to get the streambaby.bat file to run on my PC.

I am running Vista Home Premium (64-bit)....The batch file seems to be getting a bunch "access denied" errors, as evidenced in the command window, and I am concerned I may not have modified the batch file to run Java correctly....

I haven't seen this problem in the forum - can someone point me in the right direction?

Many thanks!


----------



## pearcele

Sorry ---> to be specific the errors are "SimpleLog Error: Error opening log file for writing: java.io.FileNotFoundException: C:\Program Files (x86)\streambaby-0.27\streambaby.log (Access is denied)"

and 

"C:\Program Files (x86)\streambaby-0.27\ffmpeg-dist.tar.bz2.tmp (Access is denied)"


Seems strange??


----------



## Rdian06

pearcele said:


> Sorry ---> to be specific the errors are "SimpleLog Error: Error opening log file for writing: java.io.FileNotFoundException: C:\Program Files (x86)\streambaby-0.27\streambaby.log (Access is denied)"
> 
> and
> 
> "C:\Program Files (x86)\streambaby-0.27\ffmpeg-dist.tar.bz2.tmp (Access is denied)"
> 
> Seems strange??


Vista does not let users write to Program Files sub-folders normally. It's a security feature. Right click on the bat file and choose Run as Administrator.


----------



## pearcele

Wow! right on target Rdian06 --> it worked like a charm!

thanks!


----------



## kearygriffin

rfryar said:


> Ok with thumbnail generation off there is only Java process still holding all the files open after I play them. So now I am stumped as to what else is left..
> 
> Rick


I think I took care of the last file handle being held open for MP4 files:
http://streambaby.googlecode.com/files/streambaby-svn-r262.zip

Thanks for the help.


----------



## gmoney88

is it possible to customize the look of the file browser ? I'd like to have the ability to browse cover images (like media center)


----------



## rfryar

kearygriffin said:


> I think I took care of the last file handle being held open for MP4 files:
> http://streambaby.googlecode.com/files/streambaby-svn-r262.zip


Thank you! It works like a charm now. Well at least with Thumbnail generation disabled. I will have to troubleshoot why that feature does not work for me, but since I never really jump around in my videos I have never missed it.

Thanks again!

Rick


----------



## PWF

PWF said:


> Has anyone else noticed a problem lately with StreamBaby taking forever to buffer? Video playback used to happen almost immediately, now I can pause it for 5 minutes and still not have a big enough buffer for uninterrupted playback. I haven't changed anything on my PC lately.
> 
> Amd Athlon 64 X2 Dual 4600+
> 2 GB ram
> XP Pro Sp3
> 
> StreamBaby 0.27


I tracked down the error. It was a combination of things, but the main issue was that Cox is upgrading their service again and my cable modem could not "keep up" with their network. So it would drop its connection every minute or two and give out a new IP address to my router. That would tie up my router and it would stop transmitting over wireless for a bit while it reconnected to the cable modem.

I ran cat5e to my living room and I now have gigabit ethernet, bypassing the router. I also replaced my cable modem.

The last issue I have been seeing is that when rebuffering my audio signal sometimes flips front to back. If I go back to the menu and then continue playing where I left off it fixes itself, but it's a bit annoying.


----------



## BrianVeg

I've got Stream Baby to run on my windows 7 64 bit machine but when I go to my Tivo I can only see the top level directory. I can't see any folders or any files in that directory.

Any ideas?


----------



## Pepito

Just a quick note 

Australia misses StreamBaby



Greetings from Melbourne, AUSTRALIA


----------



## rhoelzer

I use Hamachi and StreamBaby tries to use my Hamachi IP. If I set it manually to 192.168.15.108 in the ini file it uses 192.168.56.1. If I disable Hamachi and set it back to automatic it works.

Anybody seen this and/or have a solution?


----------



## lesliew

Today I installed streambaby on my QNAP NAS and have had mixed success with it. JRE_6_X86 for Linux also installed. 

I just wanted to know if you could help clear up a few questions. BTW I have been running pyTivo on the same NAS almost flawlessly for months now. I have 2 S3 Tivo's

When I startup the streambaby application I get the following error
"FFmpegJavaVideoModule: Unable to load FFmpeg native libraries", is this significant ?

When trying to run some video formats I sometimes get "ERROR: resource unavailable", is this a result of the above ?

Occasionally I get the message rebuffering whilst streaming a movie, Viewing the same movie via pyTivo, the movie plays fine, no pauses. Does streambaby need more bandwidth or is it just more processor intensive.

Any help to clear up the above errors or tips on how to make it work better would be appreciated.

To be quite honest I'm surprised I got this working at all especially after I saw the JAVA requirement. I'm sure I will have more questions in time, back to seeing what else I can do with it.

Thanks
Leslie


----------



## dm_

Sigh. No news on the .au lack of streaming capability I guess?


----------



## superflysocal

I love this application!! Thanks so much.

I am in a bit of a bind. In one room I use Popcorn Hour and stream my movie libraries. I hold my movies in a central server. many are mp4 format with aac multichannel audio. However, to be able to get multichannel audio to work with my receiver (and most receivers out there), i had to convert the aac to ac3 and then change the container to mkv (no mp4 with ac3). It works fine and i get native 5.1 output. If i didn't do this, then the Popcorn will only PCM 2 channel audio to my receiver.

Now that i just discovered tivo and streambaby, I'm hoping I won't have to have a separate library of mp4's. But when I try use streambaby on a mkv, I get very stutttery video, like it is running at 1/2 the normal framerate or something. The video otherwise looks fine. Is there no way around this except changing it back to mp4? btw, the few mp4 movies i haven't converted works fine, smooth motion and everything.


----------



## rfryar

superflysocal said:


> when I try use streambaby on a mkv, I get very stutttery video, like it is running at 1/2 the normal framerate or something. The video otherwise looks fine. Is there no way around this except changing it back to mp4? btw, the few mp4 movies i haven't converted works fine, smooth motion and everything.


Streambaby must convert the MKV into Mpeg since the TiVo does not support MKV natively. The best bet is to remux the MKV into MP$ with AC3 audio which Streambaby can just stream instead of convert.

Does the popcorn hour work with MP4 with AC3 audio? If not you may be in a bit of a bind and have to have two copes of all your movies, one in MKV format and the other in MP4/AC3 format for the TiVos.

Rick


----------



## superflysocal

rfryar said:


> Streambaby must convert the MKV into Mpeg since the TiVo does not support MKV natively. The best bet is to remux the MKV into MP$ with AC3 audio which Streambaby can just stream instead of convert.
> 
> Does the popcorn hour work with MP4 with AC3 audio? If not you may be in a bit of a bind and have to have two copes of all your movies, one in MKV format and the other in MP4/AC3 format for the TiVos.
> 
> Rick


From reading Popcorn hour forum, i was lead to believe MP4 container is not compatible with ac3, but perhaps popcorn hour just cannot handle it. You are saying it is compatible?


----------



## westside_guy

superflysocal said:


> From reading Popcorn hour forum, i was lead to believe MP4 container is not compatible with ac3, but perhaps popcorn hour just cannot handle it. You are saying it is compatible?


Tivo handles an a h.264 MP4 file with AC3 audio just fine, if that's what you're asking.

See the streambaby video compatibility page for more info.


----------



## phnord

Hey guys,

I love what you've done for us Tivo users. My parent's have FiOS, and they're in a similar situation - the Mac version of the FiOS Media Manager only allows audio and photos to be streamed.

Do you guys know of any similar programs to Streambaby that would allow us to stream video from Mac's to FiOS DVR's?


----------



## Frankoz2

Any news for Aussie Streambaby devotees? we're missing the you


----------



## easily_confused

I'm wild about streambaby --- thanks for this app

For the most part streambaby seems to work fine. But, When I play this I get "failed to open stream" with ffmpeg running. I have a stock ini file except for disable_preview. Once this fails, nothing works and I have to restart streambaby.

Oh, and I have a TIVO series 3 HD


----------



## easily_confused

Using 0.27

I consistently get 0xffff errors after a split VOB file terminates. By split VOB I mean, for example, an episode on a multi-episode dvd that is split across 2 vob files.

A few times I was able to continue after the first VOB ended. A few times when I navigated back to the streambaby top level I saw a full screen image from the video appear momentarily and then go away. I could then go back and play the 2nd part (no log of this though). A few times I tried playing an mpeg2 and then went back and played the second part. But, sometimes those methods don't work, and I just have to "wait it out", I guess.

When the tivo is in the 0xffff mood (mode?) youtube does not work either. In fact, now that's how I determine I can go back to streambaby. If youtube works, streambaby will too.

It seems like anytime I exit a vob early I leave the tivo in some weird mode that causes 0xffff.

I expect there is something you can do (or not do) at the server end to allow it to clean up when a video abrubtly ends, but figuring it out may be tricky.

I'll be happy to send logs or whatever you need to get this fixed.

Here are the log entries at the point of the ending of the first vob - VTS_07_1.VOB. Note the point at which the timestamp jumps and the socket error occurrs. Afterwards is just me pressing buttons.



Code:


11/28/09 01:42:43 MpegStreamingModule$1: MpegEndTS:Timestamp: 2334.04, filePos: 1073651726
11/28/09 01:42:43 NamedStream: Registering named stream: 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
11/28/09 01:42:44 Listener: http=HttpRequest /streambaby/65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
111/28/09 01:42:43 ViewScreen: Desc: VTS_07_1.VOB
1/28/09 01:42:44 Listener: path=/streambaby/65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream uri=/streambaby/
11/28/09 01:42:44 Listener: 
11/28/09 01:42:44 Listener: 192.168.1.102 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream HTTP GET - to factory /streambaby/
11/28/09 01:42:44 StreamBabyStream$StreamBabyStreamFactory: uri=65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
11/28/09 01:42:44 NamedStream: Getting mapped stream for named stream: 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
11/28/09 01:42:44 NamedStream: Getting mapped stream for named stream: 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
11/28/09 01:42:56 NewStatusBar: state=true
11/28/09 01:43:01 NewStatusBar: state=false
11/28/09 01:43:14 ViewScreen: code=20 rawcode=16789780
11/28/09 01:43:18 ViewScreen: code=17 rawcode=16789521
11/28/09 01:43:51 ViewScreen: code=16 rawcode=16789264
11/28/09 01:46:12 ViewScreen: code=16 rawcode=16789264
11/28/09 02:11:05 InfoCache$PruneTask: Pruning cache...
11/28/09 02:11:05 InfoCache$PruneTask: Pruning complete.
11/28/09 02:21:21 ViewScreen: END: 
11/28/09 02:21:21 ViewScreen: goto position: 2303441, vidlen: 2333760
11/28/09 02:21:21 ViewScreen: Position not in buffer, starting new stream
11/28/09 02:21:21 NewStatusBar: state=false
11/28/09 02:21:21 ViewScreen: Openening stream at position: 2303000(2303 secs)
11/28/09 02:21:21 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/28/09 02:21:21 MpegStreamingModule$1: MpegStartTS:Timestamp: 0.28, filePos: 2062
11/28/09 02:21:21 MpegStreamingModule$1: MpegEndTS:Timestamp: 2334.04, filePos: 1073651726
11/28/09 02:21:21 MpegStreamingModule$1: Seeking for ts 2303.280000001192 to timestamp: 2303.24, filePos: 1054967822
11/28/09 02:21:21 NamedStream: Registering named stream: 87f74c1f-94a3-4211-8611-43077d4b0a15.stream
11/28/09 02:21:21 NamedStream: DeRegistering named stream: 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream
11/28/09 02:21:21 Listener: 
11/28/09 02:21:21 Listener: 192.168.1.102 I/O Exception handling  HTTP GET 65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream: Connection reset by peer: socket write error
11/28/09 02:21:21 Listener: ctx=HttpRequest /streambaby/65ac8c7c-8325-4a6d-a5fb-9b1925e82791.stream t=java.net.SocketException: Connection reset
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:23 ViewScreen: error=ERROR: 0xffff
VTS_07_1.VOB
11/28/09 02:21:29 ViewScreen: code=4 rawcode=16777732


----------



## Len McRiddles

rustyshackelford said:


> well that explains that. i really dont know what i'm going to do now. maybe i'll hardwire. we still have a few weeks left before the snow hits here. maybe it's time to run some cable behind the siding. thanks a ton for your help valley_nomad. spot on. good karma to you.


Are you using a Linksys BEFSR41, If you are, do you have WAN multicast filtering enabled? The reason I ask is I ran across this today.

http://www.dave-miller.com/blog/2008/01/01/airport-express-itunes-sharing-bonjour-vs-linksys-router


----------



## rustyshackelford

success!!!! that was what was wrong with mine. i struggled for months trying to get that to work. worth every bit of a beer for the steer. thanks len. you are one fine fellow. good karma to you.


----------



## superflysocal

westside_guy said:


> Tivo handles an a h.264 MP4 file with AC3 audio just fine, if that's what you're asking.


So what is the best app or script for windows that converts mp4 with multichannel aac to mp4 with multichannel ac3?


----------



## whozat

hey, folks. Long-time user of streambaby with a quick question about subtitles. 

Looking through the thread, I've seen mention of using .srt files for subs, and using t2sami to generate the srt files. I've just used t2sami GUI, and it generated .smi files from my DVDs. These look like a richer format than .srt files, but just putting "My Movie.smi" next to "My Movie.mp4" didn't seem to work...doing the same with an .srt file worked fine, though.


Does streambaby not support .smi files? Is there something else I have to do first?


Thanks!


----------



## Len McRiddles

rustyshackelford said:


> success!!!! that was what was wrong with mine. i struggled for months trying to get that to work. worth every bit of a beer for the steer. thanks len. you are one fine fellow. good karma to you.


Excellent. Glad you got it running.


----------



## rfryar

whozat said:


> Does streambaby not support .smi files? Is there something else I have to do first?


Nope, just SRT files are supported at this time. Just ensure it has the same name as the movie minus the extension.

Ie

MyMovie.mp4
MyMovie.srt

Enjoy,

Rick


----------



## BrianVeg

Chuck Clayton said:


> I set the .ini IP to my IP and StreamBaby ran fine with no errors, ready and listening.
> 
> Still no sign of StreamBaby on the Tivo
> 
> Turned windows firewall completely off and still no-go. Maybe it's a windows 7 issue.


I have a similar problem with Windows 7, except that I can see the StreamBaby entry on the Tivo - but I can only see the top level directory. I have:

- turned off my FW
- Enabled Multicasting on my router
- disabled IPv6
- Bound my IP Address to Streambaby

But I cannot get past the top level directory.

Any Help??


----------



## PaulS

I've been using StreamBaby with Win7 64-bit for a few months now (beta, RC and official) without issue. 

Could it be a file/directory permissions issue ?


----------



## superflysocal

This may be more of a general Tivo question, but is there a way to directly access and start streambaby using a remote control shorcut?


----------



## tragus

I'm running streambaby 0.27 on a Gentoo Linux box. It has two network interfaces ...32.13 and ...42.13. No matter what I put in the ini file or what I use for --ip, it always binds to the first address. Am I missing something?


----------



## cr33p

BrianVeg said:


> I have a similar problem with Windows 7, except that I can see the StreamBaby entry on the Tivo - but I can only see the top level directory. I have:
> 
> - turned off my FW
> - Enabled Multicasting on my router
> - disabled IPv6
> - Bound my IP Address to Streambaby
> 
> But I cannot get past the top level directory.
> 
> Any Help??


Try running as administrator to get passed the UAC ? I think you can right click on the icon and chose properties, then find the allways run as administrator, it is probably blocking access to drives, had same problem running winmfs on my win7 box, hope it works  Im running it just fine but didnt have to do what I just suggested? Are you running the latest version?


----------



## kearygriffin

tragus said:


> I'm running streambaby 0.27 on a Gentoo Linux box. It has two network interfaces ...32.13 and ...42.13. No matter what I put in the ini file or what I use for --ip, it always binds to the first address. Am I missing something?


Not missing anything-- 0.27 didn't do the right thing when trying to bind to the specified IP address.

Try the latest SVN version, it should bind to the correct one. (the ip= value in the INI file. I haven't tested using --ip for a long time so I can't say for sure whether or not it still works)
http://streambaby.googlecode.com/files/streambaby-svn-r262.zip


----------



## sandjam

Hey Is there a troubleshooting page somewhere for a novice to get streambaby to work? I'm running windows vista 64bit have edited files to tell the app where videos are,have newest java installed, did everything google pages said to do but it just doesnt run, says Java is not recognized as an internal or external command,operable program or batch file.


----------



## bsmith1051

Just getting started and I think I have an easy-to-reproduce bug? My initial test was a 720p h.264 DTS file in an MKV container. Latest streambaby 0.27 on WinXP-SP3 with JRE 1.6.0_17. The .INI is totally generic, with just a video folder specified, i.e., everything else is on defaults.

My Tivo S3 immediately detected Streambaby (yeah!) and started playing the file using 'Same' quality, but the video was stuttering and only running about 10fps. I checked the CPU utilization and my dual-2.6 X2 was only reporting 40&#37;. So I stopped the playback on the Tivo, and then restarted it with "Highest (5mbps)" quality. At this point Streambaby crashed.

Is this a bug?

Also, what steps should I take to fix my stuttering playback? I'm looking into tools to pre-convert my files to MP4 and DD5.1, and I'm hopeful that'll fix the problem.


----------



## Rdian06

sandjam said:


> Hey Is there a troubleshooting page somewhere for a novice to get streambaby to work? I'm running windows vista 64bit have edited files to tell the app where videos are,have newest java installed, did everything google pages said to do but it just doesnt run, says Java is not recognized as an internal or external command,operable program or batch file.


In your streambaby.bat, there is a line that runs java followed by a bunch of parameters. If java.exe is not in your path (meaning you cannot open up a command prompt and run java.exe from any directory), then you need to edit streambaby.bat and specify the full path to the java.exe file. See:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7543432#post7543432


----------



## tragus

kearygriffin said:


> Not missing anything-- 0.27 didn't do the right thing when trying to bind to the specified IP address.
> 
> Try the latest SVN version, it should bind to the correct one.


That fixed it. Fantastic!


----------



## rfryar

bsmith1051 said:


> My initial test was a 720p h.264 DTS file in an MKV container. ...
> 
> My Tivo S3 immediately detected Streambaby (yeah!) and started playing the file using 'Same' quality, but the video was stuttering and only running about 10fps. I checked the CPU utilization and my dual-2.6 X2 was only reporting 40%. So I stopped the playback on the Tivo, and then restarted it with "Highest (5mbps)" quality. At this point Streambaby crashed.
> 
> Is this a bug?
> 
> Also, what steps should I take to fix my stuttering playback? I'm looking into tools to pre-convert my files to MP4 and DD5.1, and I'm hopeful that'll fix the problem.


The shuddering video is caused by Streambaby having to convert your MKV container into a MPG video (The only format that StreamBaby can transcode to). If you want the file to stream natively it must be a MP$ container with H264 video and AAC or AC3 audio.

My guess at the CPU cap is that FFMPEG by default (on some systems) does not handle multi cores correctly and is only using one core for the transcode. Not sure of your particular fix for this, I know in the past I had a new XP driver that fixed this for me. There is also a way via FFMPEG switches to override the defaults but I do not know how to config StreamBaby to use different FFMPEG settings.

Best of luck,

Rick


----------



## sandjam

Quote:
Originally Posted by sandjam View Post
Hey Is there a troubleshooting page somewhere for a novice to get streambaby to work? I'm running windows vista 64bit have edited files to tell the app where videos are,have newest java installed, did everything google pages said to do but it just doesnt run, says Java is not recognized as an internal or external command,operable program or batch file.
In your streambaby.bat, there is a line that runs java followed by a bunch of parameters. If java.exe is not in your path (meaning you cannot open up a command prompt and run java.exe from any directory), then you need to edit streambaby.bat and specify the full path to the java.exe file. See:

http://www.tivocommunity.com/tivo-vb...32#post7543432

Rdion6: Did everything you said to do with Java. Still wont recognize java when I run program... Here's my .bat file
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


----------



## kearygriffin

rfryar said:


> My guess at the CPU cap is that FFMPEG by default (on some systems) does not handle multi cores correctly and is only using one core for the transcode. Not sure of your particular fix for this, I know in the past I had a new XP driver that fixed this for me. There is also a way via FFMPEG switches to override the defaults but I do not know how to config StreamBaby to use different FFMPEG settings.


In the newer SVN versions of streambaby (say version r262 which is available from the download tab of the streambaby project page) there is a parameter you can use in the streambaby.ini
ffmpeg.threads=X

where X is the number of threads you want to tell ffmpeg to use (it passes -threads X to ffmpeg). I'm not sure what ffmpeg does with this parameter, but it is available to play with.

Having said that it is also quite likely that the bottleneck is on the TiVo side. Streambaby will convert the MKV to MPEG to stream to the TiVo and the TiVo receives the MPEG streams at a much lower bitrate than MP4 streams. (I don't know why...)

Your best bet is to convert to an MP4 file.


----------



## LennonNZ

Frankoz2 said:


> Any news for Aussie Streambaby devotees? we're missing the you


Hi there.

I'm in NZ and I run a public HME Server and I've love to get the streaming working properly but alas I don't have a NZ TIvo at the moment to get it working.

I have been streaming stuff for quite a while (from an ISP level to many users to home streaming etc in various ways) so I am pretty farmiliar with the way streaming should work.

If anyone wants to donate a NZ TiVo to me or $$ to put towards one If I get one I am pretty sure I can get it working for people to help streambaby for NZ and AU users.


----------



## Rdian06

kearygriffin said:


> In the newer SVN versions of streambaby (say version r262 which is available from the download tab of the streambaby project page) there is a parameter you can use in the streambaby.ini
> ffmpeg.threads=X
> 
> where X is the number of threads you want to tell ffmpeg to use (it passes -threads X to ffmpeg). I'm not sure what ffmpeg does with this parameter, but it is available to play with.
> 
> Having said that it is also quite likely that the bottleneck is on the TiVo side. Streambaby will convert the MKV to MPEG to stream to the TiVo and the TiVo receives the MPEG streams at a much lower bitrate than MP4 streams. (I don't know why...)
> 
> Your best bet is to convert to an MP4 file.


It's the same difference as MRV versus TTCB. When you send MPEG2 to the Tivo, it remuxes it and stores it in native TY format. MRV sends something that is a lot closer to the native TY format that doesn't require as much reprocessing before storing on the drive so it goes a lot faster than a Tivo Desktop or pyTivo pull.

We suspect that the Tivo is storing the mp4 directly without remuxing it so lower Tivo CPU processing required = faster transfer.


----------



## bsmith1051

Rdian06 said:


> We suspect that the Tivo is storing the mp4 directly without remuxing it so lower Tivo CPU processing required = faster transfer.


So does this mean that you can never get smooth playback on a non-native container? Kinda defeats the purpose of the transcoding then, doesn't it?


----------



## bsmith1051

Another question: 
Is there a quicker/simpler way to load 'Stream Baby Stream' on the Tivo? The only method I know is to scroll down to 'Photos, Video, Music' then scroll waaay down the list to 'Stream Baby Stream'.

Thank you for any suggestions!


----------



## Rdian06

bsmith1051 said:


> So does this mean that you can never get smooth playback on a non-native container? Kinda defeats the purpose of the transcoding then, doesn't it?


I'm not sure what you are asking? Transcoded material plays back fine.


----------



## dm_

LennonNZ said:


> Hi there.
> 
> I'm in NZ and I run a public HME Server and I've love to get the streaming working properly but alas I don't have a NZ TIvo at the moment to get it working.
> 
> I have been streaming stuff for quite a while (from an ISP level to many users to home streaming etc in various ways) so I am pretty farmiliar with the way streaming should work.
> 
> If anyone wants to donate a NZ TiVo to me or $$ to put towards one If I get one I am pretty sure I can get it working for people to help streambaby for NZ and AU users.


I thought the current theory was that the streaming support has simply been removed from the current .au/.nz firmware? Since there's no official apps which use it (no youtube streaming here) it would seem to be a bit difficult to find something to reverse-engineer. (The CASPA stuff isn't streamed, its downloaded to the hard drive, I'd assume via the 'push' mechanism).


----------



## bjarne

I have been playing around with streambaby/pyTivoX on my iMac and TiVo HD, great applications, thank you.

My ultimate goal is to run streambaby on my DNS-321 which is running linux, but has a fairly weak processor, so I want to encode my videos in a format that does not require transcoding.

My testing has been to create m2ts files from my blue-ray disc and then enconding to mp4 with handbrake using H.264 (x264) and aac audio. I have endoded with targets between 1-9 mbps. Whatever bit rate I use I get blocking in the video on the TiVo when playing at the native bit rate. If I choose another bit rate for playback, it plays back perfectly, but of course is transcoding on the iMac.

Is there a way to encode with handbrake to a format the TiVo HD is happy with directly? The answer might be somewhere here in this thread, but I was not able to find it


----------



## PWF

superflysocal said:


> So what is the best app or script for windows that converts mp4 with multichannel aac to mp4 with multichannel ac3?


I've been using Handbrake to convert all my video. The latest version works better than the previous ones.


----------



## jkates

PWF said:


> I've been using Handbrake to convert all my video. The latest version works better than the previous ones.


What options are you using to encode? 
This is what I am currently using and I don't think that I have the correct settings.
HandBrakeCLI -v -i /dev/sr1 -L -o outfile.mp4 -e x264 -f mp4 -w 480 -Y 320 -b 1500 -2 -9 -T -x subq=6:frameref=6:me=umh:threads=auto:bframes=3:weight-b:qcomp=0.8artitions=all:b-pyramid:mixed-refs:trellis=1:no-fast-pskip:nr=100 -E aac+ac3 -B 160 -R 48 -m

Thanks -Jason​


----------



## BrianVeg

cr33p said:


> Try running as administrator to get passed the UAC ? I think you can right click on the icon and chose properties, then find the allways run as administrator, it is probably blocking access to drives, had same problem running winmfs on my win7 box, hope it works  Im running it just fine but didnt have to do what I just suggested? Are you running the latest version?


Thank you for the tip. Tried it and no luck.

Also just tried it in XP Compatibility mode - still no luck.

Yes I am running the latest version


----------



## bsmith1051

Rdian06 said:


> I'm not sure what you are asking? Transcoded material plays back fine.


Manually transcoded material plays fine, yes. But it sounded like you(?) were saying that you cannot expect on-the-fly transcoding to work properly, which I thought was a major goal of this software.

In other words, if I have a video that is otherwise compatible but is stored in an MKV container, Streambaby doesn't seem to be able to convert it on-the-fly to a proper playable video on my S3. If, however, I manually convert it from an MKV to an MP4, then it'll stream fine. But I thought one of the goals of Streambaby was to do that conversion automatically and as-needed?


----------



## rfryar

bsmith1051 said:


> In other words, if I have a video that is otherwise compatible but is stored in an MKV container, Streambaby doesn't seem to be able to convert it on-the-fly to a proper playable video on my S3. If, however, I manually convert it from an MKV to an MP4, then it'll stream fine. But I thought one of the goals of Streambaby was to do that conversion automatically and as-needed?


I use on the fly transcoding all the time, however my HTPC is only transcoding SD material or at best DVD quality and bit rates under 8k to ensure that the TiVo can keep up.

One of the problems is that HD MPG streams at a bitrate that the TiVo may not be able to process if it is also recording shows on other channels as it's CPU is relatively weak. Increasing your CPU on your HTPC will not solve this as the limit is on the TiVo side to process the MPG stream and encode that into the TiVo format.

So I would not recommend transcoding HD material on the fly and instead reconvert those into an MP4 container that can be send to the TiVo easily in real time.


----------



## Rdian06

bsmith1051 said:


> Manually transcoded material plays fine, yes. But it sounded like you(?) were saying that you cannot expect on-the-fly transcoding to work properly, which I thought was a major goal of this software.
> 
> In other words, if I have a video that is otherwise compatible but is stored in an MKV container, Streambaby doesn't seem to be able to convert it on-the-fly to a proper playable video on my S3. If, however, I manually convert it from an MKV to an MP4, then it'll stream fine. But I thought one of the goals of Streambaby was to do that conversion automatically and as-needed?


No, you misunderstood. The Tivo will accept different types of content containers. Each container has constraints on what audio and video it will carry.

The first container is the VOB (MPEG2 Program Stream). If you send a VOB to the Tivo, it will remux in the Tivo on its CPU before storing on the Tivo's hard drive. We cannot control this and it slows down the max transfer rate the Tivo will accept compared to other containers. It does playback smoothly and in realtime if you can feed the Tivo "fast enough". "Fast enough" is constrained by your computer's CPU, but the max transfer rate (which allows fast enough for realtime) is capped by the Tivo's internal process. The VOB container is what we use for transcoding most formats for Tivo compatibility. That is your MKV is being remuxed or transcoded (depends on the video/audio codecs) to the VOB container. When transcoding, the video is being converted to MPEG2 on the fly. If that on the fly conversion is too slow then you end up with non-realtime playback. But if you have a fast enough CPU in your computer, even h264 HD transcoding to MPEG2 can be done in realtime (I do it with pyTivo using an Intel Core2Quad Q6600.)

With the MP4 container, the Tivo seems to accept the file and store it without remuxing internally similar to what it does for MRV transfers between Tivos. This raises the maximum transfer rate imposed by the Tivo to near MRV transfer rates. However, neither streambaby nor pyTivo will transcode or remux to MP4 on the fly. The MP4 has certain requirements for the whole file to be done remuxing/transcoding before it can be start the transfer to the Tivo with current software. So even if you have an MKV with h264 video and AC3 audio, it cannot be remuxed to MP4 on the fly for streaming to the Tivo with current software. The other advantage of the MP4 container is that it can carry h264 video which is more compact than MPEG2 video. So if you happen to have a complete MP4 file, streambaby is happy to send that at the fastest transfer rate the Tivo will accept.


----------



## Rdian06

rfryar said:


> I use on the fly transcoding all the time, however my HTPC is only transcoding SD material or at best DVD quality and bit rates under 8k to ensure that the TiVo can keep up.
> 
> One of the problems is that HD MPG streams at a bitrate that the TiVo may not be able to process if it is also recording shows on other channels as it's CPU is relatively weak. Increasing your CPU on your HTPC will not solve this as the limit is on the TiVo side to process the MPG stream and encode that into the TiVo format.
> 
> So I would not recommend transcoding HD material on the fly and instead reconvert those into an MP4 container that can be send to the TiVo easily in real time.


I believe this is inaccurate. I have a Tivo S3 (the THX one that came before the Tivo HD) and I'm currently recording a football game on CBS in HD and golf on the second tuner in HD. I'm also sending a 720p MKV file that is transcoding with ffmpeg from my Core2Quad Q6600 box using pyTivo.

The pyTivo transfer is occurring faster than realtime. The video is 24 fps and the transcode (which feeds into a network buffer and will be slowed if the Tivo isn't consuming the network transfer fast enough) is running around 52-54 fps.

So having a fast enough CPU on your HTPC DOES make a difference. The max transfer rate at which the Tivo will accept a VOB even when recording HD on both tuners does allow realtime HD video playback during transfer.

If you don't have a fast enough CPU, then by all means try to convert to MP4 so that the transfer can avoid transcoding.


----------



## bjarne

bjarne said:


> My testing has been to create m2ts files from my blue-ray disc and then enconding to mp4 with handbrake using H.264 (x264) and aac audio. I have endoded with targets between 1-9 mbps. Whatever bit rate I use I get blocking in the video on the TiVo when playing at the native bit rate. If I choose another bit rate for playback, it plays back perfectly, but of course is transcoding on the iMac.


Just to close this, if anybody is interested. I found my problem, the CLI version of HandBrake generated good mp4's, but the GUI version gave my the breakup video. Somehow I had gotten a "level=30" into the x264 option string and that caused my problems, I can now encode great mp4 with no need to transcode on-the-fly.
Thank you again for a great application


----------



## dbsams

I have about 600 avi files from my Sony MiniDV Camcorder. These files hang when I leave the quality at "Same", but they look beautiful if I change it to High 5000. I know from reading this forces the file to be transcoded. The problem is I want to play multiple files forcing the transcode. I have my home videos split up by scenes, but I want to be able to watch multiple scenes. For obvious reasons, I don't want to consume the time required to downgrade all of these files. I just want an "ini" setting or the like that will force these files to be transcoded to the high setting on the fly. I'm open to batching all of the files to a new format, but everything I've tried so far doesn't look near as good as just kicking in the transcode by changing the quality setting. Is there some way to program the ini file force it to transcode these files.

I've been working all weekend on this and I'm just plain frustrated.


----------



## rfryar

dbsams said:


> I have about 600 avi files from my Sony MiniDV Camcorder. These files hang when I leave the quality at "Same", but they look beautiful if I change it to High 5000.


This probably means that the original videos do not show a bitrate from the FFMPEG/MediaInfo that Streambaby uses. So when you select a bitrate it works, but if you use the "default" of same it will hang.

You can easily use a btach script to remux these videos into either a new AVI or another container and it should fix the AVI headers to include the bitrate.

If you know how to use MediaInfo or FFMPEG to get the media info please post that in a response and we should be able to tell exactly what the problem is with these AVIs.

Rick


----------



## rfryar

Rdian06 said:


> I have a Tivo S3


The TiVo S3 has a faster more powerful CPU that the TiVo HD that I am using.

Also your HTPC CPU does make a difference if it is not fast enough to transcode the video. The response that I was originally replying to stated his HTPC CPU maxed out at 40% which means that it was not a HTPC CPU bounding issue but a transfer rate/TiVo CPU Issue.

I also can stream HD MPEGs to my TiVo but it depends on the bitrate like I stated on my post.. I only _recommended_ to transocde SD or 480p material, not to never transcode that. 

Rick


----------



## net114

sandjam said:


> Quote:
> Originally Posted by sandjam View Post
> Hey Is there a troubleshooting page somewhere for a novice to get streambaby to work? I'm running windows vista 64bit have edited files to tell the app where videos are,have newest java installed, did everything google pages said to do but it just doesnt run, says Java is not recognized as an internal or external command,operable program or batch file.
> In your streambaby.bat, there is a line that runs java followed by a bunch of parameters. If java.exe is not in your path (meaning you cannot open up a command prompt and run java.exe from any directory), then you need to edit streambaby.bat and specify the full path to the java.exe file. See:
> 
> http://www.tivocommunity.com/tivo-vb...32#post7543432
> 
> Rdion6: Did everything you said to do with Java. Still wont recognize java when I run program... Here's my .bat file
> @echo off
> set LAUNCHDIR="%CD%"
> pushd "%~dp0\native"
> java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> echo Exited.
> pause
> popd


Look at my post here:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7572855&highlight=java#post7572855

The simplest way is to put a line between the "pushd" and "java" lines that tells the script to look in your java directory.


----------



## dbsams

rfryar said:


> This probably means that the original videos do not show a bitrate from the FFMPEG/MediaInfo that Streambaby uses. So when you select a bitrate it works, but if you use the "default" of same it will hang.
> 
> You can easily use a btach script to remux these videos into either a new AVI or another container and it should fix the AVI headers to include the bitrate.
> 
> If you know how to use MediaInfo or FFMPEG to get the media info please post that in a response and we should be able to tell exactly what the problem is with these AVIs.
> 
> Rick


Rick, thanks for your help. Here's the MediaInfo. Just to be clear, it is not hanging, it is playing faster than buffering which causes it to hang/pause until you hit play to start it again...

Format : AVI
Format/Info : Audio Video Interleave
File size : 200 MiB
Duration : 55s 88ms
Overall bit rate : 30.5 Mbps
Recorded date : 2002-01-27 14:00:00

Video
ID : 0
Format : Digital Video
Codec ID : dvsd
Codec ID/Hint : Sony
Duration : 55s 88ms
Bit rate : 28.8 Mbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 1.500
Original display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 29.970 fps
Standard : NTSC
Resolution  : 24 bits
Colorimetry : 4:1:1
Scan type : Interlaced
Bits/(Pixel*Frame) : 2.778
Stream size : 189 MiB (94%)
Encoding settings : ae mode=full automatic / wb mode=automatic / white balance= / fcm=manual focus

Audio
Format : PCM
Format settings, Endianness : Little
Format settings, Sign : Unsigned
Codec ID : 1
Codec ID/Hint : Microsoft
Duration : 55s 88ms
Bit rate mode : Constant
Bit rate : 1 536 Kbps
Channel(s) : 2 channels
Sampling rate : 48.0 KHz
Resolution : 16 bits
Stream size : 10.1 MiB (5%)
Interleave, duration : 33 ms (1.00 video frame)
Interleave, preload duration : 33 ms


----------



## kearygriffin

dbsams said:


> I have about 600 avi files from my Sony MiniDV Camcorder. These files hang when I leave the quality at "Same", but they look beautiful if I change it to High 5000. I know from reading this forces the file to be transcoded....
> ...
> I just want an "ini" setting or the like that will force these files to be transcoded to the high setting on the fly.
> ...


I just had a chance to look through the code and there is a parameter you can add to the INI file that may do what you are looking for.

quality.default=7

If I am reading the code correctly and this feature actually works it should set the default quality to "highest" which (assuming all other quality related values are at their defaults) is equivalent to the 5000kbs you mentioned in your post.
The valid values for this parameter are 1-7 (1=lowest, 7=highest)

It's probably been a long time (if ever) since this particular feature was tested...

I believe that if the kbps of the file you are trying to stream is already < 5000 and in a format the TiVo understands it will not transcode the file (so it will show up on the playscreen as "same"), but any file with a kbps > 5000 will default to transcoding to a lower kbps.

Good luck


----------



## bsmith1051

Rdian06 said:


> With the MP4 container, the Tivo seems to accept the file and store it without remuxing internally similar to what it does for MRV transfers between Tivos. This raises the maximum transfer rate imposed by the Tivo to near MRV transfer rates. However, neither streambaby nor pyTivo will transcode or remux to MP4 on the fly. The MP4 has certain requirements for the whole file to be done remuxing/transcoding before it can be start the transfer to the Tivo with current software. So even if you have an MKV with h264 video and AC3 audio, it cannot be remuxed to MP4 on the fly for streaming to the Tivo with current software.


Are you sure about this? My test file was an MKV container with Tivo-compliant 720p h.264 video and non-compliant DTS. Streambaby was able to convert it on-the-fly but not successfully (video stutter). The same file, once converted to MP4 and with the audo re-encoded, streamed just fine. My question is: was the problem the container, the audio re-encoding, or a combination of both?

I suppose I should test something with both audio and video that are compliant but with just the wrong container, see if that streams properly. If the only 'problem' is the container, does that force Streambaby to transcode to MPEG2? I could certainly see that causing a problem.

P.S. Is there a way to configure Streambaby to show more information about a file, i.e., whether it will stream or need transcoding? By default all I see in the interface is Quality:Same/Highest(8Mbps) etc but I don't know what this means in regards to streaming vs transcoding. My test file was marked 'Same' even though I know it wasn't (audio needed transcoding).


----------



## rfryar

bsmith1051 said:


> My test file was an MKV container with Tivo-compliant 720p h.264 video and non-compliant DTS.


At the moment StreamBaby only transcodes to an MPG-2 Program Stream. Perhaps down the road a way to just change containers or remux compliant streams may be possible, but that would be a question for kearygriffin to answer.



bsmith1051 said:


> If the only 'problem' is the container, does that force Streambaby to transcode to MPEG2?


Yes this is exactly the case. If the container is not MP4 or MPG it does not even look at the codecs and bitrates.



bsmith1051 said:


> P.S. Is there a way to configure Streambaby to show more information about a file, i.e., whether it will stream or need transcoding? By default all I see in the interface is Quality:Same/Highest(8Mbps) etc but I don't know what this means in regards to streaming vs transcoding. My test file was marked 'Same' even though I know it wasn't (audio needed transcoding).


You can tell when a MP4 file is compliant as it will say SAME but with the bitrate shown as well. If it just shows SAME then it is going to be transcoding the video to Mpeg2.

Rick


----------



## greggonzo1

Hello, I have been unable to find a resolution to this issue, although it seems that many have had it and been able to now stream/push.

I have windows 7 32 bit, tivo series 2 DVR that I purchased earlier in the year.
I have pytivo and it has worked well up until a few days ago. It has since been unable to completly transfer an entire to movie to my tivo. it stops at the same spot every time, I have watched the movie on my pc with no issue, it is in avi files and I have watched several avi's transfered to my tivo no issue.

I thought Id try Streambaby r262, to see if that would work better. My issue is now
installed streambaby I can see it from the tivo along with the movies. but the console reads the error

ERROR code =1 Message: can't create rsrc. unsupported stream type /streambaby/e568adfa-bc0e-44e5-b45b-6b98a62a99cc.stream

and the screen on the tivo just states "please wait"....

any ideas?


----------



## MrGolden

I'm fairly new to Streambaby, but I'd bet "Series 2" is your problem...


----------



## Rdian06

greggonzo1 said:


> Hello, I have been unable to find a resolution to this issue, although it seems that many have had it and been able to now stream/push.
> 
> I have windows 7 32 bit, tivo series 2 DVR that I purchased earlier in the year.
> I have pytivo and it has worked well up until a few days ago. It has since been unable to completly transfer an entire to movie to my tivo. it stops at the same spot every time, I have watched the movie on my pc with no issue, it is in avi files and I have watched several avi's transfered to my tivo no issue.
> 
> I thought Id try Streambaby r262, to see if that would work better. My issue is now
> installed streambaby I can see it from the tivo along with the movies. but the console reads the error
> 
> ERROR code =1 Message: can't create rsrc. unsupported stream type /streambaby/e568adfa-bc0e-44e5-b45b-6b98a62a99cc.stream
> 
> and the screen on the tivo just states "please wait"....
> 
> any ideas?


Streambaby requires a Tivo HD/S3 unit. It uses the same underlying mechanics as Youtube support which Series 2 units do not have.

As for your pyTivo woes, you should post in the pyTivo thread or over at the pyTivo Forum (http://pytivo.sourceforge.net/forum/). Some versions of ffmpeg have trouble with certain avi files even though they might play on the PC fine. ffmpeg isn't as forgiving for slightly out of spec files.


----------



## dbsams

kearygriffin said:


> I just had a chance to look through the code and there is a parameter you can add to the INI file that may do what you are looking for.
> 
> quality.default=7
> 
> If I am reading the code correctly and this feature actually works it should set the default quality to "highest" which (assuming all other quality related values are at their defaults) is equivalent to the 5000kbs you mentioned in your post.
> The valid values for this parameter are 1-7 (1=lowest, 7=highest)
> 
> It's probably been a long time (if ever) since this particular feature was tested...
> 
> I believe that if the kbps of the file you are trying to stream is already < 5000 and in a format the TiVo understands it will not transcode the file (so it will show up on the playscreen as "same"), but any file with a kbps > 5000 will default to transcoding to a lower kbps.
> 
> Good luck


kearygriffin/Rick, thanks for your suggestions thus far. the "quality.default" either didn't do anything (I tried settings of 7, 6, 2, and 1 with a complete reboot after each change to make sure the ini file was being updated) or did not solve the problem. The picture did seem to have less resolution at the lower settings, but that may have been my imagination... The problem would also go away immediately when I manually changed the Quality to High 5000.

Other ideas? I have a lot of movies that play great with default settings... It's just these darn camcorder files. Is there a program that would easily add a header to each file telling streambaby to transcode at the equivalent of a manual Quality High 5000? I've batched a few of the files to mp4 and the quality is just not there (pans appear very jerky). These files just look so good in their native with a manual Quality High 5000! If I could just get it to play multiple files with that manual setting. The forward on the remote does exactly what I want play the files in chronological order from any given point in time, but there is no way to force the manual Quality High 5000. I have Toast on the Mac and multiple utilities available on the PC.


----------



## greggonzo1

Hello and Thanks for the Info, even more reason now to get a series 3..

Thanks again!


----------



## bsmith1051

rfryar said:


> You can tell when a MP4 file is compliant as it will say SAME but with the bitrate shown as well. If it just shows SAME then it is going to be transcoding the video to Mpeg2.


Thank you for the clear and precise responses!

I guess the only thing I would add now would be a request that the program not report 'Same' if it's going to transcode.


----------



## cburbs

Quick question. Due to the new layout in our rental home I have a wireless bridge going to my Tivo box. Streambaby won't seem to connect unless if I wire it directly to my switch upstairs.
The tivo has an IP from the wireless bridge so is there something else I need to look at?

Netflix worked on the wireless bridge.


----------



## kearygriffin

cburbs said:


> Quick question. Due to the new layout in our rental home I have a wireless bridge going to my Tivo box. Streambaby won't seem to connect unless if I wire it directly to my switch upstairs.
> The tivo has an IP from the wireless bridge so is there something else I need to look at?
> 
> Netflix worked on the wireless bridge.


Edit: I may have read the above question too quickly-- Is it a matter of Streambaby not showing up in the "Music, photos, & showcases" or a problem sometime after it. The below assumes streambaby is not showing up at all under showcases.

It's probably an issue with the bridge not passing "multicast" packets. The wireless bridge I use has the same issue. If it is a linksys you might take a look at this:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=438367

If it's not a linksys (or the above doesn't solve the problem) you might be able to use "Manually add a server" to add the streambaby server to the TiVo, or use a mDNS proxy. Both are covered here:

http://www.tivocommunity.com/tivo-vb/showthread.php?p=7487199#post7487199


----------



## cburbs

Streambaby not showing up in the "Music, photos, & showcases" unless I am wired.

I am running a linksys with DDWRT - Filter Multicast is checked. 

I will have to try the second solution. I am guessing the 2nd solution may work since my shows show up in now playing under pytivo setup.


----------



## lupette

Hi all. First I want to say thank you for this program. Although I am a newbie . . . I appreciate what this does for my Tivo! Bravo!!! It worked great for me when I first started using it but now I have a persistent problem that I don't know how to fix. I tried to look on here for the solution but this thread is a bit too technical for me, and so I am afraid I couldn't find the answer, even though I know it is probably here. Anyway, the problem is that the sound plays, but voices are not audible. It's happening on most of the latest movie downloads. They all play fine on my computer but when I try to stream them . . . it's as if the voice part of the audio is missing. If someone could direct me to the proper place to read how to fix this, I would appreciate it. Thanks )


----------



## rfryar

lupette said:


> Anyway, the problem is that the sound plays, but voices are not audible. It's happening on most of the latest movie downloads. They all play fine on my computer but when I try to stream them . . . it's as if the voice part of the audio is missing. If someone could direct me to the proper place to read how to fix this, I would appreciate it. Thanks )


This is most likely due to having multi-channel AAC audio which the TiVo does not support fully. You have a few options.. The first is to trancode the audio from AAC to AC3 which does support multi-channel audio.

The second is to transcode from AAC multi-channel to AAC stereo.

Since you stated you are not too technical I am not sure what the best course of action is for you to convert your videos to the correct audio format. Are you on a windows machine or a Mac or a linux flavor?

Rick


----------



## lupette

Thanks! I am on a windows xp pc and I think I know what to do now that you have explained it. I am going to try it now and will post once I see if it works. Thanks again!


----------



## lupette

I tried but it seems that the converter that I have been using doesn't work for HD audio. Do you have a suggestion what to use? Free is best as usual


----------



## alexnvrmnd

I just implemented a NAS server on my home network, and I've practically put my entire library on it. I did set it so that it's a static IP address (192.168.1.4), and I have a share to it on my laptop, which is now the E drive. Also, I have Windows 7.

The _.ini _file looks like:

*#
# ./streambaby --help for more configuration file options
#

extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv

dir.1=C:\Movies
dir.1.name=Movies, Shows, & Videos
dir.2=E:\Videos
dir.2.name=Videos on External
dir.3=E:\Hey Now
dir.3.name=Test
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.4
# port to use
#port=7290*

It does work, however it's extremely slow to read the directories and files. Do I have everything correct in the _.ini _file, or am I missing something? Any suggestions on how to make the reads faster at all?

Thanks for anyone's help!


----------



## MrGolden

I've noticed that the more files you have in a directory, the longer Streambaby takes to display them in the menu. Because of that, I have mine organized into subfolders, by movie type.

Although that takes care of the "slow-down" issue, it makes it harder to find movies, because you have to know which folder it's in. 

It would be great if Streambaby supported "genres" or some other type of grouping internally, or if there were a kind of "library" plug-in. One major issue with my current setup is movies that fit into multiple categories - ie., Comedy and Horror, etc. Right now, I'd either need to have a copy of the movie in each folder (uses too much space), or choose only one category to put it in (harder to find).


----------



## alexnvrmnd

MrGolden said:


> *I've noticed that the more files you have in a directory, the longer Streambaby takes to display them in the menu.* Because of that, I have mine organized into subfolders, by movie type.
> 
> Although that takes care of the "slow-down" issue, it makes it harder to find movies, because you have to know which folder it's in.
> 
> It would be great if Streambaby supported "genres" or some other type of grouping internally, or if there were a kind of "library" plug-in. One major issue with my current setup is movies that fit into multiple categories - ie., Comedy and Horror, etc. Right now, I'd either need to have a copy of the movie in each folder (uses too much space), or choose only one category to put it in (harder to find).


I would think so too, but before I got the server, those files with the very same folder/file structure were on an external drive that was connected to the laptop. And Streambaby read those directories and files quickly. It usually takes 60 seconds or so to read them now. Is it possible somehow to have SB on the server too? And if so, would that speed thing up a little?

Luckily, so far the streaming is at a decent speed, like before the move to the server. I guess that's the most important, but the sitting and waiting to read directories and whatnot can be a pain.


----------



## lupette

I decieded to add this in case anyone else is reading here with a similar problem.

So . . . I tried a lot of programs . . . both free and not so free. The problem with most of them, is that I had to run the video through the translation with the audio, when all I wanted was to transcode the audio! It worked but I ate up CPU's! Finally I read something someone sent me (thank you whoever you are) and wah lah! So, if anyone else is struggling with this . . . here is what (for me) worked best . . . and for free!!!!:

YAMB !!!!!!!!!!! It rocks!!! Thank you . . . whoever you are!


----------



## dbsams

dbsams said:


> kearygriffin/Rick, thanks for your suggestions thus far. the "quality.default" either didn't do anything (I tried settings of 7, 6, 2, and 1 with a complete reboot after each change to make sure the ini file was being updated) or did not solve the problem. The picture did seem to have less resolution at the lower settings, but that may have been my imagination... The problem would also go away immediately when I manually changed the Quality to High 5000.
> 
> Other ideas? I have a lot of movies that play great with default settings... It's just these darn camcorder files. Is there a program that would easily add a header to each file telling streambaby to transcode at the equivalent of a manual Quality High 5000? I've batched a few of the files to mp4 and the quality is just not there (pans appear very jerky). These files just look so good in their native with a manual Quality High 5000! If I could just get it to play multiple files with that manual setting. The forward on the remote does exactly what I want play the files in chronological order from any given point in time, but there is no way to force the manual Quality High 5000. I have Toast on the Mac and multiple utilities available on the PC.


bump...


----------



## rfryar

dbsams said:


> Other ideas? I have a lot of movies that play great with default settings... It's just these darn camcorder files. Is there a program that would easily add a header to each file telling streambaby to transcode at the equivalent of a manual Quality High 5000? I've batched a few of the files to mp4 and the quality is just not there (pans appear very jerky). These files just look so good in their native with a manual Quality High 5000! If I could just get it to play multiple files with that manual setting. The forward on the remote does exactly what I want play the files in chronological order from any given point in time, but there is no way to force the manual Quality High 5000. I have Toast on the Mac and multiple utilities available on the PC.


Can you record a short video and post to a website so I can download it? I will look at the file and see what solutions exist. I would assume when it was transocded to MP4 the bitrate was a bit too low, thus the jerkiness.

But with the actual AVI I should be able to see what else needs to be done. It may be as simple as running it through FFMPEG to put it back into the AVI container correctly if you do not wish to transcode them to MP4 immediately.

Rick


----------



## dbsams

rfryar said:


> Can you record a short video and post to a website so I can download it? I will look at the file and see what solutions exist. I would assume when it was transocded to MP4 the bitrate was a bit too low, thus the jerkiness.
> 
> But with the actual AVI I should be able to see what else needs to be done. It may be as simple as running it through FFMPEG to put it back into the AVI container correctly if you do not wish to transcode them to MP4 immediately.
> 
> Rick


www RockinghamMarina com

Look under "Movie"


----------



## alexnvrmnd

alexnvrmnd said:


> I would think so too, but before I got the server, those files with the very same folder/file structure were on an external drive that was connected to the laptop. And Streambaby read those directories and files quickly. It usually takes 60 seconds or so to read them now. Is it possible somehow to have SB on the server too? And if so, would that speed thing up a little?
> 
> Luckily, so far the streaming is at a decent speed, like before the move to the server. I guess that's the most important, but the sitting and waiting to read directories and whatnot can be a pain.


So, I'm assuming no one has any hints or suggestions about this, huh? Now it's taking over 2 minutes to read things. Anything I should be checking?


----------



## rfryar

dbsams said:


> www RockinghamMarina com
> 
> Look under "Movie"


Ok, several reasons for the "jerky" video. The main video has a video bitrate of 25 Megs. So if you do not select anything other than same your Streambaby computer is trying to create a 25 Meg per second MPG video. This will be much too large to transfer in real time to your TiVo. If you pause the video on your tivo and let it buffer will the video play smoothly?

When you convert this to a MP4 you should use a bitrate greater than 4, I would suggest 8 Megabits/second for the MP4. Also the main video is interlaced so your conversion to MP4 should also be interlaced or you will get a bit less smooth playback since the deinterlace process can introduce artifacts.

Rick


----------



## dbsams

rfryar said:


> Ok, several reasons for the "jerky" video. The main video has a video bitrate of 25 Megs. So if you do not select anything other than same your Streambaby computer is trying to create a 25 Meg per second MPG video. This will be much too large to transfer in real time to your TiVo. If you pause the video on your tivo and let it buffer will the video play smoothly?
> 
> When you convert this to a MP4 you should use a bitrate greater than 4, I would suggest 8 Megabits/second for the MP4. Also the main video is interlaced so your conversion to MP4 should also be interlaced or you will get a bit less smooth playback since the deinterlace process can introduce artifacts.
> 
> Rick


Rick!

You the man... I'm having to do a batch convert, but the key was the interlace... I still wish I could have figured out how to get streambaby to handle the native files in multiplay mode, but this will work... just takes a few hours off the life of my cpu!

Thanks again! The kids will be reliving the last six years of Christmas whether they like it or not!


----------



## rfryar

alexnvrmnd said:


> So, I'm assuming no one has any hints or suggestions about this, huh? Now it's taking over 2 minutes to read things. Anything I should be checking?


I think you already hit the nail on the head.. Since these are network shared directories they are subject to latency, on top of the device speed. Many consumer grade NAS/SAN devices spin down when not accessed for a while and take some time to respond to initial pings.

If you need the convenience of having the files on a remote disk you might want to look into a device that supports eSata as well as USB/Network. The eSata will allow the device to be a local disk to your computer which should solve the network lags.

Otherwise you also asked if Streambaby could be run local on the NAS.. Some NAS systems support Java and can run streambaby to server already compliant movies.. I would not recommend using your NAS to also transcode the movies. I am not familiar with what devices support Java so can not recommend any particular brand.

Best of luck,

Rick


----------



## superflysocal

is there a way to have streambaby transcode just the audio, for example, in a mp4 with aac, trancode the 6 channel aac to 2 channel aac, so that I can hear the center channel? (without transcoding video)


----------



## kearygriffin

alexnvrmnd said:


> So, I'm assuming no one has any hints or suggestions about this, huh? Now it's taking over 2 minutes to read things. Anything I should be checking?


You can try to set the following parameter in streambaby.ini and restarting streambaby:


Code:


use.title=false

This tells streambaby to display the filenames instead of trying to read any available metadata to parse out the "title" of the video. This should speed things up (but I'm not sure how much).


----------



## kearygriffin

dbsams said:


> ... I still wish I could have figured out how to get streambaby to handle the native files in multiplay mode, but this will work... just takes a few hours off the life of my cpu!


I'm still not sure why the quality.default setting didn't work for you... It seems to work for me (based on both the video quality I see and by looking through the logs and seeing the values passed to ffmpeg). This is the test I was running:

1. Downloaded movie from rockinghammarina.com
2. Copy movie to m1.avi, m2.avi, m3.avi through m9.avi
3. Edit streambaby.ini, add line:


Code:


quality.default=1

4. Restart streambaby
5. Navigate to folder containing m1-m9.avi
6. Moved cursor to m2.avi
7. Pressed "Fast forward" button (to play from m2.avi onward)
8. Watched videos m2.avi-m9.avi play on TiVo

All of the videos seemed to be transcoded to the correct bitrate (in my cased 512kbs, the lowest quality)

So I'm not sure exactly what the issue is, but again it is a lightly used feature so it's possible there are some specific circumstances where it has problems (and possibly many circumstances...)

I'm glad to hear the manual transcoding worked (thanks rfryar) and that it is a workable solution.


----------



## alexnvrmnd

rfryar said:


> I think you already hit the nail on the head.. Since these are network shared directories they are subject to latency, on top of the device speed. Many consumer grade NAS/SAN devices spin down when not accessed for a while and take some time to respond to initial pings.
> 
> If you need the convenience of having the files on a remote disk you might want to look into a device that supports eSata as well as USB/Network. The eSata will allow the device to be a local disk to your computer which should solve the network lags.
> 
> Otherwise you also asked if Streambaby could be run local on the NAS.. Some NAS systems support Java and can run streambaby to server already compliant movies.. I would not recommend using your NAS to also transcode the movies. I am not familiar with what devices support Java so can not recommend any particular brand.
> 
> Best of luck,
> 
> Rick


Thanks for the insight, Rick. Over the past day or two, the lag time to read the directories has improved a bit, but it definitely is longer than it should be. I hear you on the spin down theory, and while I do agree with you on it, it also happens when it's not just the first time into Streambaby for the session. Ah well. As I said before, the buffering part is what I truly care about, and that's been hit or miss for the past few days. I'm wondering if the fact that my TiVo's on one level, and the router's on another...


----------



## alexnvrmnd

kearygriffin said:


> You can try to set the following parameter in streambaby.ini and restarting streambaby:
> 
> 
> Code:
> 
> 
> use.title=false
> 
> This tells streambaby to display the filenames instead of trying to read any available metadata to parse out the "title" of the video. This should speed things up (but I'm not sure how much).


Thanks a lot, Keary! I'll give this a try when I get home from work. Even if it's just a little bit faster, it's better than what it's been doing (though, it has been getting a LITTLE better lately).


----------



## superflysocal

superflysocal said:


> is there a way to have streambaby transcode just the audio, for example, in a mp4 with aac, trancode the 6 channel aac to 2 channel aac, so that I can hear the center channel? (without transcoding video)


is this possible or ever going to be possible? if not what is the easisest way to go from 6 channel mp4+aac to 2 channel mp4+aac?

edit: found this somewhere on internet as an argument for ffmpeg. Can someone make sense of this and where it would go and would it work:

-acodec libfaac -ac 2 -ar 48000 -ab 192k

if this argument can transcode aac 6 channel to 2 channel, how do i use this to force all mp4 to use this while disabling video transcode?


----------



## kearygriffin

superflysocal said:


> is this possible or ever going to be possible? if not what is the easisest way to go from 6 channel mp4+aac to 2 channel mp4+aac?
> 
> edit: found this somewhere on internet as an argument for ffmpeg. Can someone make sense of this and where it would go and would it work:
> 
> -acodec libfaac -ac 2 -ar 48000 -ab 192k
> 
> if this argument can transcode aac 6 channel to 2 channel, how do i use this to force all mp4 to use this while disabling video transcode?


Currently this is not technically possible to do on-the-fly (meaning can't be done within streambaby) due to the way MP4 files are formatted.

Streambaby can transcode the video & audio on-the-fly to MPEG2, by setting a quality other than "same".


----------



## rfryar

kearygriffin said:


> Currently this is not technically possible to do on-the-fly (meaning can't be done within streambaby) due to the way MP4 files are formatted.
> 
> Streambaby can transcode the video & audio on-the-fly to MPEG2, by setting a quality other than "same".


Perhaps you can start the MP4 generation process to initially create the MP4 file. If you need a real file for the atom you can pass parameters to FFMPEG to just generate a few seconds to create an interum MP4 file.

You can use that temporary file to get some of the ATOM data to kick off the stream? I am not sure what data is included in the ATOM, but I know with other format things like length and file size can be approximated from the initial input file.

Then once you have the ATOM pass the raw MP4 from FFMPEG to the TiVo? Possible? I also would love to be able to store my MP4s with full surround AAC instead of reducing the audio to stereo.

One other question.. Does Streambaby support multiple audio streams? Or the TiVo? If it can ignore secondary audio tracks perhaps I can have two audio tracks, the primary being stereo and the secondary track have the full surround data?

Thanks for the excellent work!

Rick


----------



## kearygriffin

rfryar said:


> One other question.. Does Streambaby support multiple audio streams? Or the TiVo? If it can ignore secondary audio tracks perhaps I can have two audio tracks, the primary being stereo and the secondary track have the full surround data?


If I remember correctly for MP4 files, the internal streambaby code strips out all but the first audio track (and video track for that matter). So as long as the audio stream you want the TiVo to play comes before the second audio track, this should work.

For MPEG-2 files the audio is passed directly to the TiVo and I have no idea how it chooses which audio track to use. (I really haven't played too much with this)

As far as the transcoding just the audio in MP4, I guess now that I am thinking about it more *might* be technically possible. In general the problem is the MP4 header has to contain an index that contains an exact position in the file where audio/video for each time period exists. For video this isn't possible ahead of time, because (I think, I'm getting in a little over my head here) even with CBR the exact size of each frame of video is not exactly predictable ahead of time.

For audio however (again, I'm not really familiar with how AC3/AAC encode audio) if CBR really means that the size of every "frame" of audio is *exactly* predictable, it would be theoretically possible to pregenerate the index in the MP4 header.

Having said that, it would be *alot* of work, and I'm don't think I'm really up for it... I'm more in the mode of hoping TiVo will at some point support h.264 in an mpeg-ts which doesn't require the index to be sent ahead of time. This would open up a whole range of possibilities.

Edit: It would probably also not be too much work to add some additional logic in the MP4 code to "prefer" an AC3 track over an AAC track if the MP4 file has both.


----------



## lupette

The conversation above is rather complicated for me so I hesitate to mention what you all probably already know . . .but just in case it's of use to anyone . . .there is a work around using YAMB. It's the only program that I know of that trans codes just the audio, so it's not so cpu intensive. I can only get it to work sometimes though, because I don't know how to extract the 2 channel stereo from the 6 channel, so if the 2 channel is not already available to me, I am lost. Anyone know how to do that?


----------



## superflysocal

lupette said:


> The conversation above is rather complicated for me so I hesitate to mention what you all probably already know . . .but just in case it's of use to anyone . . .there is a work around using YAMB. It's the only program that I know of that trans codes just the audio, so it's not so cpu intensive. I can only get it to work sometimes though, because I don't know how to extract the 2 channel stereo from the 6 channel, so if the 2 channel is not already available to me, I am lost. Anyone know how to do that?


i can never get yamb to work in demuxing. I drop in a file and it does nothing, doesn't even show the components of it. I have gotten my mp4box gui to work though.


----------



## lupette

Chris I can't help you and I really wish I could because now I am having the same problem (or a similar one). Sigh . . . I think it may have something to do with Bonjour service but not sure.


----------



## jcthorne

superflysocal said:


> is there a way to have streambaby transcode just the audio, for example, in a mp4 with aac, trancode the 6 channel aac to 2 channel aac, so that I can hear the center channel? (without transcoding video)


If you will build the mp4 file with 6 channel ac3 audio instead of aac or recode the audio to ac3 you can push/stream the 5.1 audio to the tivo.

Tivo supports full 5.1 audio in mp4 files if you use the ac3 codec. It only supports stereo audio on aac files because it cannot encode ac3 on the fly, only pcm stereo. The digital audio output of the tivo cannot output an aac stream so why send it?

If you are looking for an easy conversion from mkv to mp4 that only recodes the audio if necessary, do a search for orangeboy and get his batch file. Configured specificly for tivo.


----------



## superflysocal

jcthorne said:


> If you will build the mp4 file with 6 channel ac3 audio instead of aac or recode the audio to ac3 you can push/stream the 5.1 audio to the tivo.
> 
> Tivo supports full 5.1 audio in mp4 files if you use the ac3 codec. It only supports stereo audio on aac files because it cannot encode ac3 on the fly, only pcm stereo. The digital audio output of the tivo cannot output an aac stream so why send it?
> 
> If you are looking for an easy conversion from mkv to mp4 that only recodes the audio if necessary, do a search for orangeboy and get his batch file. Configured specificly for tivo.


problem is most internet files out there are either mp4 with multichannel aac or mkv with ac3. Yes, I can turn mp4+aac to mp4+ac3, but nothing else (ie Popcorn Hour )plays mp4+ac3 except tivo and computer which means I would have 2 versions of the movie stored instead of one central storage. I even tried making a mp4 with 2 channel aac and it didn't work. I demuxed with My Mp4box GUI (Yamb wouldn't work for me), convert 6aac to 2 channel aac with mediacoder then remuxed with Yamb or My mp4box GUI. When i play the file, i just get a black screen with streambaby. If I can get this to work, I can then do 2 channel aac in first audio stream and multichannel aac in second audio stream.

I will look at orangeboy batch also.


----------



## rfryar

superflysocal said:


> I even tried making a mp4 with 2 channel aac and it didn't work. I demuxed with My Mp4box GUI (Yamb wouldn't work for me), convert 6aac to 2 channel aac with mediacoder then remuxed with Yamb or My mp4box GUI.


I convert 6 Channel AAC audio down to stereo using the MeGUI package on windows.

I think it uses faac under the covers but works great. It also has a front end for MP4Box to do the remuxing (It does not demux through the GUI). Just remember to select ISMA mode on the mux.

If you still have issues with the black screen, make sure the audio bitrate and frequency are set correctly.


----------



## jcthorne

rfryar said:


> I convert 6 Channel AAC audio down to stereo using the MeGUI package on windows.
> 
> I think it uses faac under the covers but works great. It also has a front end for MP4Box to do the remuxing (It does not demux through the GUI). Just remember to select ISMA mode on the mux.
> 
> If you still have issues with the black screen, make sure the audio bitrate and frequency are set correctly.


MeGui will demux via the GUI. Click tools, HD Stream Extractor.


----------



## jcthorne

superflysocal said:


> problem is most internet files out there are either mp4 with multichannel aac or mkv with ac3. Yes, I can turn mp4+aac to mp4+ac3, but nothing else (ie Popcorn Hour )plays mp4+ac3 except tivo and computer which means I would have 2 versions of the movie stored instead of one central storage. I even tried making a mp4 with 2 channel aac and it didn't work. I demuxed with My Mp4box GUI (Yamb wouldn't work for me), convert 6aac to 2 channel aac with mediacoder then remuxed with Yamb or My mp4box GUI. When i play the file, i just get a black screen with streambaby. If I can get this to work, I can then do 2 channel aac in first audio stream and multichannel aac in second audio stream.
> 
> I will look at orangeboy batch also.


MKV with AC3 is an easy convet to mp4 with ac3, see the batch file I referred to previously.

I am curious what popcorn hour (or any CE device player) does with an AAC 6 channel track? SPDIF digital audio output does not support AAC encoding so how does it output the audio? Does it convert to AC3 6 channel on the fly? had not seen a hardware based CE device that does that level of conversion on the fly yet. Perhaps there is a software update for your popcorn hour player to support the full mp4 spec which includes ac3 audio?
Mux and mp4 with AC3 6 channel as the first audio trac and 2 channel AAC as the second? MeGUI can do that.


----------



## rfryar

jcthorne said:


> MeGui will demux via the GUI. Click tools, HD Stream Extractor.


Thanks, I only ever used that to demux Blu Rays and not MP4s directly.

Rick


----------



## superflysocal

jcthorne said:


> MKV with AC3 is an easy convet to mp4 with ac3, see the batch file I referred to previously.
> 
> I am curious what popcorn hour (or any CE device player) does with an AAC 6 channel track? SPDIF digital audio output does not support AAC encoding so how does it output the audio? Does it convert to AC3 6 channel on the fly? had not seen a hardware based CE device that does that level of conversion on the fly yet. Perhaps there is a software update for your popcorn hour player to support the full mp4 spec which includes ac3 audio?
> Mux and mp4 with AC3 6 channel as the first audio trac and 2 channel AAC as the second? MeGUI can do that.


popcorn passes aac as either bitstream to the receiver or pcm. If bitstream, most receiver does not decode aac. If pcm then it becomes 2 channel which then leaves the receiver convert that 2 channel to multichannel, which is not bad if you have a decent receiver but not ideal.


----------



## ksalwitz

Hi gang,
Great product love the way it works. I do have an issue that I'm trying to resolve. I am trying to run StreamBaby on PC "A" (win 7 home premium) and point to directories on PC "B" (same os). I can't get any of the files/directories except the highest level directory to show up on my Tivo with this set up. INI file is as follows:

#
# ./streambaby --help for more configuration file options
#

dir.1=\\Office-pc\E:\tv\BBT
dir.1.name=My TV Shows
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.100
# port to use
#port=7290

Keep in mind that this DOES work if I run StreamBaby on PC "B" and point to the same directory locally. It does not appear to be a permissions issue as I can copy files from PC to PC (both directions) to the same directories. I prefer to run the StreamBaby on PC "A" as I'm using it to do all of the "Traffic Cop" duties for my Tivo's. One additional note: PC "A" is 32Bit PC "B" is 64Bit.

Thanks
Ken


----------



## Frankoz2

Hi All,

I've loved using Steambaby over the last 6-12 months. I know that Oz Tivo have done something with a software update that has scuttled Streambaby, and I know there are many disgruntled users out there.

Kearygriffin, thanks for your efforts mate; but please put me out of my misery. If a fix can't be made to Tivo in Australia, please let us know so that we can move on.

I know a number have offered their help and I reiterate that offer now (to the extent that I can). Just let us know if it is a lost cause!

rgds


----------



## rfryar

ksalwitz said:


> dir.1=\\Office-pc\E:\tv\BBT
> dir.1.name=My TV Shows


Since streambaby usually runs as a system user it may not have access to this share. Also shouldn't it be \\Office-pc\e$\tv\BBT?

What I have done on my PC is to set up a drive letter to the network share. This seemed to work when I accessed remote media on my Windows PCs.

Hope that helps,

Rick


----------



## cburbs

ksalwitz

Try it like this -

dir.1=\\Office-pc\E\tv\BBT
dir.1.name=My TV Shows


----------



## alexnvrmnd

ksalwitz said:


> Hi gang,
> Great product love the way it works. I do have an issue that I'm trying to resolve. I am trying to run StreamBaby on PC "A" (win 7 home premium) and point to directories on PC "B" (same os). I can't get any of the files/directories except the highest level directory to show up on my Tivo with this set up. INI file is as follows:
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=\\Office-pc\E:\tv\BBT
> dir.1.name=My TV Shows
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> ip=192.168.1.100
> # port to use
> #port=7290
> 
> Keep in mind that this DOES work if I run StreamBaby on PC "B" and point to the same directory locally. It does not appear to be a permissions issue as I can copy files from PC to PC (both directions) to the same directories. I prefer to run the StreamBaby on PC "A" as I'm using it to do all of the "Traffic Cop" duties for my Tivo's. One additional note: PC "A" is 32Bit PC "B" is 64Bit.
> 
> Thanks
> Ken


What I would do is map a drive on PC A to the "TV" directory on PC B. Make it your E drive. Then, have your script like this:

*dir.1=E:\BBT
dir.1.name=My TV Shows*

I do this with my setup because I have a NAS server, and I've created a share on my laptop to the directory that houses most of my media. Made it my E drive, as well, and here's part of the script I used:

*dir.1=E:\My Videos
dir.1.name=All My Videos*

Give this a try. And make sure the permissions for that directory on PC B is set so "Everyone" can access it.


----------



## kearygriffin

Frankoz2 said:


> Hi All,
> 
> I've loved using Steambaby over the last 6-12 months. I know that Oz Tivo have done something with a software update that has scuttled Streambaby, and I know there are many disgruntled users out there.
> 
> Kearygriffin, thanks for your efforts mate; but please put me out of my misery. If a fix can't be made to Tivo in Australia, please let us know so that we can move on.
> 
> I know a number have offered their help and I reiterate that offer now (to the extent that I can). Just let us know if it is a lost cause!
> 
> rgds


I think the bottom line is that currently no one knows:
1) If the Oz TiVo Box even supports any kind of streaming (it is used on the US box for YouTube, which is not available on the aussie boxes) Netflix uses a completely different mechanism than YouTube/streambaby and I don't expect it to be a viable alternative to the YouTube method.
2) Even if it does still support streaming, how to figure out how to make it work (again, on the US boxes the TiVo YouTube service was originally reverse engineered to figure it out)

So at least for the time being I think we are stuck without some information from TiVo (which is not a realistic expectation) or some intrepid Aussie hacker can somehow come up with some more information (and I'm not even sure how anyone would go about doing this...)


----------



## ksalwitz

alexnvrmnd said:


> What I would do is map a drive on PC A to the "TV" directory on PC B. Make it your E drive. Then, have your script like this:
> 
> *dir.1=E:\BBT
> dir.1.name=My TV Shows*
> 
> I do this with my setup because I have a NAS server, and I've created a share on my laptop to the directory that houses most of my media. Made it my E drive, as well, and here's part of the script I used:
> 
> *dir.1=E:\My Videos
> dir.1.name=All My Videos*
> 
> Give this a try. And make sure the permissions for that directory on PC B is set so "Everyone" can access it.


This worked perfect. I swear I tried this and it didn't work, but I'm sure it was a "user error"  the first time. Thanks for everyone's replies.

Cheers,
Ken


----------



## alexnvrmnd

ksalwitz said:


> This worked perfect. I swear I tried this and it didn't work, but I'm sure it was a "user error"  the first time. Thanks for everyone's replies.
> 
> Cheers,
> Ken


Cool! I'm glad it worked for you!! Now, maybe someone can help me find the reason why I keep getting "Error 0xffff" or something similar error messages. It doesn't happen every single time, but it's getting a little too frequent lately for my tastes.

I resolve it by restarting the TiVo and Streambaby, but I don't want to have to do that all the time. Streambaby is quick to restart, but the TiVo is a nuisance. When it happens to one file, it happens from that point forward. That's when I have to restart things.

But, why does this keep happening? That's the million dollar question.  They're normal AVI files, also.

Windows 7 32-bit
Wireless-g
TiVo HD


----------



## rfryar

alexnvrmnd said:


> Cool! I'm glad it worked for you!! Now, maybe someone can help me find the reason why I keep getting "Error 0xffff" or something similar error messages. It doesn't happen every single time, but it's getting a little too frequent lately for my tastes.


I am not sure why they keep happening but I see them occasionally as well. At least on my server I have noticed that the FFMPEG process is not always shutting down cleanly. So if I get the 0xfffff error and trying again does not work (This seems to work a lot as well), then I can go to my server and kill the FFMPEG process and it will work.

I wish I knew what caused the hanging process to begin with but at least this work around works for me.

Now another 0xffffff error that comes up is after watching a large bitrate blur ray conversion. This means that Streambaby is rebuffering 5-10 times in a movie. Occassionally it will fail to restream and give that error. In this case it is the TiVo's webserver crashing and it has to be restarted. moyekj's kmttg tool has an option to force the webserver to recycle and it seems to take care of this other issue.

Hope these tips help you track it down.

Rick


----------



## kearygriffin

rfryar said:


> Now another 0xffffff error that comes up is after watching a large bitrate blur ray conversion. This means that Streambaby is rebuffering 5-10 times in a movie. Occassionally it will fail to restream and give that error. In this case it is the TiVo's webserver crashing and it has to be restarted. moyekj's kmttg tool has an option to force the webserver to recycle and it seems to take care of this other issue.
> 
> Hope these tips help you track it down.


The 0xffff problem has been around with streambaby since the beginning and I've never been able to track down exactly what causes it. It seems to be some kind of timeout related issue with the TiVo because either a reboot of the TiVo or just waiting some amount of time (usually seems to be 20-30 minutes for me) makes it go away.

It's been a while since I have had the issue myself, but I was wondering if anyone had any information on the following:

1. Is it only a problem with one of the two video formats streambaby uses (mpeg2/mp4) or does it happen with both? (I consider anything that is transcoded to mpeg2 to be mpeg2, as I don't think it is an issue with the transcoding process on the streambaby...)
2. Does the kmttg "web server" reset always fix the problem, or only sometimes? (For some reason I seem to recall moyekj saying it only fixed it on some occasions)
3. Does anyone know of an easy way to reproduce the issue?

Thanks


----------



## Hyrax

I've a question for which I've searched this thread and still do not have an answer. I've recorded HD shows on my Tivo and moved them to my PC to make room for more shows on my Tivo. I've compressed these shows (commercials and all)to about 1/3 of their size while converting them to MP4 format. I know I can stream them, but wonder if it is possible to copy a block of these MP4 files to the Tivo? For example, if I decide I want to watch a couple of the MP4 episodes of Dollouse, can I copy them to the Tivo in the afternoon and watch them later? I tried to read up on "Pushing", but could not figure out how to use it - or if it did what I wanted.

Thanks


----------



## kearygriffin

Hyrax said:


> I've a question for which I've searched this thread and still do not have an answer. I've recorded HD shows on my Tivo and moved them to my PC to make room for more shows on my Tivo. I've compressed these shows (commercials and all)to about 1/3 of their size while converting them to MP4 format. I know I can stream them, but wonder if it is possible to copy a block of these MP4 files to the Tivo? For example, if I decide I want to watch a couple of the MP4 episodes of Dollouse, can I copy them to the Tivo in the afternoon and watch them later? I tried to read up on "Pushing", but could not figure out how to use it - or if it did what I wanted.
> 
> Thanks


I think "Push" is indeed what you are looking for. I just added a Wiki section to the streambaby site that has instructions on how to activate "push" for streambaby. (Basically involves adding two entries to the streambaby.ini):
http://code.google.com/p/streambaby/wiki/PushConfiguration


----------



## Hyrax

Thanks! 
Streambaby is wonderful, btw. It adds a capability that is one of the best reasons to own a Tivo instead of the other DVRs.


----------



## Hyrax

I've a feature request. Toss it in the wastebasket if you've better things to do. Your program is already great, so this isn't necessary.

Is there anyway to Push files into user defined folders? I'd like to end up with something simple like movies going into a "Movies" folder, football going into "Sports" folder, or something along those lines. It would seem necessary for us (users) to create a file with meta data in it, so if I've a file called "Football.mp4" - I would need to create a file called "Football.meta".

Thanks


----------



## tnltracy

looking to stream from my home network storage device


----------



## kearygriffin

Hyrax said:


> I've a feature request. Toss it in the wastebasket if you've better things to do. Your program is already great, so this isn't necessary.
> 
> Is there anyway to Push files into user defined folders? I'd like to end up with something simple like movies going into a "Movies" folder, football going into "Sports" folder, or something along those lines. It would seem necessary for us (users) to create a file with meta data in it, so if I've a file called "Football.mp4" - I would need to create a file called "Football.meta".
> 
> Thanks


Streambaby supports "pyTivo" format metadata, and does support using folders for "Push" based on the metadata. Although the pyTivo metadata format supports quite a few parameters which streambaby supports, if you simply want a basic one to force the push to go into a specific folder, for a movie named "mymovie.mp4" create a text file in the same directory called:
mymovie.mp4.txt
and in that file


Code:


title: Name of folder
seriesTitle: Name of folder
episodeTitle: Name of movie
isEpisode: true

The above is typically used by the TiVo to identify "series", so a typical .txt file may look like:


Code:


title: The X-Files
seriesTitle: The X-Files
episodeTitle: Dreamland
isEpisode: true

The above is mostly from memory and a little bit from looking at the code, so if anyone thinks this is not quite right please feel free to correct me.

You can probably search for "pytivo metadata" to find more information, and also probably "pytivo push folders" as pyTivo and streambaby are relatively similar as far as how pushed shows end up in folders. (Although it may be the case that pyTivo supports the seriesId metadata tag to cause folders to be created whereas I don't think streambaby does)

I also wish I could tell you exactly the difference between title and seriesTitle but I can't really remember when each is used (both in streambaby and on the TiVo).

Hope this helps a little bit.


----------



## orangeboy

kearygriffin said:


> Streambaby supports "pyTivo" format metadata, and does support using folders for "Push" based on the metadata. Although the pyTivo metadata format supports quite a few parameters which streambaby supports, if you simply want a basic one to force the push to go into a specific folder, for a movie named "mymovie.mp4" create a text file in the same directory called:
> mymovie.mp4.txt
> and in that file
> 
> 
> Code:
> 
> 
> title: Name of folder
> seriesTitle: Name of folder
> episodeTitle: Name of movie
> isEpisode: true
> 
> The above is typically used by the TiVo to identify "series", so a typical .txt file may look like:
> 
> 
> Code:
> 
> 
> title: The X-Files
> seriesTitle: The X-Files
> episodeTitle: Dreamland
> isEpisode: true
> 
> The above is mostly from memory and a little bit from looking at the code, so if anyone thinks this is not quite right please feel free to correct me.
> 
> You can probably search for "pytivo metadata" to find more information, and also probably "pytivo push folders" as pyTivo and streambaby are relatively similar as far as how pushed shows end up in folders. (Although it may be the case that pyTivo supports the seriesId metadata tag to cause folders to be created whereas I don't think streambaby does)
> 
> I also wish I could tell you exactly the difference between title and seriesTitle but I can't really remember when each is used (both in streambaby and on the TiVo).
> 
> Hope this helps a little bit.


I think another keyword to be aware of is seriesID. I used an arbitrary number to create my own "series". Any file I want to go into the TiVo folder for my "series" uses that same seriesID number.



Code:


title: Name of folder
seriesTitle: Name of folder
episodeTitle: Name of movie
isEpisode: true
seriesID: 12345678


----------



## Hyrax

Thank you, Keary. I"ll look up pyTivo metadata, but this sounds like exactly what I need.


----------



## alexnvrmnd

tnltracy said:


> looking to stream from my home network storage device


You're looking to do the same thing that I'm doing right now, wanting to stream media files from your NAS server. It's pretty simple. In the .ini file, just point to those directories on the server. I would at first recommend creating a share on the PC you're running Streambaby off of to the directory or directories that house your files. Make it the E or F drive. Then, point it to that directory that houses your files.


----------



## superflysocal

rfryar said:


> I convert 6 Channel AAC audio down to stereo using the MeGUI package on windows.
> 
> I think it uses faac under the covers but works great. It also has a front end for MP4Box to do the remuxing (It does not demux through the GUI). Just remember to select ISMA mode on the mux.
> 
> If you still have issues with the black screen, make sure the audio bitrate and frequency are set correctly.


so what audio bitrate and frequency should i set it at?

Also what is the best programto use to go from mp4+aac to mp4+ac3, or even better to mp4 with 2 audio stream, one ac3, and another aac


----------



## rfryar

superflysocal said:


> so what audio bitrate and frequency should i set it at?
> 
> Also what is the best programto use to go from mp4+aac to mp4+ac3, or even better to mp4 with 2 audio stream, one ac3, and another aac


See the wiki for the audio bitrates that the TiVo supports.

http://code.google.com/p/streambaby/wiki/video_compatibility

As for programs.. I use a GUI called MeGui which is a bundle of a lot of different tools. With that tool you can easily set up audio profiles to convert to AC3 multichannel audio as well as mux multiple audio streams into a MP4.

As Keary noted, Streambaby only streams the first audio channel so make that channel TiVo compatible.

Rick


----------



## emil10001

I've been searching to try to fix this for the last couple of days, but I haven't had any luck. I'm running Arch Linux x86_64, with Sun's jre 6 and I get the following error:



Code:


$ ./streambaby
Initializing StreamBaby svn-r262...
java.net.UnknownHostException: myhost: myhost
        at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
        at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
        at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
        at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: myhost: myhost
usage: Main [--port <port>] [--ip <ip>] class

I have tried this with a couple different versions of java, as well as an streambaby 0.27 and I keep getting the same error. I was able to get this to work on a nearly identical previous install, though something must be slightly different on this one.

When I googled it, all it came up with were people saying that the following option may be the cause of the problems (from the streambaby script):



Code:


-Djava.net.preferIPv4Stack=true

Though, even when I try to remove that option, I still get the same results. I didn't find anyone else getting this error in relation to streambaby when I sarched, so I'm kind of at a loss for what to do.


----------



## kearygriffin

emil10001 said:


> I've been searching to try to fix this for the last couple of days, but I haven't had any luck. I'm running Arch Linux x86_64, with Sun's jre 6 and I get the following error:
> 
> 
> 
> Code:
> 
> 
> $ ./streambaby
> Initializing StreamBaby svn-r262...
> java.net.UnknownHostException: myhost: myhost
> at java.net.InetAddress.getLocalHost(InetAddress.java:1353)


I think this problem is going to be related to the hostname of the linux box not being able to be resolved. So your /etc/hostname file (and the command 'hostname') looks like it is returning "myhost", but when Java is trying to resolve "myhost" into an IP address it is failing. (You will probably have the same results at the command line without java. Type "hostname" to see what your linux boxes hostname is, and then trying to "ping" that hostname. My guess is that it will fail)

The hostname on my linux box is "ubuntu-laptop", so I have the following line in my /etc/hosts file so linux can resolve it:


Code:


192.168.1.37	ubuntu-laptop

I would look at your other installations that worked and check the hostname and /etc/hosts file to see how you had it setup previously.


----------



## emil10001

Thank you! That took care of it. This is probably one of the most useful apps that I have, so I'm glad to get it back up and running.


----------



## jctivo

I just wanted to say Thanks.

I have been using Streambaby for streaming movies from a desktop computer hard drive, connected external drive and network drive. Works great. 

I really appreciate it.


----------



## Allanon

Is there a way to sort video files by episode number, original air date, or file date? I have a series of about 40 videos from 2 seasons and they all have .txt metadata files associated with them. I would like to watch them in order so is there a way to sort them so they will be in the correct episode order without having to rename the files?


----------



## Hyrax

superflysocal said:


> so what audio bitrate and frequency should i set it at?
> 
> Also what is the best program to use to go from mp4+aac to mp4+ac3, or even better to mp4 with 2 audio stream, one ac3, and another aac


I've found that mp4 containers with AC3 audio are not universally played by all devices. For example, my PS3 will not play them (I get video with no sound). I also get audio dropouts on my Tivo when I try to play them (streamed or pushed). The audio dropouts may be a problem with my receiver or something else on my end, but it is much safer to use 2 channel aac encoded audio. You may want to play the files on something else other than the Tivo at some point. There are some shows where you may think you need 6 channel sound, but try to keep the bit-rate low.

The following has audio dropouts on my Tivo, and is silent on my PS3:



Code:


[FONT="Courier New"][SIZE="3"]Format                           : MPEG-4
Format profile                   : Base Media
Codec ID                         : isom
File size                        : 2.28 GiB
Duration                         : 1h 0mn
Overall bit rate                 : 5 444 Kbps
Writing application              : Lavf52.31.0
...
Audio
ID                               : 2
Format                           : AC-3
Format/Info                      : Audio Coding 3
Codec ID                         : ac-3
Duration                         : 1h 0mn
Bit rate mode                    : Constant
Bit rate                         : 384 Kbps
Channel(s)                       : 6 channels
Channel positions                : Front: L C R, Surround: L R, LFE
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 165 MiB (7&#37;)
[/SIZE][/FONT]

Here's the info on the same file that does play well on both devices:


Code:


[FONT="Courier New"][SIZE="3"]
Format                           : MPEG-4
Format profile                   : Base Media
Codec ID                         : isom
File size                        : 2.59 GiB
Duration                         : 1h 0mn
Overall bit rate                 : 6 179 Kbps

...
Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : No
Codec ID                         : 40
Duration                         : 1h 0mn
Bit rate mode                    : Variable
Bit rate                         : 128 Kbps
Maximum bit rate                 : 136 Kbps
Channel(s)                       : 2 channels
Channel positions                : L R
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 55.1 MiB (2%)

[/SIZE][/FONT]

As for the best program, there are many choices. It sort of depends on how many options you want. You might want to try kmttg and select one of the encoding options. I edited the PS3 based options for a higher bitrate (5k instead of 2k) and they seem to play fine on my Tivo, PC, and PS3. kmttg is good for setting up lots of files to encode and then letting it run over night. What I use the most often, however, is RipBot. It gives me more control, but is slower (no fast and easy way to give it a list of files and tell it to process them all). The aforementioned MeGui is another good choice; it gives you lots of control, but you have to know more about encoding to take full advantage of it. 
_Edit: I believe Nero Encode will also produce an MP4 file that may work on the Tivo, but I've never tried it._


----------



## Hyrax

Allanon said:


> Is there a way to sort video files by episode number, original air date, or file date? I have a series of about 40 videos from 2 seasons and they all have .txt metadata files associated with them. I would like to watch them in order so is there a way to sort them so they will be in the correct episode order without having to rename the files?


I don't think you can. Even though Tivo knows this on the the recordings it makes, it doesn't offer it as an option. I rename the shows so they sort properly.


----------



## NJ Webel

Allanon said:


> Is there a way to sort video files by episode number, original air date, or file date? I have a series of about 40 videos from 2 seasons and they all have .txt metadata files associated with them. I would like to watch them in order so is there a way to sort them so they will be in the correct episode order without having to rename the files?


I title my server files so they are in order, and my metadata lists the episode number immediately before the episode title. For instance, if I were to have 2 episodes of Star Trek: DS9, the name of the file itself would be:

DS9.S04.EP09.mpg and
DS9.S04.EP10.mpg, where "DS9" is the series title, "Sxx" represents the season, and "EPxx" is the episode number. Both of those files would be in a secondary sub-folder labeled "Season 04" within a sub-folder labeled "DS9" within a main folder labeled "Star Trek". (That way, when I put the next gen on there at a later time, I select the Star Trek folder and select either the next gen folder or DS9 folder, etc.)

In the metadata for DS9.S04.EP09.mpg, the Title would be: "Ep 09: The Sword of Kahless". This is critical as it lists via this title if metadata is present. The series title would be: "Star Trek: Deep Space Nine" and the episode title would be: "The Sword of Kahless" (the rest of the metadata is as normal).

Likewise, for episode DS9.S04.EP10.mpg:

Title: Ep 10: Our Man Bashir
SeriesTitle: Star Trek: Deep Space Nine
EpisodeTitle: Our Man Bashir
etc.

On the TiVo in the Season 04 folder, it will then have a listing on my screen that looks like:



> Ep 09: The Sword of Kahless
> Ep 10: Our Man Bashir
> etc.


Works great for me.


----------



## Hyrax

NJ Webel said:


> Both of those files would be in a secondary sub-folder labeled "Season 04" within a sub-folder labeled "DS9" within a main folder labeled "Star Trek". (That way, when I put the next gen on there at a later time, I select the Star Trek folder and select either the next gen folder or DS9 folder, etc.)
> 
> In the metadata for DS9.S04.EP09.mpg, the Title would be: "Ep 09: The Sword of Kahless". This is critical as it lists via this title if metadata is present. The series title would be: "Star Trek: Deep Space Nine" and the episode title would be: "The Sword of Kahless" (the rest of the metadata is as normal).


I'm having trouble creating folders and subfolders. What do you have in your metadata that tells Tivo to put the files in the subfolder Season 04 of the subfolder DS9 of the folder Star Trek? 
Thanks


----------



## NJ Webel

Hyrax said:


> I'm having trouble creating folders and subfolders. What do you have in your metadata that tells Tivo to put the files in the subfolder Season 04 of the subfolder DS9 of the folder Star Trek?
> Thanks


The folders are created just like any computer folder is, it's just a file location for your videos. In other words, when you set up Streambaby (and pyTivo) to "see" your videos folder, any folder you create or place into that video folder will also be "seen" by the application. The metadata does not specify file location, you physically place the video contents into a created folder.


----------



## Hyrax

Thanks. I misunderstood. I thought you were pushing the files onto the Tivo.


----------



## Yog

Does streambaby (or probably more accurately, Tivo) support files containing subtitle streams when streaming a file, or pushing a file to the Tivo?

For instance, if I encoded an mp4 file with h.264 video and ac3 sound, could I also have a subtitle stream, and would the Tivo display it?


----------



## MitchelleSander

Thanks for this thread!


----------



## rfryar

Yog said:


> Does streambaby (or probably more accurately, Tivo) support files containing subtitle streams when streaming a file, or pushing a file to the Tivo?
> 
> For instance, if I encoded an mp4 file with h.264 video and ac3 sound, could I also have a subtitle stream, and would the Tivo display it?


It appears that Streambaby strips the embedded subtitle file off of any MP4s (I do not know if the TiVo would support them anyways).

But you can have a .srt file in the same directory as your MP4 file and use the "Aspect" remote button to toggle the subtitles on and off.

So if you movie is

SomeMovie.mp4

The SRT file would be named

SomeMovie.srt

Good luck,

Rick


----------



## Yog

rfryar said:


> It appears that Streambaby strips the embedded subtitle file off of any MP4s (I do not know if the TiVo would support them anyways).
> 
> But you can have a .srt file in the same directory as your MP4 file and use the "Aspect" remote button to toggle the subtitles on and off.
> 
> So if you movie is
> 
> SomeMovie.mp4
> 
> The SRT file would be named
> 
> SomeMovie.srt


Hrm. I wonder if this is also true if you use streambaby to "push" the file to the Tivo?

Also, if the file is transcoded to a format which doesn't require transcoding, and it's streamed to the tivo "directly", I wonder if the tivo will even pay attention to any embedded subtitle stream?

I'll have to give the srt method a try. I didn't know about it. Didn't see it documented. I managed to use mkvextract to pull the subtitles out of the original mkv into an SRT file. Hopefully that will work!

Will give it a try.


----------



## moyekj

Yog said:


> Hrm. I wonder if this is also true if you use streambaby to "push" the file to the Tivo?
> 
> Also, if the file is transcoded to a format which doesn't require transcoding, and it's streamed to the tivo "directly", I wonder if the tivo will even pay attention to any embedded subtitle stream?
> 
> I'll have to give the srt method a try. I didn't know about it. Didn't see it documented. I managed to use mkvextract to pull the subtitles out of the original mkv into an SRT file. Hopefully that will work!
> 
> Will give it a try.


 It's not the TiVo that is displaying the captions. streambaby reads the srt file and adds the captions as an overlay to the video as it streams. Hence that is also why if you want to control font size & positioning you do so from streambaby config.
Hence it only works if you are using the "stream" function. For "push" you are simply sending the file to the TiVo and I don't believe TiVo supports captions for non-mpeg2 files.


----------



## Yog

moyekj said:


> It's not the TiVo that is displaying the captions. streambaby reads the srt file and adds the captions as an overlay to the video as it streams. Hence that is also why if you want to control font size & positioning you do so from streambaby config.
> Hence it only works if you are using the "stream" function. For "push" you are simply sending the file to the TiVo and I don't believe TiVo supports captions for non-mpeg2 files.


Ah OK. I tried this and it worked fine with my mp4 file. So this seems a viable solution. I wasn't sure how it worked, whether the Tivo itself was reading the srt file in a separate stream, or whether SB was feeding it to the tivo in some manner (I guess the latter). Fine points I guess, since either way it's a functionality that is (thankfully) built into the Tivo that SB is taking advantage of.

I was hoping that the Tivo would do the captions if it had the file on disk and didn't have to rely on the streaming protocol. But I guess no dice unless it's an MPEG 2 program stream? So the choices are huuge mpeg2 files with captions, or to use the srt method and stream. Kind of lame, since while streaming works, it makes seeking through movies and so forth a bit "clumsy". Of course, "pushing" is equally painful, since it takes forever, especially with huge mpeg2 files (the movie in question expanded from 7 to 9GB on conversion from h.264 -> mpeg2, and what seemed about an hour, maybe longer, to push).

More and more I'm thinking of getting something like a Popcorn hour or some other media tank, or HTPC, since my Xbox 360 has its own problems with this sort of thing, and the Tivo, while doing better, obviously has its own issues. It'd be nice if I could have something that would just "play the damn file" with all the features it'd have on a PC. 

EDIT: I constructed an mp4 file with added captions by using ffmeg to transcode the video and audio (h.264 + DTS, so the video didn't really need it but audio did) to mp4/h.264/ac3 5.1, then used mkvextract to pull the captions out of the mkv as an srt file, then used mp4box to add the captions back to the mp4 file, and pushed it to the tivo using SB. At first, I was excited, since the CC option on the tivo display bar was "lit" and I could flip it to on, but alas, the captions didn't display. :sigh:


----------



## moyekj

Yeah I came to conclusion a while ago that TiVo (at least current incarnation) doesn't really make for a good general purpose media player due to limited codec support and slow networking speeds as well as some of the remaining limitations of streaming (especially the 1.1 GB buffer limit). I don't really use streambaby or even pyTivo much at all anymore. I've spent much more time tinkering/exploring than actually using the tools. A networked Blu Ray player with Netflix streaming & DLNA support is starting to look a lot more attractive but the price points are still a little too high for my taste.


----------



## txporter

@Yog: Not sure if you are transcoding your own files or not. In my case, my wife and I always have the captions on, so I just hardcode the subs/captions. Is that something that would work for you?


----------



## kearygriffin

Yog said:


> EDIT: I constructed an mp4 file with added captions by using ffmeg to transcode the video and audio (h.264 + DTS, so the video didn't really need it but audio did) to mp4/h.264/ac3 5.1, then used mkvextract to pull the captions out of the mkv as an srt file, then used mp4box to add the captions back to the mp4 file, and pushed it to the tivo using SB. At first, I was excited, since the CC option on the tivo display bar was "lit" and I could flip it to on, but alas, the captions didn't display. :sigh:


I'd be curious if the subtitles worked when pushed with pyTivo instead of Streambaby.  I think streambaby probably does a bunch of manipulations on the mp4 even when pushing vs streaming that pyTivo won't do.

I have been thinking about adding some more subtitle capabilities to streambaby to:
1) Support more formats
2) Support embedded subtitles from an MP4 container

Not sure when I'll get to it however.


----------



## Yog

kearygriffin said:


> I'd be curious if the subtitles worked when pushed with pyTivo instead of Streambaby. I think streambaby probably does a bunch of manipulations on the mp4 even when pushing vs streaming that pyTivo won't do.
> 
> I have been thinking about adding some more subtitle capabilities to streambaby to:
> 1) Support more formats
> 2) Support embedded subtitles from an MP4 container
> 
> Not sure when I'll get to it however.


I don't have pyTivo installed, since streambaby looked like it did everything I wanted and it worked well for me. I could give it a try.

If SB does anything to the mp4s, it's not very CPU intensive, since it just seemed to push it with near idle CPU. What sort of things do you do? Manipulate the container and streams to be more palatable to the Tivo or something? Honestly, I'm not even sure what else is out there, since I'm pretty new to the series 3/HD.

I deleted the file I created with the added subbies. But it wouldn't be difficult to create it again and try it with pyTivo. I think I'd also have to install Python on the XP box I do all this on though. I doubt it could use Cygwin Python.

Meanwhile, I've managed to successfully find a way to repackage MKVs into mp4s without needing to transcode. Well actually I had to transcode the audio from DTS to AC3, since AFAIK Tivo doesn't do DTS natively. ffmpeg was only used to transcode the DTS audio to AC3 while extracting that stream into a file, which was then repackaged with the extracted video with mp4box into an mp4 file. _Way_ faster on my relatively slow hardware (I really need to build a core i7 box or something). This streamed nicely with SB to the tivo without transcoding.


----------



## superflysocal

Hyrax said:


> I've found that mp4 containers with AC3 audio are not universally played by all devices. For example, my PS3 will not play them (I get video with no sound). I also get audio dropouts on my Tivo when I try to play them (streamed or pushed). The audio dropouts may be a problem with my receiver or something else on my end, but it is much safer to use 2 channel aac encoded audio. You may want to play the files on something else other than the Tivo at some point. There are some shows where you may think you need 6 channel sound, but try to keep the bit-rate low.
> 
> As for the best program, there are many choices. It sort of depends on how many options you want. You might want to try kmttg and select one of the encoding options. I edited the PS3 based options for a higher bitrate (5k instead of 2k) and they seem to play fine on my Tivo, PC, and PS3. kmttg is good for setting up lots of files to encode and then letting it run over night. What I use the most often, however, is RipBot. It gives me more control, but is slower (no fast and easy way to give it a list of files and tell it to process them all). The aforementioned MeGui is another good choice; it gives you lots of control, but you have to know more about encoding to take full advantage of it.
> _Edit: I believe Nero Encode will also produce an MP4 file that may work on the Tivo, but I've never tried it._


So can megui be used as a one step process or do i have to demux the movie first, then convert 6 ch aac to 2 channel aac and remux? Is there anything that will automate this?

Can I use kktmg for files other than .tivo files to convert mp4 with 6 channel aac to 2 channel aac w/o transcoding video?

I would love a program or script that will take a mp4 with 6 ch aac and convert it to mp4 with 2 ch aac w/o transcoding video.


----------



## Yog

superflysocal said:


> So can megui be used as a one step process or do i have to demux the movie first, then convert 6 ch aac to 2 channel aac and remux? Is there anything that will automate this?
> 
> Can I use kktmg for files other than .tivo files to convert mp4 with 6 channel aac to 2 channel aac w/o transcoding video?
> 
> I would love a program or script that will take a mp4 with 6 ch aac and convert it to mp4 with 2 ch aac w/o transcoding video.


I'm not sure about the others you mention, but there's a program for Xbox360 users called XenonMKV which takes MKVs with multi chan audio can converts them to mp4s with stereo AAC so they play on the 360. It does this by transcoding only the audio and repackaging it. This would obviously work for the Tivo too.

For the Tivo, I've just been doing this "by hand" using ffmpeg, mkvextract, and mp4box. The procedure I recently used for doing MKV,h.264,DTS -> MP4,h.264,AC3 was:


ffmpeg -y -vn -i movie.mkv -acodec ac3 -ab 256k movie.ac3 (extract and transcode the DTS audio to AC3 ... I used 256k for bitrate since it was roughly DTS_bitrate/6)
mkvextract.exe tracks movie.mkv 1:movie.h264 (extract video from mkv, which was in track/stream #1, which it almost always is. If it isn't, substitute the proper track # for "1:".)
MP4Box.exe -add movie.h264 -add movie.ac3 -fps 23.976 movie.mp4 (combine the extracted video and extracted/transcoded audio into a new mp4 container. The -fps argument is important for the audio to be properly synched, because mp4box seems to make bad assumptions about the frame rate. Get the FPS to plug in here from the original video using a tool like mediainfo, ffmpeg, mkvinfo, etc etc. The more precise the better.)

This is obviously much faster than transcoding the entire video/audio. And if it were say an MKV with AC3 audio, you wouldn't even need to transcode anything, just extract with mkvextract and recombine with mp4box into an mp4 container.

BTW, I'm doing this on my windows game box, which happens to have the fastest CPU. I'm using the mkvmerge and mp4box which comes with XenonMKV, and the ffmpeg which comes with Streambaby.


----------



## superflysocal

Yog said:


> I'm not sure about the others you mention, but there's a program for Xbox360 users called XenonMKV which takes MKVs with multi chan audio can converts them to mp4s with stereo AAC so they play on the 360. It does this by transcoding only the audio and repackaging it. This would obviously work for the Tivo too.
> 
> For the Tivo, I've just been doing this "by hand" using ffmpeg, mkvextract, and mp4box. The procedure I recently used for doing MKV,h.264,DTS -> MP4,h.264,AC3 was:
> 
> 
> ffmpeg -y -vn -i movie.mkv -acodec ac3 -ab 256k movie.ac3 (extract and transcode the DTS audio to AC3 ... I used 256k for bitrate since it was roughly DTS_bitrate/6)
> mkvextract.exe tracks movie.mkv 1:movie.h264 (extract video from mkv, which was in track/stream #1, which it almost always is. If it isn't, substitute the proper track # for "1:".)
> MP4Box.exe -add movie.h264 -add movie.ac3 -fps 23.976 movie.mp4 (combine the extracted video and extracted/transcoded audio into a new mp4 container. The -fps argument is important for the audio to be properly synched, because mp4box seems to make bad assumptions about the frame rate. Get the FPS to plug in here from the original video using a tool like mediainfo, ffmpeg, mkvinfo, etc etc. The more precise the better.)
> 
> This is obviously much faster than transcoding the entire video/audio. And if it were say an MKV with AC3 audio, you wouldn't even need to transcode anything, just extract with mkvextract and recombine with mp4box into an mp4 container.
> 
> BTW, I'm doing this on my windows game box, which happens to have the fastest CPU. I'm using the mkvmerge and mp4box which comes with XenonMKV, and the ffmpeg which comes with Streambaby.


thanks for this, except most of my movies are mp4 already, just with multichannel aac.


----------



## realgtom

OK...new user of streambaby...I have 5 TiVo Series3s/HDs scattered around the house. About to move streambaby from an old WHS to a new media center pc running Windows7 x64. This thread will be really helpful.

I first want to thank Keary and any others for this piece of art. It is awesome. I am in the process of ripping a bunch of DVDs for streambaby to stream from. I hope I can list a few issues in the spirit of providing constructive feedback for improvement - since if the product didn't change at all it would still be super awesome.

Some of the issues I have noticed running streambaby 0.27 on XP WHS SP3 for a week or so now:

1. My ripping software rips 1GB .VOB files (usually 4-5 per DVD) each in their own folder. Streambaby definitely delays as it transfers between files. Would be nice if the next file was buffering a bit to queue up the next file.

2. TiVo "time bar" (position bar?) often shows the wrong total time (sometimes even as little as 2 seconds) and often skips right to the end of the time bar even though there is a substantial about of time left in the file to play. Am going to stitch the VOB files together on one of my DVDs to see whether this fixes the issue.

3. I am using the DVDXML.com for windows client to download the DVD cover art (named as "folder.jpg") and create an XML file which links to the DVDID synopsis information. Would be nice if the folder browser would detect for these files and show the cover art and synopsis. (Example DVDID XML: <?xml version="1.0" encoding="utf-8"?><Disc><Name>The Princess Bride</Name> <ID>16EC5C92|EC059662</ID></Disc>). This is the material that Media Center on a PC uses for synopsis information. Not sure if this is publicly available as a webservice GET though.

4. I may have missed this option - but is it possible to browse by chapter break in the VOB files using the channel up/down button on the TiVo remote?

5. Strange image caching during fast forward: my ripping software names all of the ripped files using the same format: VTS_01_1.VOB, VTS_01_2.VOB, VTS_01_3.VOB, etc. When I fast forward, I see the jpeg images flashing by from other movies that I have fast forwarded through the same time segment. (Not a huge deal - but uncomfortable when my kids are watching Finding Nemo and a violent scene from Dark Knight comes flashing on the screen during fast-forwards).

6. I see the same streambaby program dropouts as the others. Pretty consistently after changeovers between adjacent files.

Not huge complaints - awesome job!


----------



## Yog

superflysocal said:


> thanks for this, except most of my movies are mp4 already, just with multichannel aac.


Yeh this "recipe" can be changed for just about any audio or video format. Just transcode the AAC multichan to AC3 multichan. ffmpeg should be able to do this I'm pretty sure.


----------



## asherber

I'm a new user, and while streaming to my TivoHD works perfectly out of the box, I can't seem to get push to work -- or maybe I'm just not understanding. I added the username and password to streambaby.ini, Push shows up as an option on my Tivo, and when I click that the Tivo says 'Push succeeded'. Shouldn't this wind up transferring the file to the Tivo so it shows up under 'Now Playing'? I'm on Windows XP, Streambaby 0.27.

Thanks for any help.

Edit: Nevermind, got it -- I didn't realize that the push doesn't begin right away. Works great -- love this app.


----------



## realgtom

Quick question - can i use streambaby to stream two different movies to two different Tivos (assuming I have enough network bandwidth to do it)?

Edit - "two different movies to two different TiVos *simultaneously*..."


----------



## mj1856

Sorry if this has already been posted, but it's so difficult to sort through all the various posts to know what's current and what's already been resolved.

I have the latest StreamBaby 0.27, and I'm having audio sync issues when streaming. If I play on my computer, the audio is in perfect sync. If I push to the tivo using StreamBaby's push feature, the audio is still in perfect sync. But when I stream the file directly, audio is out of sync the majority of the time.

I have ripped the content from dvd's that I own and encoded via handbrake's "normal" profile. I have a hunch that there's something I can change in the advanced settings that would fix this, but I'm not sure what. I've seen so many various different handbrake settings discussed, but they all seem to be related to the video, which looks fine to me. I'm just using AC3 passthru, so I don't understand how it's getting so out of sync. What am I missing?

Can anyone tell me the specific handbrake or streambaby setting that I need to adjust? Please don't give me a whole string of settings - I just want to know which one will fix the audio sync issue.

Thanks,
Matt


----------



## MrGolden

realgtom said:


> Quick question - can i use streambaby to stream two different movies to two different Tivos (assuming I have enough network bandwidth to do it)?
> 
> Edit - "two different movies to two different TiVos *simultaneously*..."


I don't know if it's "supposed" to work, but I have done that before successfully.


----------



## realgtom

MrGolden that's awesome news. Thanks!


----------



## realgtom

Another thought on an enhancement: I am putting all of my DVDs on my NAS to make a DVD library for streambaby. I would expect that the list of movies will be lengthly (300-400 entries). Would be nice if I could use the numeric keypad on the TiVo remote touch-tone-telephone style to jump to a movie on the folder listing that begins with a particular letter: e.g., press 9 once for W, again for X, again for Y, again for Z, etc.


----------



## moyekj

realgtom said:


> Another thought on an enhancement: I am putting all of my DVDs on my NAS to make a DVD library for streambaby. I would expect that the list of movies will be lengthly (300-400 entries). Would be nice if I could use the numeric keypad on the TiVo remote touch-tone-telephone style to jump to a movie on the folder listing that begins with a particular letter: e.g., press 9 once for W, again for X, again for Y, again for Z, etc.


 Better off to organize your movies into folders instead of 1 giant flat structure.


----------



## realgtom

Has anyone else noticed the "caching" of jpeg images during fast forwarding? If I fast forward a movie, then play a different movie and fast forward that through the same time segments, I see the jpegs during fast-forward from the earlier movie, not the current movie? Kind of wondering if I missed a .ini setting or something.


----------



## ke6rwj

Seems to bind to loopback IP for MDNS, if i put an ip in the INI, without the IP it just picks one from the configured IPS, includeing ones used for VMs.

So the tivo never gets the Multicast, hence no show in showcases...

Linux Centos 5.



Code:


dir.1=/share/Movies

dir.1.name=My Videos

#dir.2=/media/disk

#dir.2.name=External Drive

# Ip address to bind to

# most people don't need to change this. 

ip=192.168.1.111

# port to use

#port=7290




Code:


Initializing StreamBaby v0.27...
01/10/10 13:36:40 StreamBabyConfig: WorkingDir: /root/Desktop/streambaby-0.27
01/10/10 13:36:40 StreamBabyConfig: StreamBabyDir: /root/Desktop/streambaby-0.27
01/10/10 13:36:40 StreamBabyConfig: CurDir: /root/Desktop/streambaby-0.27
01/10/10 13:36:40 FFmpegJavaConfig$1: Loading avutil, default: avutil
01/10/10 13:36:40 FFmpegJavaConfig$1: Loaded: /usr/lib/libavutil.so.49.15.0
01/10/10 13:36:40 FFmpegJavaConfig$1: Loading avcodec, default: avcodec
01/10/10 13:36:41 FFmpegJavaConfig$1: Loaded: /usr/lib/libavcodec.so.52.20.0
01/10/10 13:36:41 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3412992)
01/10/10 13:36:41 FFmpegJavaConfig$1: Loading avformat, default: avformat
01/10/10 13:36:41 FFmpegJavaConfig$1: Loaded: /usr/lib/libavformat.so.52.31.0
01/10/10 13:36:41 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3415808)
01/10/10 13:36:41 FFmpegJavaConfig$1: Loading swscale, default: swscale
01/10/10 13:36:41 FFmpegJavaConfig$1: Loaded: /usr/lib/libswscale.so.0.7.1
01/10/10 13:36:41 FFmpegJavaConfig$1: Marking libswscale as available.
01/10/10 13:36:42 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/10/10 13:36:42 FFmpegExeVideoModule: FFmpegPath: ffmpeg
01/10/10 13:36:42 FFmpegExeVideoModule: FFmpegExeModule: Loaded
01/10/10 13:36:42 StreamBabyMain: STARTING StreamBaby v0.27...
01/10/10 13:36:42 Main: args= start=true
01/10/10 13:36:42 Main: args= [email protected]
01/10/10 13:36:42 Listener: config=com.tivo.hme.host.util.Config_1e3cd51 [email protected]
01/10/10 13:36:42 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
01/10/10 13:36:42 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/10/10 13:36:42 Listener: name=/streambaby/
01/10/10 13:36:42 Listener: 
01/10/10 13:36:42 Listener: added factory
01/10/10 13:36:42 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/10/10 13:36:42 Main: MDNS: [LINK REMOVED TO POST]://127.0.0.1:7290/streambaby/
01/10/10 13:36:42 Main: streambaby ready & listening.
01/10/10 13:36:42 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290

current Ifconfig



Code:


eth0      Link encap:Ethernet  HWaddr 00:16:E6:02:07:04  
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::216:e6ff:fe02:704/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12188498 errors:0 dropped:837 overruns:0 frame:0
          TX packets:13064394 errors:0 dropped:0 overruns:0 carrier:0
          collisions:3646634 txqueuelen:100 
          RX bytes:1507932242 (1.4 GiB)  TX bytes:3749269480 (3.4 GiB)
          Memory:d0080000-d00a0000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:544657 errors:0 dropped:0 overruns:0 frame:0
          TX packets:544657 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:286972187 (273.6 MiB)  TX bytes:286972187 (273.6 MiB)

it will also attempt to bind to VIRIP from VMWARE when they are there... sometimes it tries to bind to those IP even when they are DOWN, ie not in ifconfig listing.

Ideas? Thanks

Chris


----------



## Jayboy3

Can I install Streambaby to stream from a Windows PC to a Linux computer?

I use a Windows 7 machine as my main media server (with Tivo Desktop and two Tivo HD boxes).

But downstairs, I have a Linux PC laptop that I use as an additional computer station. It is hooked to an HD monitor. So is there a Linux app I can install on it to make it behave like a client to receive streams from Windows Media Player upstairs?


----------



## orangeboy

Jayboy3 said:


> Can I install Streambaby to stream from a Windows PC to a Linux computer?
> 
> I use a Windows 7 machine as my main media server (with Tivo Desktop and two Tivo HD boxes).
> 
> But downstairs, I have a Linux PC laptop that I use as an additional computer station. It is hooked to an HD monitor. So is there a Linux app I can install on it to make it behave like a client to receive streams from Windows Media Player upstairs?


VLC will do this. I use this command line in a batch file to transcode and stream to a friend, where www.xxx.yyy.zzz is my friend's IP address:



Code:


"C:\Program Files\VideoLAN\VLC\vlc.exe"  %1  --extraintf http --http-host 192.168.0.30:8085 --http-src "C:\Program Files\VideoLAN\VLC\http" --aspect-ratio=4:3 --sout=#transcode{vcodec=h264,vb=1400,scale=1,acodec=mp4a,ab=96,channels=2}:duplicate{dst=std{access=udp,mux=ts,dst=www.xxx.yyy.zzz:1234}}

At my friend's house, he uses VLC to "open network stream", and specifies udp port 1234 (mrl should look like "udp://@:1234").


----------



## kearygriffin

realgtom said:


> ...
> ...
> 1. My ripping software rips 1GB .VOB files (usually 4-5 per DVD) each in their own folder. Streambaby definitely delays as it transfers between files. Would be nice if the next file was buffering a bit to queue up the next file.
> 
> 2. TiVo "time bar" (position bar?) often shows the wrong total time (sometimes even as little as 2 seconds) and often skips right to the end of the time bar even though there is a substantial about of time left in the file to play. Am going to stitch the VOB files together on one of my DVDs to see whether this fixes the issue.
> 
> 3. I am using the DVDXML.com for windows client to download the DVD cover art (named as "folder.jpg") and create an XML file which links to the DVDID synopsis information. Would be nice if the folder browser would detect for these files and show the cover art and synopsis. (Example DVDID XML: <?xml version="1.0" encoding="utf-8"?><Disc><Name>The Princess Bride</Name> <ID>16EC5C92|EC059662</ID></Disc>). This is the material that Media Center on a PC uses for synopsis information. Not sure if this is publicly available as a webservice GET though.
> 
> 4. I may have missed this option - but is it possible to browse by chapter break in the VOB files using the channel up/down button on the TiVo remote?
> 
> 5. Strange image caching during fast forward: my ripping software names all of the ripped files using the same format: VTS_01_1.VOB, VTS_01_2.VOB, VTS_01_3.VOB, etc. When I fast forward, I see the jpeg images flashing by from other movies that I have fast forwarded through the same time segment. (Not a huge deal - but uncomfortable when my kids are watching Finding Nemo and a violent scene from Dark Knight comes flashing on the screen during fast-forwards).
> ...
> ...


There are definitely some issues with streambaby and streaming VOB files that haven't been merged (or merged correctly...) I would like to address this at some point, but it's a pretty significant job to try and handle DVD structures correctly and I haven't had the time to investigate properly.

The problem with the caching during FF is due to the filenames being the same (VTS_01.01 for example) for all of the DVDs, and streambaby only looking at the filename and not the directories. You can disable "preview" image generation for MPG files by adding the following line in streambaby.ini:
preview.autogenerate=false
and then deleting everything in the streambaby/cache directory. Streambaby will then only display the time when FF/rewinding MPG files (VOBs).

I'll have to take a look at the DVDXML mechanism, I had never heard of it before...


----------



## kearygriffin

ke6rwj said:


> Seems to bind to loopback IP for MDNS, if i put an ip in the INI, without the IP it just picks one from the configured IPS, includeing ones used for VMs.


Use the SVN version of streambaby:
http://streambaby.googlecode.com/files/streambaby-svn-r262.zip

V0.27 had problems binding to the correct IP addresses.

(I really need to upload a 0.28, 0.27 is very old...)


----------



## kearygriffin

mj1856 said:


> Sorry if this has already been posted, but it's so difficult to sort through all the various posts to know what's current and what's already been resolved.
> 
> I have the latest StreamBaby 0.27, and I'm having audio sync issues when streaming. If I play on my computer, the audio is in perfect sync. If I push to the tivo using StreamBaby's push feature, the audio is still in perfect sync. But when I stream the file directly, audio is out of sync the majority of the time.
> 
> I have ripped the content from dvd's that I own and encoded via handbrake's "normal" profile. I have a hunch that there's something I can change in the advanced settings that would fix this, but I'm not sure what. I've seen so many various different handbrake settings discussed, but they all seem to be related to the video, which looks fine to me. I'm just using AC3 passthru, so I don't understand how it's getting so out of sync. What am I missing?
> 
> Can anyone tell me the specific handbrake or streambaby setting that I need to adjust? Please don't give me a whole string of settings - I just want to know which one will fix the audio sync issue.
> 
> Thanks,
> Matt


Could you try the latest SVN version:
http://streambaby.googlecode.com/files/streambaby-svn-r262.zip

I believe(?) it fixes some issues that could be related to audio/video sync for MP4 files.


----------



## alexnvrmnd

OK, here's my question, and I've looked around for it and I got confused. 

I want to set the default quality to "Low 1260KB/s" in the config file, so I won't have to change it for every file I'm viewing. What's the proper code for that?

This is what I put, but I don't think I have it correct: _quality.default=1260k_

The only reason why I want to set the quality to the second lowest setting is because it seems to make the buffer go faster because the encoder doesn't have to do so much work. But then again, maybe it's my imagination...is it?


----------



## kearygriffin

alexnvrmnd said:


> OK, here's my question, and I've looked around for it and I got confused.
> 
> I want to set the default quality to "Low 1260KB/s" in the config file, so I won't have to change it for every file I'm viewing. What's the proper code for that?
> 
> This is what I put, but I don't think I have it correct: _quality.default=1260k_
> 
> The only reason why I want to set the quality to the second lowest setting is because it seems to make the buffer go faster because the encoder doesn't have to do so much work. But then again, maybe it's my imagination...is it?


Try
quality.default=2

The number should range from 1=lowest to 7=highest


----------



## realgtom

Keary - Thank you so much for your reply. I'll post some more information on DVD XML below. This is a really awesome application - so please take these requests as me selfishly trying to add some cool features for me.


----------



## realgtom

DVD XML appears to be a resident HTTP GET for Media Center PCs. For example, placing an XML file in the same folder (apparently with any name) with the content of: <?xml version="1.0" encoding="utf-8"?><Disc><Name>2001: A Space Odyssey</Name><ID>ADDB5615|BE693425</ID></Disc> will produce the attached synopsis information in Media Center (see screenshot).

I use the windows client from dvdxml.com to download the cover art and DVD ID XML files to put in each folder with my DVDs. This URL has some information on the contents of the XML file.


----------



## realgtom

realgtom said:


> DVD XML appears to be a resident HTTP GET for Media Center PCs. For example, placing an XML file in the same folder (apparently with any name) with the content of: <?xml version="1.0" encoding="utf-8"?><Disc><Name>2001: A Space Odyssey</Name><ID>ADDB5615|BE693425</ID></Disc> will produce the attached synopsis information in Media Center (see screenshot).
> 
> I use the windows client from dvdxml.com to download the cover art and DVD ID XML files to put in each folder with my DVDs. This URL has some information on the contents of the XML file.


This does appear to come from the synopsis database for AMG (All Movie Group) at www.allmovie.com so this may be a subscription database that Windows Media Center is licensed for. Might be a dead end...


----------



## realgtom

kearygriffin said:


> The problem with the caching during FF is due to the filenames being the same (VTS_01.01 for example) for all of the DVDs, and streambaby only looking at the filename and not the directories. You can disable "preview" image generation for MPG files by adding the following line in streambaby.ini:
> preview.autogenerate=false
> and then deleting everything in the streambaby/cache directory. Streambaby will then only display the time when FF/rewinding MPG files (VOBs).


OK - I do love the JPEG images during FF since it helps find the place in the movie. I'll see if I can figure out how to add a unique prefix to my VOB files maybe by folder name.


----------



## tgrim1

kearygriffin said:


> Could you try the latest SVN version:
> http://streambaby.googlecode.com/files/streambaby-svn-r262.zip
> 
> I believe(?) it fixes some issues that could be related to audio/video sync for MP4 files.


This works for me so far. Seems to load/go faster through the menus also. :up:


----------



## Hyrax

I looooove streambaby, so this is a request to polish a nearly perfect apple. If what I'm asking for requires a lot of work on your part, please ignore it. 

It seems that push is more of a pull. Is it possible to consider having streambaby actually push files to a Tivo without going to my Tivo and select the files? Perhaps a command line argument containing the name of a file that list the files to push would be enough of a UI.


----------



## txporter

Hyrax said:


> I looooove streambaby, so this is a request to polish a nearly perfect apple. If what I'm asking for requires a lot of work on your part, please ignore it.
> 
> It seems that push is more of a pull. Is it possible to consider having streambaby actually push files to a Tivo without going to my Tivo and select the files? Perhaps a command line argument containing the name of a file that list the files to push would be enough of a UI.


I haven't used Streambaby in a long time, but from what I remember push from Streambaby was using the same dynamics as pytivo. If you want to push from your computer, just install wmcbrine's latest version of pytivo and you can push from a web interface. It's pretty simple. There is lots of info over on the pytivo forum (and wiki) for installation.


----------



## PaulS

txporter said:


> If you want to push from your computer, just install wmcbrine's latest version of pytivo and you can push from a web interface. It's pretty simple. There is lots of info over on the pytivo forum (and wiki) for installation.


+1

Definitely the way to go. You can even play games with the metadata to create custom new groups for the pushed programs. I've found this is really handy for creating groups dedicated to my kids' shows, for example.


----------



## Hyrax

Thanks for the nudge towards pyTivo. I was hoping to be able to push files with a minimum of software installed. Basically, I'm somewhat loath to install Python (I fear it is yet another service running continually), but it sounds like I may need to do so. 

PyTivo looks very interesting, particularly when combined with kmttg, so I'll seriously consider it. Until then I'll continue to pull files.


----------



## Yog

Python shouldn't need a service. It's just a scripting language.


----------



## rmbeatty

I had Streambaby up and working but now replace dmy PC and cant get it to work again. I am sure I am missing something very simple. I can see the directories on my TiVo, but they are empty. I have a VOB, WMV, and AVI file in the folder but they do nto show on TiVo. hat am i doing wrong? THANKS!


----------



## Hyrax

.


----------



## realgtom

"Can't Run. An error occurred while running the application. The application closed during a read (0x50006). Press select to continue." I am getting a bunch of the random http errors in streambaby also. Doesn't seem to be related to any particular file - it just periodically happens. Maybe streambaby can't handle network interruptions?


----------



## moyekj

Hyrax said:


> Off topic, I know, but... I'm getting "Cialis" spam from someone who knows I subscribe to this thread. It sneaks into my system by pretending to be a reply to this thread. How does this happen?
> I'll delete this message in a day so it doesn't clog the on topic discussion.


 Spammer posted in this thread (hence why you got the email) and then moderator must have removed it.


----------



## tgrim1

Two questions,

1. Can streambaby run while pytivo service is running also?

2. I cant seem to get the "push" working after adding my username and password to the streambaby.ini, any ideas?


----------



## Hyrax

Push does work for me, but it took me two tries. When it didn't work the first time, I went to the www.Tivo.com page and reset my Tivo password and then it worked.


----------



## tgrim1

Hyrax said:


> Push does work for me, but it took me two tries. When it didn't work the first time, I went to the www.Tivo.com page and reset my Tivo password and then it worked.


I just tried that and I still dont have a push option in streambaby


----------



## rmbeatty

Can anyone answer my question above? Thanks


----------



## rfryar

rmbeatty said:


> I had Streambaby up and working but now replace dmy PC and cant get it to work again. I am sure I am missing something very simple. I can see the directories on my TiVo, but they are empty. I have a VOB, WMV, and AVI file in the folder but they do nto show on TiVo. hat am i doing wrong? THANKS!


The only thing I can think of is that your Streambaby.ini file is not pointing at the directory you think it is. Please verify your ini settings, perhaps change the display name and ensure it shows up on the TiVo.

Rick


----------



## alexnvrmnd

rmbeatty said:


> Can anyone answer my question above? Thanks


Like rfryar said, I'm sure the answer lies in your .ini file. Post its syntax so we can see. Make sure your files/folders are in the directory you're specifying.


----------



## jcthorne

Hyrax said:


> I looooove streambaby, so this is a request to polish a nearly perfect apple. If what I'm asking for requires a lot of work on your part, please ignore it.
> 
> It seems that push is more of a pull. Is it possible to consider having streambaby actually push files to a Tivo without going to my Tivo and select the files? Perhaps a command line argument containing the name of a file that list the files to push would be enough of a UI.


I would like to second this request and expand on it a bit. I love what streambaby does for tivo, but I still need the simple push from the server feature and serving of photos that pyTivo provides.

I like pyTivo too, but its missing the great HMO app to present videos to the tivo user and stream capability.

Sure wish Streambaby would integrate a bit more of pyTivo functionality provide a more complete solution.


----------



## e8link

Appreciate any suggestions for getting this working on my system.

I saw a similar post sometime back for this issue - from Chuck Clayton, but didn't see a resolution for the streambaby app not appearing in the Music, Photos section. 

Streambaby seems to properly initialize on my PC. Using a Tivo HD, Windows 7 Professional (although I also tried on a Vista Ultimate machine). Configured streambaby.ini, enabled home network apps, manually set the java path in the batch file. Upgraded to the latest Java (R18?) just to see if that's a problem. Disabled Norton Smart Firewall application and I've tried streambaby with and without the IP section filled out. Not sure if it matters but the regular Tivo Desktop app will only run once set to XP SP3 Compability, running with admin privileges, and Tivo Beacon set. No problems with manual transfers of video from the PC or to the PC using kmmtg.

Here is my ini/batch settings:

#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\elawson\Videos
dir.1.name=elawson
dir.2=z:\
dir.2.name=HPServerWHS
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.105
# port to use
port=7290

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


----------



## rmbeatty

Ok. Here is ini file. I checked that videos are in the directory (a VOB, WMV, and AVI) but nothign shows under the application on TiVo. Cant figure out whats wrong. Thanks.


#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\Richard\MyVideos\Movies\Streaming
#dir.1.name=Movies
#dir.2=C:\Users\Richard\MyVideos\Movies\Streaming\TV Shows
#dir.2.name=TV Shows
title=Stream From PC
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


----------



## xyth

I noticed vers. .29 was just uploaded. Is there any changes since the last posted SVN version? I can't find a change log.


----------



## reneg

rmbeatty said:


> Ok. Here is ini file. I checked that videos are in the directory (a VOB, WMV, and AVI) but nothign shows under the application on TiVo. Cant figure out whats wrong. Thanks.
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=C:\Users\Richard\MyVideos\Movies\Streaming
> #dir.1.name=Movies
> #dir.2=C:\Users\Richard\MyVideos\Movies\Streaming\TV Shows
> #dir.2.name=TV Shows
> title=Stream From PC
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290


Try changing
#dir.1.name=Movies
to
dir.1.name=Movies


----------



## rmbeatty

reneg said:


> Try changing
> #dir.1.name=Movies
> to
> dir.1.name=Movies


Tried that but didn't help. Any other ideas? Thanks.


----------



## rmbeatty

Just to be clear, I can see the Movies top level directory and go into that and the label on the next screen is streaming as per my directory structure int he ini file. There are just no files there. Streambaby should be able to see a vob file or wmv file or avi file correct?


----------



## cbomba

Streambaby fails on startup.



Code:


Initializing StreamBaby v0.29...
java.net.UnknownHostException: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
        at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
        at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
        at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
        at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
usage: Main [--port <port>] [--ip <ip>] class


----------



## rfryar

rmbeatty said:


> Just to be clear, I can see the Movies top level directory and go into that and the label on the next screen is streaming as per my directory structure int he ini file. There are just no files there. Streambaby should be able to see a vob file or wmv file or avi file correct?


With windows Vista/7 the users directory may be protected. Try creating a new folder under a directory other than Program Files, and Users and place your movies there.

If you can not or do not want to move your files you would need to change the file permissions on your user directory so that the user the stream baby service is using can access the files.

But in either case I would first create a brand new directory and move your files there to verify it is a file permission issue.

Rick


----------



## rfryar

e8link said:


> I saw a similar post sometime back for this issue - from Chuck Clayton, but didn't see a resolution for the streambaby app not appearing in the Music, Photos section.


I know that some users reported that their network router was blocking the packets. I do not know the exact solution, something about tweaking a setting on your network router.

Hope that helps you search for the right potential fix.

Rick


----------



## rfryar

cbomba said:


> Streambaby fails on startup.
> 
> 
> 
> Code:
> 
> 
> Initializing StreamBaby v0.29...
> java.net.UnknownHostException: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
> at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
> at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
> at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
> at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
> at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
> error: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
> usage: Main [--port <port>] [--ip <ip>] class


I beleive this has been stated in other posts to be a conflict with your IP address. If you have an IP specificed in your streambaby.ini, take it out or make sure it is your internal IP address.

If you do not have anything in the ini you may need to add the IP address.

Also if you have not already done so, please upgrade to the latest Streambaby SVN as it takes care of a few IP related bugs.

Rick


----------



## kearygriffin

xyth said:


> I noticed vers. .29 was just uploaded. Is there any changes since the last posted SVN version? I can't find a change log.


0.29 should be the same as the last SVN release (r262)-- I just needed to update the "release" version since it was really really old.

I've been pretty bad about mainting the changelog, but at some point I'll need to go through the SVN comments to figure it out.


----------



## kearygriffin

rfryar said:


> I beleive this has been stated in other posts to be a conflict with your IP address. If you have an IP specificed in your streambaby.ini, take it out or make sure it is your internal IP address.
> 
> If you do not have anything in the ini you may need to add the IP address.
> 
> Also if you have not already done so, please upgrade to the latest Streambaby SVN as it takes care of a few IP related bugs.
> 
> Rick


The above definitely holds, you should make sure you are using the latest SVN (or the 0.29 version I just uploaded yesterday, as they should be the same at this point in time), the older versions had some problems binding to the correct IP address.

However looking at the exact log posted, I'm not sure this alone will fix the problem-- The problem is that Java wants to lookup the "hostname" of the machine to resolve it to an IP address. I'm not sure if specifying an ip= in the config will resolve this completely, as java still does the local lookup (I believe).

I went into a little deeper in a previous post, but basically the "hostname" of the machine must be "resolvable". For linux this means making sure whatever the hostname of the machine is can be resolved via DNS lookup or is listed in the /etc/hosts file.


----------



## cbomba

kearygriffin said:


> The above definitely holds, you should make sure you are using the latest SVN (or the 0.29 version I just uploaded yesterday, as they should be the same at this point in time), the older versions had some problems binding to the correct IP address.
> 
> However looking at the exact log posted, I'm not sure this alone will fix the problem-- The problem is that Java wants to lookup the "hostname" of the machine to resolve it to an IP address. I'm not sure if specifying an ip= in the config will resolve this completely, as java still does the local lookup (I believe).
> 
> I went into a little deeper in a previous post, but basically the "hostname" of the machine must be "resolvable". For linux this means making sure whatever the hostname of the machine is can be resolved via DNS lookup or is listed in the /etc/hosts file.


I checked the ini file for the ip address setting. I had it at default. I changed it and now my ini file looks like this:



Code:


[email protected]:/usr/local/lib/Streambaby> cat streambaby.ini
#
# ./streambaby --help for more configuration file options
#

dir.1=/local/DVD
dir.1.name=My DVDs
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this.
ip=192.168.10.26
# port to use
port=7290

I then looked at my etc/host file and I didn't have the FQDN in there so I added it. My etc/host file looks like this:



Code:


[email protected]:/usr/local/lib/Streambaby> cat /etc/hosts
#
# hosts         This file describes a number of hostname-to-address
#               mappings for the TCP/IP subsystem.  It is mostly
#               used at boot time, when no name servers are running.
#               On small systems, this file can be used instead of a
#               "named" name server.
# Syntax:
#
# IP-Address  Full-Qualified-Hostname  Short-Hostname
#

127.0.0.1       localhost

# special IPv6 addresses
::1             localhost ipv6-localhost ipv6-loopback

fe00::0         ipv6-localnet

ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts
192.168.10.26   linux-skd0.cbomba.com   linux-skd0
192.168.10.88   VLAB VLAB
142.206.64.253  VMWare VMWare
192.168.10.225  SDTivo SD Tivo
192.168.10.226  HDTivo HD Tivo
192.168.10.5    WinServer Win2k3 Server

I tried running Streambaby again and I got the following error:



Code:


Initializing StreamBaby v0.29...
java.net.UnknownHostException: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
        at java.net.InetAddress.getLocalHost(InetAddress.java:1353)
        at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
        at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
        at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: linux-skd0.cbomba.com.: linux-skd0.cbomba.com.
usage: Main [--port <port>] [--ip <ip>] class

I just downloaded Streambaby this morning so I am running the latest version.


----------



## cbomba

I fixed it. I went into /etc/HOSTNAME and changed my hostname. I then restart my computer. Then I did:



Code:


sudo hostname -F /etc/HOSTNAME

That allowed me to start up Streambaby.

Thanks for the help.


----------



## rmbeatty

rfryar said:


> With windows Vista/7 the users directory may be protected. Try creating a new folder under a directory other than Program Files, and Users and place your movies there.
> 
> If you can not or do not want to move your files you would need to change the file permissions on your user directory so that the user the stream baby service is using can access the files.
> 
> But in either case I would first create a brand new directory and move your files there to verify it is a file permission issue.
> 
> Rick


I figured it out. Looking at the properties of the My Video folder in Windows 7 you can see that the name of the folder is My Videos, but in fact the location is users\videos. once I changed the ini file to point to videos instead of My Videos everything worked. Thats really ridiculous and confusing. Thanks Microsoft.


----------



## e8link

rfryar said:


> I know that some users reported that their network router was blocking the packets. I do not know the exact solution, something about tweaking a setting on your network router.
> 
> Hope that helps you search for the right potential fix.
> 
> Rick


Yep, found something that works - thanks for the info.

I have a WRT610N router and I disabled the SPI Firewall Protection setting in the router and Streambaby appeared. Once I started a program playing back on the Tivo I turned back on SPI Firewall and it's still streaming. I like having the SPI Firewall turned on - so it looks like I have more research to do. Nice to know it's not a PC, or app config problem.


----------



## tgrim1

Ever since last night streambaby stopped working. After selecting a file to play, please wait comes up and thats it. I was running the r262 version and today loaded the .29 with the same results. Any ideas to check?

Here is the debugging from the log file:



Code:


01/25/10 17:00:01 StreamBabyConfig: WorkingDir: "F:\Software\Program Files\streambaby-svn-r262"
01/25/10 17:00:01 StreamBabyConfig: StreamBabyDir: F:\Software\Program Files\streambaby-svn-r262
01/25/10 17:00:01 StreamBabyConfig: CurDir: F:\Software\Program Files\streambaby-svn-r262\native
01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avutil-49.dll
01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avcodec-52.dll
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avformat-52.dll
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
01/25/10 17:00:02 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\swscale-0.dll
01/25/10 17:00:02 FFmpegJavaConfig$1: Marking libswscale as available.
01/25/10 17:00:02 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/25/10 17:00:02 FFmpegExeVideoModule: FFmpegPath: F:\Software\Program Files\streambaby-svn-r262\native\ffmpeg.exe
01/25/10 17:00:02 FFmpegExeVideoModule: FFmpegExeModule: Loaded
01/25/10 17:00:02 StreamBabyMain: STARTING StreamBaby svn-r262...
01/25/10 17:00:02 Main: args= start=true
01/25/10 17:00:02 Main: args= [email protected]
01/25/10 17:00:02 Listener: [email protected] [email protected]
01/25/10 17:00:02 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
01/25/10 17:00:02 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/25/10 17:00:02 Listener: name=/streambaby/
01/25/10 17:00:02 Listener: 
01/25/10 17:00:02 Listener: added factory
01/25/10 17:00:02 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/25/10 17:00:02 Main: MDNS: http://192.168.15.102:7290/streambaby/
01/25/10 17:00:02 Main: streambaby ready & listening.
01/25/10 17:00:02 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
01/25/10 17:00:07 TiVoListener: addService: HD-DVR
01/25/10 17:00:07 TiVoListener: Updating service: _http._tcp.local. (HD-DVR)
01/25/10 17:00:07 TiVoListener: resolveService: _http._tcp.local. (HD-DVR)
01/25/10 17:00:07 TiVoListener: jmDns found TiVo: HD-DVR, tsn: *****
01/25/10 17:11:48 Listener: http=HttpRequest /streambaby/icon.png
01/25/10 17:11:48 Listener: path=/streambaby/icon.png uri=/streambaby/
01/25/10 17:11:48 Listener: 
01/25/10 17:11:48 Listener: 192.168.15.101 icon.png HTTP GET - to factory /streambaby/
01/25/10 17:11:48 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
01/25/10 17:11:55 Listener: http=HttpRequest /streambaby/
01/25/10 17:11:55 Listener: path=/streambaby/ uri=/streambaby/
01/25/10 17:11:55 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/25/10 17:11:55 Listener: 
01/25/10 17:11:55 Factory: HME receiver connected
01/25/10 17:11:55 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
01/25/10 17:11:55 StreamBabyStream: width: 1280
01/25/10 17:11:55 StreamBabyStream: height: 720
01/25/10 17:11:55 StreamBabyStream: aspect: 1/1
01/25/10 17:11:55 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:11:55 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:11:55 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:55 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:55 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20Movies/
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20TV/
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Saved%20TV%20Eps/
01/25/10 17:11:56 HostContext: key=pw value=
01/25/10 17:11:56 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:11:56 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:11:56 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20Movies/
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20TV/
01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Saved%20TV%20Eps/
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
01/25/10 17:11:56 SelectionScreen: focusOn entry=null
01/25/10 17:12:02 SelectionScreen: action=right
01/25/10 17:12:03 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
01/25/10 17:12:03 SelectionScreen: focusOn entry=null
01/25/10 17:12:18 SelectionScreen: code=19 rawcode=16845331
01/25/10 17:12:23 SelectionScreen: code=6 rawcode=16843782
01/25/10 17:12:24 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Animal Planet - Wild Russia - 4. Caucasus</h1><p>While Asiatic black bears hang from the trees and chipmunks search for food, the spotted sika deer travels to the coast to supplement its diet with kelp. The presence of deer on this open ground attracts the region's big predator, the Amur tiger. But the largest cat in the world has dangerous enemies itself: poaching and habitat destruction are an ever-present threat to tigers in the Ussuriland region of Russia.From high snowy peaks to baking deserts, the Caucasus is much more than a simple mountain range. With habitats including forests, alpine meadows and arid salt flats, like the rest of Russia it boasts a dazzling array of wildlife. Home to wild boars, Eurasian lynx, long-eared hedgehogs, bezoar ibex, rare highland European bison and the truly bizarre glass lizard, this area is another jewel in Russias wilderness crown.</p><p><br>Original Air Date: 07/30/2009<br>Episode #: 4</p></div></body></html>
01/25/10 17:12:24 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=389]
01/25/10 17:12:25 VideoModuleHelper: GetVidInfo: file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4
01/25/10 17:12:25 FFmpegJavaVideoModule: vidDur:2598932
01/25/10 17:12:25 FFmpegJavaVideoModule: VideoInfo:
uri: file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4, Container: mp4, Duration: 2598.932 seconds
Video: h264 1280x688 29.97 fps
  PixAspect: 1.0, Aspect: 1.8604652
Audio: ac3 48000HZ 6 channels
01/25/10 17:12:25 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:25 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:904089)
01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:24)
01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 164, size:20772)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 172, size:92)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 264, size:20604)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 272, size:32)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 304, size:33)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 337, size:20531)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 345, size:16)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 361, size:36)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 369, size:28)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 397, size:20471)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 405, size:71)
01/25/10 17:12:25 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(97,99,45,51): AcX453Atom (offset: 421, size:55)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 476, size:24)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 500, size:20)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 520, size:28)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 548, size:20320)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20868, size:20)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 20876, size:12)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 20888, size:48)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 20896, size:40)
01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20936, size:102)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 20944, size:94)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 20956, size:33)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 20989, size:49)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 20997, size:41)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 21005, size:33)
01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 21038, size:883075)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 21046, size:92)
01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 21138, size:882975)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 21146, size:32)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 21178, size:33)
01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 21211, size:882902)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 21219, size:20)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 21239, size:36)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 21247, size:28)
01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 21275, size:882838)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 21283, size:150)
01/25/10 17:12:25 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 21299, size:134)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 21433, size:24)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 21457, size:311580)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 333037, size:40)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 333077, size:20792)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 353869, size:2732)
01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 356601, size:547512)
01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 904113, size(LRG):1071543931)
01/25/10 17:12:25 MP4StreamFactory$2: DBG: moov size 904081
01/25/10 17:12:25 MP4StreamFactory$2: DBG: mdat size 1071543915
01/25/10 17:12:25 MP4StreamFactory$2: DBG: trackType Snd trackTime: 1.92153582E14 adjustTime: 1.92153582E14 mediaTime(9223372036854775807/48000) adjTimePos(9223372036854775807/48000)
01/25/10 17:12:25 MP4StreamFactory$2: DBG: sampleNum 1
01/25/10 17:12:25 MP4StreamFactory$2: DBG: new key frame 1
01/25/10 17:12:25 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
01/25/10 17:12:25 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
01/25/10 17:12:25 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:25 MP4StreamFactory$2: DBG: cutDuration 233902080
01/25/10 17:12:25 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:25 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:25 MP4StreamFactory$2: DBG: cutDuration 233903903
01/25/10 17:12:25 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:25 MP4StreamFactory$2: DBG: moov chunk 904129
01/25/10 17:12:25 MP4StreamFactory$2: DBG: cut moov chunk 904129
01/25/10 17:12:25 MP4StreamFactory$2: DBG: updateAmount 32
01/25/10 17:12:25 MP4StreamFactory$2: DBG: movie skip 0
01/25/10 17:12:25 MP4StreamFactory$2: DBG: Cut Movie time 2598 sec 
01/25/10 17:12:25 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:25 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:28 ButtonScreen: action=down
01/25/10 17:12:29 ButtonScreen: action=down
01/25/10 17:12:30 ButtonScreen: action=right
01/25/10 17:12:31 ButtonScreen: action=pop
01/25/10 17:12:31 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:31 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:31 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:31 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:32 ButtonScreen: code=2 rawcode=16842754
01/25/10 17:12:32 PlayScreen: code=2 rawcode=16842754
01/25/10 17:12:32 ButtonScreen: code=2 rawcode=16842754
01/25/10 17:12:33 ButtonScreen: code=6 rawcode=16843782
01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 value=0
01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 ViewScreen: Desc: Animal Planet_ Wild Russia - 1x04 - Caucasus.mp4
01/25/10 17:12:33 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1132,height=365]
01/25/10 17:12:33 PreviewWindow: pWidth: 1280
01/25/10 17:12:33 PreviewWindow: preview parent=BView[#2572,bounds=0,0,1280x720]
01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
01/25/10 17:12:33 ViewScreen: goto position: 0, vidlen: 2598932
01/25/10 17:12:33 ViewScreen: Position not in buffer, starting new stream
01/25/10 17:12:34 ViewScreen: Openening stream at position: 0(0 secs)
01/25/10 17:12:34 VideoModuleHelper: quality setting is above quality of video, streaming normally
01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:904089)
01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:24)
01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 164, size:20772)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 172, size:92)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 264, size:20604)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 272, size:32)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 304, size:33)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 337, size:20531)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 345, size:16)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 361, size:36)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 369, size:28)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 397, size:20471)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 405, size:71)
01/25/10 17:12:34 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(97,99,45,51): AcX453Atom (offset: 421, size:55)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 476, size:24)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 500, size:20)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 520, size:28)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 548, size:20320)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20868, size:20)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 20876, size:12)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 20888, size:48)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 20896, size:40)
01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20936, size:102)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 20944, size:94)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 20956, size:33)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 20989, size:49)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 20997, size:41)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 21005, size:33)
01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 21038, size:883075)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 21046, size:92)
01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 21138, size:882975)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 21146, size:32)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 21178, size:33)
01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 21211, size:882902)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 21219, size:20)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 21239, size:36)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 21247, size:28)
01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 21275, size:882838)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 21283, size:150)
01/25/10 17:12:34 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 21299, size:134)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 21433, size:24)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 21457, size:311580)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 333037, size:40)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 333077, size:20792)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 353869, size:2732)
01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 356601, size:547512)
01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 904113, size(LRG):1071543931)
01/25/10 17:12:34 MP4StreamFactory$2: DBG: moov size 904081
01/25/10 17:12:34 MP4StreamFactory$2: DBG: mdat size 1071543915
01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Snd trackTime: 0.0 adjustTime: 0.0 mediaTime(0/48000) adjTimePos(0/48000)
01/25/10 17:12:34 MP4StreamFactory$2: DBG: sampleNum 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new key frame 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
01/25/10 17:12:34 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233902080
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233903903
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: moov chunk 904129
01/25/10 17:12:34 MP4StreamFactory$2: DBG: cut moov chunk 904129
01/25/10 17:12:34 MP4StreamFactory$2: DBG: updateAmount 32
01/25/10 17:12:34 MP4StreamFactory$2: DBG: movie skip 0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: Cut Movie time 2598 sec 
01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Snd trackTime: 0.0 adjustTime: 0.0 mediaTime(0/48000) adjTimePos(0/48000)
01/25/10 17:12:34 MP4StreamFactory$2: DBG: sampleNum 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new key frame 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
01/25/10 17:12:34 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233902080
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233903903
01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
01/25/10 17:12:34 MP4StreamFactory$2: Start reinterleave...
01/25/10 17:12:34 MP4StreamFactory$2: Total size of all mdat chunks: 1071543915
01/25/10 17:12:34 MP4StreamFactory$2: Finished reinterleave in: 0.047s
01/25/10 17:12:34 NamedStream: Registering named stream: bea5012c-e3e4-4389-be7e-ac5623454182.stream
01/25/10 17:14:36 Listener: 
01/25/10 17:14:36 Listener: connection to receiver closed
01/25/10 17:14:36 Listener: 
01/25/10 17:14:36 Factory: HME receiver disconnected
01/25/10 17:30:02 InfoCache$PruneTask: Pruning cache...
01/25/10 17:30:02 InfoCache$PruneTask: Pruning complete.
01/25/10 18:00:02 InfoCache$PruneTask: Pruning cache...
01/25/10 18:00:02 InfoCache$PruneTask: Pruning complete.
01/25/10 18:30:02 InfoCache$PruneTask: Pruning cache...
01/25/10 18:30:02 InfoCache$PruneTask: Pruning complete.

It seems to be hung up at "NamedStream: Registering named stream" for some reason.
Thanks!


----------



## iamjoem

Hi there,
I've scoured this thread but can't find an answer. I have Streambaby installed and running (ready & listening)...verbose mode on...and everything seems fine. Nothing shows up on my TiVo Series 3 though...no stream, baby, stream menu. What could be my problem? 

The port is open: 7290. The IP is correct for the server: 10.10.0.100. Thank you so much! My family is looking over my shoulder as I type this  We're all wanting to see this work.

I've also disabled SPI on my router (DIR-855)


----------



## kearygriffin

iamjoem said:


> Hi there,
> I've scoured this thread but can't find an answer. I have Streambaby installed and running (ready & listening)...verbose mode on...and everything seems fine. Nothing shows up on my TiVo Series 3 though...no stream, baby, stream menu. What could be my problem?
> 
> The port is open: 7290. The IP is correct for the server: 10.10.0.100. Thank you so much! My family is looking over my shoulder as I type this  We're all wanting to see this work.
> 
> I've also disabled SPI on my router (DIR-855)


This is usually caused by multicast packets not getting through to the Tivo, which is what mDNS uses to let the TiVo know about streambaby.

From a quick search on the DIR-855 it seems there is an option somewhere "Enable Multicast Streams" that may be related to allowing/blocking multicast packets through the DIR-855. Try enabling this option and see what happens.


----------



## tgrim1

tgrim1 said:


> Ever since last night streambaby stopped working. After selecting a file to play, please wait comes up and thats it. I was running the r262 version and today loaded the .29 with the same results. Any ideas to check?
> 
> Here is the debugging from the log file:
> 
> 
> 
> Code:
> 
> 
> 01/25/10 17:00:01 StreamBabyConfig: WorkingDir: "F:\Software\Program Files\streambaby-svn-r262"
> 01/25/10 17:00:01 StreamBabyConfig: StreamBabyDir: F:\Software\Program Files\streambaby-svn-r262
> 01/25/10 17:00:01 StreamBabyConfig: CurDir: F:\Software\Program Files\streambaby-svn-r262\native
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avutil-49.dll
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avcodec-52.dll
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\avformat-52.dll
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Loaded: F:\Software\Program Files\streambaby-svn-r262\native\swscale-0.dll
> 01/25/10 17:00:02 FFmpegJavaConfig$1: Marking libswscale as available.
> 01/25/10 17:00:02 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
> 01/25/10 17:00:02 FFmpegExeVideoModule: FFmpegPath: F:\Software\Program Files\streambaby-svn-r262\native\ffmpeg.exe
> 01/25/10 17:00:02 FFmpegExeVideoModule: FFmpegExeModule: Loaded
> 01/25/10 17:00:02 StreamBabyMain: STARTING StreamBaby svn-r262...
> 01/25/10 17:00:02 Main: args= start=true
> 01/25/10 17:00:02 Main: args= [email protected]
> 01/25/10 17:00:02 Listener: [email protected] [email protected]
> 01/25/10 17:00:02 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
> 01/25/10 17:00:02 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
> 01/25/10 17:00:02 Listener: name=/streambaby/
> 01/25/10 17:00:02 Listener:
> 01/25/10 17:00:02 Listener: added factory
> 01/25/10 17:00:02 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
> 01/25/10 17:00:02 Main: MDNS: http://192.168.15.102:7290/streambaby/
> 01/25/10 17:00:02 Main: streambaby ready & listening.
> 01/25/10 17:00:02 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
> 01/25/10 17:00:07 TiVoListener: addService: HD-DVR
> 01/25/10 17:00:07 TiVoListener: Updating service: _http._tcp.local. (HD-DVR)
> 01/25/10 17:00:07 TiVoListener: resolveService: _http._tcp.local. (HD-DVR)
> 01/25/10 17:00:07 TiVoListener: jmDns found TiVo: HD-DVR, tsn: *****
> 01/25/10 17:11:48 Listener: http=HttpRequest /streambaby/icon.png
> 01/25/10 17:11:48 Listener: path=/streambaby/icon.png uri=/streambaby/
> 01/25/10 17:11:48 Listener:
> 01/25/10 17:11:48 Listener: 192.168.15.101 icon.png HTTP GET - to factory /streambaby/
> 01/25/10 17:11:48 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
> 01/25/10 17:11:55 Listener: http=HttpRequest /streambaby/
> 01/25/10 17:11:55 Listener: path=/streambaby/ uri=/streambaby/
> 01/25/10 17:11:55 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
> 01/25/10 17:11:55 Listener:
> 01/25/10 17:11:55 Factory: HME receiver connected
> 01/25/10 17:11:55 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
> 01/25/10 17:11:55 StreamBabyStream: width: 1280
> 01/25/10 17:11:55 StreamBabyStream: height: 720
> 01/25/10 17:11:55 StreamBabyStream: aspect: 1/1
> 01/25/10 17:11:55 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:11:55 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:11:55 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:55 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:55 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=background-720.jpg
> 01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-top-DELCLRSPC_ABC_SYM.png
> 01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-tips.png
> 01/25/10 17:11:55 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-middle-lc.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-bottom-empty.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-datafield.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/keyboard-focus.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/bar.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/left.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/right.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/up.png
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20Movies/
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20TV/
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Saved%20TV%20Eps/
> 01/25/10 17:11:56 HostContext: key=pw value=
> 01/25/10 17:11:56 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:11:56 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:11:56 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:56 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20Movies/
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Streaming%20TV/
> 01/25/10 17:11:56 RootDirEntry$dirEntryHandler: dirEntry: file:/G:/Saved%20TV%20Eps/
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/down.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pageup.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pagedown.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/pleasewait.png
> 01/25/10 17:11:56 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
> 01/25/10 17:11:56 SelectionScreen: focusOn entry=null
> 01/25/10 17:12:02 SelectionScreen: action=right
> 01/25/10 17:12:03 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
> 01/25/10 17:12:03 SelectionScreen: focusOn entry=null
> 01/25/10 17:12:18 SelectionScreen: code=19 rawcode=16845331
> 01/25/10 17:12:23 SelectionScreen: code=6 rawcode=16843782
> 01/25/10 17:12:24 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Animal Planet - Wild Russia - 4. Caucasus</h1><p>While Asiatic black bears hang from the trees and chipmunks search for food, the spotted sika deer travels to the coast to supplement its diet with kelp. The presence of deer on this open ground attracts the region's big predator, the Amur tiger. But the largest cat in the world has dangerous enemies itself: poaching and habitat destruction are an ever-present threat to tigers in the Ussuriland region of Russia.From high snowy peaks to baking deserts, the Caucasus is much more than a simple mountain range. With habitats including forests, alpine meadows and arid salt flats, like the rest of Russia it boasts a dazzling array of wildlife. Home to wild boars, Eurasian lynx, long-eared hedgehogs, bezoar ibex, rare highland European bison and the truly bizarre glass lizard, this area is another jewel in Russias wilderness crown.</p><p><br>Original Air Date: 07/30/2009<br>Episode #: 4</p></div></body></html>
> 01/25/10 17:12:24 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=389]
> 01/25/10 17:12:25 VideoModuleHelper: GetVidInfo: file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4
> 01/25/10 17:12:25 FFmpegJavaVideoModule: vidDur:2598932
> 01/25/10 17:12:25 FFmpegJavaVideoModule: VideoInfo:
> uri: file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4, Container: mp4, Duration: 2598.932 seconds
> Video: h264 1280x688 29.97 fps
> PixAspect: 1.0, Aspect: 1.8604652
> Audio: ac3 48000HZ 6 channels
> 01/25/10 17:12:25 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:25 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
> 01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:904089)
> 01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
> 01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:24)
> 01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 164, size:20772)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 172, size:92)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 264, size:20604)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 272, size:32)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 304, size:33)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 337, size:20531)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 345, size:16)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 361, size:36)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 369, size:28)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 397, size:20471)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 405, size:71)
> 01/25/10 17:12:25 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(97,99,45,51): AcX453Atom (offset: 421, size:55)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 476, size:24)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 500, size:20)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 520, size:28)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 548, size:20320)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20868, size:20)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 20876, size:12)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 20888, size:48)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 20896, size:40)
> 01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20936, size:102)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 20944, size:94)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 20956, size:33)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 20989, size:49)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 20997, size:41)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 21005, size:33)
> 01/25/10 17:12:25 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 21038, size:883075)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 21046, size:92)
> 01/25/10 17:12:25 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 21138, size:882975)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 21146, size:32)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 21178, size:33)
> 01/25/10 17:12:25 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 21211, size:882902)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 21219, size:20)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 21239, size:36)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 21247, size:28)
> 01/25/10 17:12:25 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 21275, size:882838)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 21283, size:150)
> 01/25/10 17:12:25 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 21299, size:134)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 21433, size:24)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 21457, size:311580)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 333037, size:40)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 333077, size:20792)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 353869, size:2732)
> 01/25/10 17:12:25 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 356601, size:547512)
> 01/25/10 17:12:25 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 904113, size(LRG):1071543931)
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: moov size 904081
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: mdat size 1071543915
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: trackType Snd trackTime: 1.92153582E14 adjustTime: 1.92153582E14 mediaTime(9223372036854775807/48000) adjTimePos(9223372036854775807/48000)
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: sampleNum 1
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: new key frame 1
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
> 01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: cutDuration 233902080
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:25 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: cutDuration 233903903
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: moov chunk 904129
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: cut moov chunk 904129
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: updateAmount 32
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: movie skip 0
> 01/25/10 17:12:25 MP4StreamFactory$2: DBG: Cut Movie time 2598 sec
> 01/25/10 17:12:25 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:25 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:25 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:28 ButtonScreen: action=down
> 01/25/10 17:12:29 ButtonScreen: action=down
> 01/25/10 17:12:30 ButtonScreen: action=right
> 01/25/10 17:12:31 ButtonScreen: action=pop
> 01/25/10 17:12:31 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:31 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:31 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:31 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:31 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:32 ButtonScreen: code=2 rawcode=16842754
> 01/25/10 17:12:32 PlayScreen: code=2 rawcode=16842754
> 01/25/10 17:12:32 ButtonScreen: code=2 rawcode=16842754
> 01/25/10 17:12:33 ButtonScreen: code=6 rawcode=16843782
> 01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 value=0
> 01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 ViewScreen: Desc: Animal Planet_ Wild Russia - 1x04 - Caucasus.mp4
> 01/25/10 17:12:33 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1132,height=365]
> 01/25/10 17:12:33 PreviewWindow: pWidth: 1280
> 01/25/10 17:12:33 PreviewWindow: preview parent=BView[#2572,bounds=0,0,1280x720]
> 01/25/10 17:12:33 HostContext: key=mpos:file:/G:/Streaming%20TV/Animal%20Planet_%20Wild%20Russia%20-%201x04%20-%20Caucasus.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
> 01/25/10 17:12:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 HostContext: compKey=*****-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
> 01/25/10 17:12:33 ViewScreen: goto position: 0, vidlen: 2598932
> 01/25/10 17:12:33 ViewScreen: Position not in buffer, starting new stream
> 01/25/10 17:12:34 ViewScreen: Openening stream at position: 0(0 secs)
> 01/25/10 17:12:34 VideoModuleHelper: quality setting is above quality of video, streaming normally
> 01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:24)
> 01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 24, size:904089)
> 01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 32, size:108)
> 01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 140, size:24)
> 01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 164, size:20772)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 172, size:92)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 264, size:20604)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 272, size:32)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 304, size:33)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 337, size:20531)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 345, size:16)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 361, size:36)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 369, size:28)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 397, size:20471)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 405, size:71)
> 01/25/10 17:12:34 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(97,99,45,51): AcX453Atom (offset: 421, size:55)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 476, size:24)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 500, size:20)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 520, size:28)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 548, size:20320)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20868, size:20)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 20876, size:12)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 20888, size:48)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 20896, size:40)
> 01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 20936, size:102)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 20944, size:94)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 20956, size:33)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 20989, size:49)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 20997, size:41)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 21005, size:33)
> 01/25/10 17:12:34 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 21038, size:883075)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 21046, size:92)
> 01/25/10 17:12:34 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 21138, size:882975)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 21146, size:32)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 21178, size:33)
> 01/25/10 17:12:34 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 21211, size:882902)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 21219, size:20)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 21239, size:36)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 21247, size:28)
> 01/25/10 17:12:34 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 21275, size:882838)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 21283, size:150)
> 01/25/10 17:12:34 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 21299, size:134)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 21433, size:24)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 21457, size:311580)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 333037, size:40)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 333077, size:20792)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 353869, size:2732)
> 01/25/10 17:12:34 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 356601, size:547512)
> 01/25/10 17:12:34 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 904113, size(LRG):1071543931)
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: moov size 904081
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: mdat size 1071543915
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Snd trackTime: 0.0 adjustTime: 0.0 mediaTime(0/48000) adjTimePos(0/48000)
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: sampleNum 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new key frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233902080
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233903903
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: moov chunk 904129
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: cut moov chunk 904129
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: updateAmount 32
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: movie skip 0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: Cut Movie time 2598 sec
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Snd trackTime: 0.0 adjustTime: 0.0 mediaTime(0/48000) adjTimePos(0/48000)
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: sampleNum 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new key frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/29970) adjTimePos(0/29970)
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: Movie time 2598 sec, cut at 0.0sec
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233902080
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: media time 0
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
> 01/25/10 17:12:34 MP4StreamFactory$2: 	DBG: chunk 1
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: cutDuration 233903903
> 01/25/10 17:12:34 MP4StreamFactory$2: DBG: new time 0.0
> 01/25/10 17:12:34 MP4StreamFactory$2: Start reinterleave...
> 01/25/10 17:12:34 MP4StreamFactory$2: Total size of all mdat chunks: 1071543915
> 01/25/10 17:12:34 MP4StreamFactory$2: Finished reinterleave in: 0.047s
> 01/25/10 17:12:34 NamedStream: Registering named stream: bea5012c-e3e4-4389-be7e-ac5623454182.stream
> 01/25/10 17:14:36 Listener:
> 01/25/10 17:14:36 Listener: connection to receiver closed
> 01/25/10 17:14:36 Listener:
> 01/25/10 17:14:36 Factory: HME receiver disconnected
> 01/25/10 17:30:02 InfoCache$PruneTask: Pruning cache...
> 01/25/10 17:30:02 InfoCache$PruneTask: Pruning complete.
> 01/25/10 18:00:02 InfoCache$PruneTask: Pruning cache...
> 01/25/10 18:00:02 InfoCache$PruneTask: Pruning complete.
> 01/25/10 18:30:02 InfoCache$PruneTask: Pruning cache...
> 01/25/10 18:30:02 InfoCache$PruneTask: Pruning complete.
> 
> It seems to be hung up at "NamedStream: Registering named stream" for some reason.
> Thanks!


bump.

any ideas?


----------



## iamjoem

Hi Keary,
I was hoping you'd reply.... Multicast was already enabled. Any other ideas? 
Thanks!


----------



## jcthorne

Using streambaby to browse through our archive it works great navigating the folders etc. When a single file is selected and the info screen is displayed, the title at the top of the screen shows the file name instead of the movie or episode title. Is there a setting to fix this? The title displays correctly on the previous screen showing the list of movies in that directory.


----------



## kearygriffin

iamjoem said:


> Hi Keary,
> I was hoping you'd reply.... Multicast was already enabled. Any other ideas?
> Thanks!


Sorry, nothing else specific as long as you are using one of the newer builds (a SVN version from less than 3-4 months ago or 0.29) and not 0.27. 0.27 had problems binding to the correct IP address.

I would still lean towards network issues, and multicast DNS not getting through in particular.


----------



## kearygriffin

tgrim1 said:


> Ever since last night streambaby stopped working. After selecting a file to play, please wait comes up and thats it. I was running the r262 version and today loaded the .29 with the same results. Any ideas to check?
> It seems to be hung up at "NamedStream: Registering named stream" for some reason.
> Thanks!


Sorry, can't think of anything-- I'd try to restart the TiVo (and also Streambaby, but it sounds like you have tried that many times)

Being hung up at the point is is indicative of no request coming in from the TiVo to retrieve the video (but it may be that Streambaby gets hung up before it can tell it to try and retrieve it also)


----------



## kearygriffin

jcthorne said:


> Using streambaby to browse through our archive it works great navigating the folders etc. When a single file is selected and the info screen is displayed, the title at the top of the screen shows the file name instead of the movie or episode title. Is there a setting to fix this? The title displays correctly on the previous screen showing the list of movies in that directory.


No setting, but doesn't the full title appear in the the "info box" section of the Play screen, where any other metadata is also displayed?

The thinking is that since you already have the full-title in the "info" section it would be redundant to have it is the title of screen, whereas the actual filename isn't show anywhere else (in my case I often have multiple copies of the same show in differing formats, so I can use the filename to differentiate them on the play screen if I can't figure out which is which)


----------



## realgtom

I've been experiencing the 0x50005 error running Streambaby (latest version). Streaming to my TiVo connected to my gigabit switch works fine. No error. Wireless seems to be the culprit if I press "play" on the folder name for the DVD files (typically 3-4 .VOB files serially numbered like VTS_01_1, VTS_01_2... However, if I drill down to each of the files and play them individually, I don't get the error. Weird, eh? I have been testing this over and over and even switching TiVos from wired to wireless and this seems to be the consistent issue.

Wireless Router is an AirPort Extreme base station. Latest 7.5 firmware. Replaced a Linksys WRT600N router with the AirPort due to the reports of the Linksys hardware defect where heat wasn't getting properly dissipated from the WRT600N and the wireless radio would shut down until the unit cooled off. AirPort works great - copied a terabyte worth of files and it worked fine.


----------



## iamjoem

kearygriffin said:


> Sorry, nothing else specific as long as you are using one of the newer builds (a SVN version from less than 3-4 months ago or 0.29) and not 0.27. 0.27 had problems binding to the correct IP address.
> 
> I would still lean towards network issues, and multicast DNS not getting through in particular.


OK, got it to work Keary. I had multicast enabled...I unchecked the box and it worked...then rechecked it...it still worked. I guess it needed a little kick in the butt.

However, now the video is very choppy at all resolutions (same to lowest). The Tivo is connected to a wireless bridge dap-1522 and my server is wired to the router. It's very weird. I even let the buffer fill and it is still choppy. Ideas?


----------



## kearygriffin

iamjoem said:


> I even let the buffer fill and it is still choppy. Ideas?


Are you saying that even if you pause the video playing until there is a good amount of "green bar" in front of your current position and then press play it is still "choppy"?

If this is the case I would lean towards some kind of video conversion issue, because once the video is buffered there should be no relation to network speed/PC speed/conversion speed as the data is already on the TiVo.

What is the video format of the video you are trying to play? Do you have any others in a different format to try. Streambaby is happiest with h.264/ac3 in an MP4 container.


----------



## iamjoem

kearygriffin said:


> Are you saying that even if you pause the video playing until there is a good amount of "green bar" in front of your current position and then press play it is still "choppy"?
> 
> If this is the case I would lean towards some kind of video conversion issue, because once the video is buffered there should be no relation to network speed/PC speed/conversion speed as the data is already on the TiVo.
> 
> What is the video format of the video you are trying to play? Do you have any others in a different format to try. Streambaby is happiest with h.264/ac3 in an MP4 container.


Yes, even with an inch of green as a buffer, the video is choppy. I haven't tried with mp4 actually...only mkv and avi. I will try this tonight.

Thanks!


----------



## bradtsg

I just switched from a Wireless connection to a wired connection via a powerline device and my TIVO no longer see's my PC. I plug in the Wireless adapter and it works fine. Is there something I need to change in order for it to work again?

Here is my setup.
Router: Linksys wrt54gs
Connected to Powerline router/adapter set to AP mode (DHCP turned off so all IP's come from my main router)

PC address 192.168.1.5
Tivo when on Wireless: 192.168.1.12
Tivo when on Powerline: 192.168.1.24

The MAC's are different and I originally set everything up on the wireless adapter. I can ping the Tivo fine from my PC and even get the Tivo page when I put the IP address in my browser. Any suggestions?


----------



## ke6rwj

02/05/10 19:37:40 ViewScreen: ReceivedEvent: key(release,select,16778246)
02/05/10 19:37:40 Application: Already initialized, not re-initing.
02/05/10 19:37:40 StreamBabyStream: code=1 message=can't create rsrc. unsupported stream type /streambaby/cf6d06d6-2881-4c4f-9c13-7bb7a15c7c5a.stream
ERROR code=1 Message: can't create rsrc. unsupported stream type /streambaby/cf6d06d6-2881-4c4f-9c13-7bb7a15c7c5a.stream
02/05/10 19:37:40 Application: Already initialized, not re-initing.
02/05/10 19:37:40 StreamBabyStream: code=3 message=resource 2720 not found (type type[-1])

Cant Create RSRC error....

This is a BRAND NEW Tivo HD... any ideas?Model TCD652160

I have another Tivo HD on the same StreamBaby install works perfectly... this is a second one.. soooo??


----------



## moyekj

What software version is your TiVo running? Takes several connections and a couple of reboots to get to latest software on your new TiVo.


----------



## ke6rwj

moyekj said:


> What software version is your TiVo running? Takes several connections and a couple of reboots to get to latest software on your new TiVo.


how can you tell??


----------



## ke6rwj

version 8.1.7c2-01-2-652


----------



## moyekj

ke6rwj said:


> version 8.1.7c2-01-2-652


 Yes that's way old software that doesn't support streaming. You will need to connect a few times & reboot when "restart pending" to get new software.


----------



## ke6rwj

cool thanks.... ( i would think they would have somewhat recent software... i was wrong)


----------



## ke6rwj

yup that was it.... its now at version 11 something...


----------



## iamjoem

iamjoem said:


> Yes, even with an inch of green as a buffer, the video is choppy. I haven't tried with mp4 actually...only mkv and avi. I will try this tonight.
> 
> Thanks!


Update: got this working by converting to mp4. the other formats are hit and miss. Thanks for the help!


----------



## alexnvrmnd

Does anyone know why the error of "Failed to open stream comes up"? I notice the ffmpeg.exe process doesn't start, and this happens at least once a day. This time it happened with an actual .mp4 file.

Any thoughts/suggestions are appreciated!!


----------



## ajayabb

alexnvrmnd said:


> Does anyone know why the error of "Failed to open stream comes up"? I notice the ffmpeg.exe process doesn't start, and this happens at least once a day. This time it happened with an actual .mp4 file.
> 
> Any thoughts/suggestions are appreciated!!


You may need to point ffmpeg.exe to the correct directory within the streambaby .ini folder.


----------



## Meatball

Alright, first up, I want to say, Streambaby is awesome. Great job on it so far. It's simple to use/setup and worked just about right out of the box. Keep up the awesome work.

Second, I want to apologize if the question I ask has already been discussed. I read through about 15 pages of posts, but just couldn't dig through everything.

I'm running Streambaby an on older PC I have lying around to pull content to both a S3 and HD Tivo. The PC is an old P3 1 Ghz with 512 MB of RAM and a 10/100 NIC (the rest of my network is CAT6 with GigE switches). I have other PC's I could use, but since this one draws less than 90 watts of power, I'd rather use it if possible to save some $ on electricity since the box will always be on..

What I've run into is buffering when I'm trying to stream videos. It varies on the amount of buffering needed between different videos, but they all seem to have it. For example, watching a .wmv of "Cranky Geeks", I need to buffer about 1 second for every 5 seconds of video time, whereas a HD .avi of a regular TV show I need to buffer 1 second for every 1-1.5 seconds of video time. This seems to be the case streaming to either of my Tivo's so I don't believe it's a problem with either Tivo.

So, I'm wondering if the buffering problems are caused by my network speed, my CPU/memory choking while trying to stream, or just something inherent in the app. 

Anyone have any thoughts? Thanks!


----------



## alexnvrmnd

ajayabb said:


> You may need to point ffmpeg.exe to the correct directory within the streambaby .ini folder.


Thanks for the suggestion. What would the correct syntax be for this? I'm still learning a lot about what's possible to specify and what the actual settings would be in the ini file.

Thanks for any help you or anyone else can give me.


----------



## kearygriffin

alexnvrmnd said:


> Does anyone know why the error of "Failed to open stream comes up"? I notice the ffmpeg.exe process doesn't start, and this happens at least once a day. This time it happened with an actual .mp4 file.
> 
> Any thoughts/suggestions are appreciated!!


For an MP4 ffmpeg is (usually) not needed, as it will get streamed pretty much as-is to the TiVo.

I can't think of anything off the top of my head that I've seen before-- If you try again immediately with the same file does it work the second time?

It may help to post a short bit of the log file when a failure occurs:
http://code.google.com/p/streambaby/wiki/debugging_problems


----------



## kearygriffin

Meatball said:


> So, I'm wondering if the buffering problems are caused by my network speed, my CPU/memory choking while trying to stream, or just something inherent in the app.
> 
> Anyone have any thoughts? Thanks!


It's hard to say-- When you get to the "play" screen after selecting the file to play, try selecting a lower bit-rate (instead of "same") for the files. If a lower bit rate works better (as far as buffering goes) it may be network/TiVo performance. If it doesn't it is probably CPU bound performance problems.

When working with older machines, I would highly suggest (if feasible) to preconvert the videos to h.264/MP4 format which require no transcoding to stream to the TiVo, removing the burden on the CPU.

This is actually exactly what I do, and then stream all the videos from a fit-PC that is running linux w/500mhz CPU, 256M memory.


----------



## Meatball

kearygriffin said:


> When working with older machines, I would highly suggest (if feasible) to preconvert the videos to h.264/MP4 format which require no transcoding to stream to the TiVo, removing the burden on the CPU.
> 
> This is actually exactly what I do, and then stream all the videos from a fit-PC that is running linux w/500mhz CPU, 256M memory.


Thanks for the info! I ended up biting the bullet and just installing it on another PC I had lying about. This one a Core 2 Duo e6600 with 4 GB of RAM and it's working like a champ. No buffering and it appears to be buffering 4-5 seconds for every second I watch. 

Any tweaks that would help SbS take advantage of the extra memory/dual core?

Thanks again!


----------



## bigbopper

Windows 7
I created system variable to add path:
C:\Program Files (x86)\Java\jre6\bin\java.exe
I left streambaby.bat as installed
I launch streambaby.bat and get "java not recognized blah blah..."

What should I do to my streambaby.bat?


----------



## Efranzen

I just started using Streambaby today and it works great for my needs. I've got a bunch of my fitness DVD's ripped. I didn't like constantly using my Blu-Ray player to play back old fitness DVD's. And I didn't like using up space on my Tivo to transfer them via Tivo Desktop or PyTivo.

With that second concern in mind, what is used to buffer the video using Streambaby? Is it using memory/hard drive space on my Tivo to buffer, or is it done on my computer end?


----------



## cburbs

bigbopper said:


> Windows 7
> I created system variable to add path:
> C:\Program Files (x86)\Java\jre6\bin\java.exe
> I left streambaby.bat as installed
> I launch streambaby.bat and get "java not recognized blah blah..."
> 
> What should I do to my streambaby.bat?


I am trying to resolve this as well. I just switched from winxp to Windows 7 64 bit and going thru and setting all programs back up.

I have my streambaby unzipped to C:\Tivo\Streambaby

If I try and run it I get -

'java' is not recognized as an internal or external command,
operable program or batch file.
Exited.
Press any key to continue . . .

****note if I run this as a service it works for the most part. I just can't seem to get directories off of my network PC to share like it used to. It always says No Entries in the Directory.

If I share something from the PC locally it is fine.


----------



## petestrash

cburbs said:


> I am trying to resolve this as well. I just switched from winxp to Windows 7 64 bit and going thru and setting all programs back up.


Perhaps this article may also apply to your problem.

Peter.


----------



## cburbs

petestrash said:


> Perhaps this article may also apply to your problem.
> 
> Peter.


I ran different tests from different pages and Java seems to be working. That link you sent me - I have all those files. 
Testing Java -

http://www.java.com/en/download/help/testvm.xml

http://www.javatester.org/index.htm

My thought is something in regards to that it now gets installed into C:\Program Files (x86)\Java\jre6\bin\java.exe instead of C:\Program Files\Java\jre6\bin\java.exe.


----------



## moyekj

cburbs, there are at least 2 ways to solve your problem:
1. Edit streambaby.bat file and replace *java* with *"C:\Program Files (x86)\Java\jre6\bin\java.exe"*. i.e. It would now look like this:


Code:


@echo off
set LAUNCHDIR="&#37;CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

2. Leave the streambaby.bat file alone and instead add *C:\Program Files (x86)\Java\jre6\bin* to your Windows Environment Variable *Path* setting.


----------



## kearygriffin

Edit: Looks like moyekj beat me to it.



cburbs said:


> My thought is something in regards to that it now gets installed into C:\Program Files (x86)\Java\jre6\bin\java.exe instead of C:\Program Files\Java\jre6\bin\java.exe.


I haven't run windows as my main OS in a couple of years, so I'm not as familiar as I should be with all of the ins and outs of where/how java is installed and whether or not it should be in the PATH (I do run Vista as a virtual machine to do some testing).

Having said that, I think if you edit the streambaby.bat file and change the line:


Code:


java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "&#37;~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8

to


Code:


"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 Files\Java\jre6\bin\java.exe

I'm a little unsure about the quotes around the full path, but I believe that should work to run an exe with spaces in the path.



cburbs said:


> ****note if I run this as a service it works for the most part. I just can't seem to get directories off of my network PC to share like it used to. It always says No Entries in the Directory.


Again, I can't give complete instructions, but if you look at the wiki for windows service installation:
http://code.google.com/p/streambaby/wiki/WindowServiceInstallation
there is a comment that states to allow the streambaby service to access remote shared drives:
"if you open up your computer's services and find the streambaby service. Open the properties and then goto the Log On tab. There is an option to specify which account the service uses. Just change it to an account that has privileges at the network location where your videos are. I run mine in this way and it works just fine."


----------



## cburbs

Guys thanks I have it running at the moment - I came across this by digging in this.

Would it be possible to add good info like this to either the wiki or maybe the 1st page of this posting so you don't have to dig deep for it.

My answer came from this post - http://www.tivocommunity.com/tivo-vb/showthread.php?p=7572855#post7572855

I will test the network logon for streambaby running as a service as well. This forum is great and thanks for the help.


----------



## moyekj

cburbs said:


> Guys thanks I have it running at the moment - I came across this by digging in this.
> 
> Would it be possible to add good info like this to either the wiki or maybe the 1st page of this posting so you don't have to dig deep for it.
> 
> My answer came from this post - http://www.tivocommunity.com/tivo-vb/showthread.php?p=7572855#post7572855


 There actually is a Wiki with information about it already:
http://code.google.com/p/streambaby/wiki/getting_started
I will update it shortly to add quotes around full path to java.exe.


----------



## cburbs

Somehow I missed that - my bad.

I also got the Streambaby service working with changing the logon info for the service.


----------



## cweb

I recently noticed the ability to delete files from streambaby. I find this quite useful. When it deletes the mp4 file, it leaves behind the associated .txt file. Is there a way to get it to enable it to also delete the .txt file?


----------



## rfryar

cweb said:


> I recently noticed the ability to delete files from streambaby. I find this quite useful. When it deletes the mp4 file, it leaves behind the associated .txt file. Is there a way to get it to enable it to also delete the .txt file?


I second this tweak, as well as to look for any .srt files with the same name as well. Not a huge deal as the next time I load up move videos on my HTPC I clean up the left overs that do not have a matching .mp4/mpg file, but still would be a nice tweak.

Rick


----------



## cburbs

I seem to be having alot of issues running this on my Win7 64bit system.

I was just watching a movie and it stopped like 20 minutes into it - Here is the output

.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3479 not found.
StreamBabyStream[#1,uri=null] warning: resource 3479 not found.
02/18/10 14:31:10 Listener: 192.168.xxx I/O Exception handling HTTP GET 7f5
3af43-7d18-4f7b-aead-837d29735b98.stream: Connection reset by peer: socket write
error
02/18/10 14:31:45 Listener: 192.168.xxxx c0acedc-377f-45ce-9eb2-5be041c4231d
.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3738 not found.
StreamBabyStream[#1,uri=null] warning: resource 3738 not found.
02/18/10 14:33:15 Listener: 192.168.xxx I/O Exception handling HTTP GET ac0
acedc-377f-45ce-9eb2-5be041c4231d.stream: Connection reset by peer: socket write
error
02/18/10 14:33:18 Listener: 192.168.xxx 1a66a72a-5adb-4b5b-8426-57a706587749
.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 4053 not found.
StreamBabyStream[#1,uri=null] warning: resource 4053 not found.

When I went to go restart the movie it wanted to start from the beginning and it wouldn't allow me to ff.

I had a similiar issue the other day though It was probably like over an hour into the movie and it just stopped(no buffering).

*It did it again only a little further into the movie -*
2/18/10 15:03:42 Listener: 192.168.248.212 0de91e40-02ca-4ca1-9849-d1de52ffe41d
.stream HTTP GET - to factory /streambaby/
02/18/10 15:17:45 Listener: 192.168.248.212 I/O Exception handling HTTP GET 0de
91e40-02ca-4ca1-9849-d1de52ffe41d.stream: Connection reset by peer: socket write
error
StreamBabyStream[#1,uri=null] warning: resource 3684 not found.
StreamBabyStream[#1,uri=null] warning: resource 3684 not found.
02/18/10 15:27:14 Listener: 192.168.248.212 22fc5f93-2804-4e07-9d1c-62b177d83941
.stream HTTP GET - to factory /streambaby/

Just stops and goes back to the Play screen. If you press play it auto goes to the beginning of the movie.


----------



## rfryar

cburbs said:


> I was just watching a movie and it stopped like 20 minutes into it...


Did this occur at the 1 gig break, or was it in the middle of the stream? Has any 1Gig restream break worked in the past in your set up?

Are you wireless or wired?

Thanks,

Rick


----------



## cburbs

rfryar said:


> Did this occur at the 1 gig break, or was it in the middle of the stream? Has any 1Gig restream break worked in the past in your set up?
> 
> Are you wireless or wired?
> 
> Thanks,
> 
> Rick


I am wired - Router ->PC Running Streambaby -> Switch -> Tivo.

This all worked without an issue when I used to run Windows XP.

I am now running Win7 64bit as I upgraded my PC.

This was about 20 minutes into the movie so not even a buffer point(at least I don't think so) . Then the movie played farther again but stopped and then goes back to the screen with Play, Quality, Go back on it.

I am just resetting everything up and trying to test things one at a time.

Should I try the same movie or try another one? They are all in the same share folder.

Ok I got the movie to about where it quit yesterday....did the same thing -
02/19/10 13:09:32 Listener: 192.168.248.212 I/O Exception handling HTTP GET 888
3546a-a792-4248-8ce1-e128f85416c5.stream: Connection reset by peer: socket write
error
StreamBabyStream[#1,uri=null] warning: resource 3604 not found.
StreamBabyStream[#1,uri=null] warning: resource 3604 not found.

Then if I hit play it starts from the beginning.

Some more info -

*This is the movie Hitch which plays fine.....*

Format : MPEG-PS
File size : 4.02 GiB
Duration : 1h 58mn
Overall bit rate : 4 862 Kbps

Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : [email protected]
Format settings, BVOP : Yes
Format settings, Matrix : Default
Duration : 1h 58mn
Bit rate mode : Variable
Bit rate : 4 637 Kbps
Nominal bit rate : 9 800 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Standard : NTSC
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Top Field First
Bits/(Pixel*Frame) : 0.448
Stream size : 3.83 GiB (95%)

Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Format profile : Dual Mono
Duration : 1h 58mn
Bit rate mode : Constant
Bit rate : 32.0 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Stream size : 27.1 MiB (1%)

*This movie is the problem one - WANTED*

Format : MPEG-PS
File size : 5.28 GiB
Duration : 1h 49mn
Overall bit rate : 6 881 Kbps

Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : [email protected]
Format settings, BVOP : Yes
Format settings, Matrix : Default
Duration : 91ms
Bit rate mode : Variable
Bit rate : 6 160 Kbps
Nominal bit rate : 9 800 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 16:9
Frame rate : 23.976 fps
Standard : NTSC
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Scan order : 2:3 Pulldown
Bits/(Pixel*Frame) : 0.743
Stream size : 68.4 KiB (0%)

Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 1h 49mn
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Surround: L R, LFE
Sampling rate : 48.0 KHz
Stream size : 352 MiB (7%)

*
This is the main difference between the two - would it be the issue.....*

Scan type : Progressive
Scan order : 2:3 Pulldown


----------



## rfryar

cburbs said:


> This was about 20 minutes into the movie so not even a buffer point(at least I don't think so) .


Since it occured at about the same time I think it is during a buffer point. You stated the video is ~4 gigs and ~2 hours long. That means ~20 minutes would be the first re-buffer point.

Do you have any MP2 or MP4 videos that are less than 1 gig? Do they play the whole way through?

Rick


----------



## kearygriffin

cburbs said:


> Just stops and goes back to the Play screen. If you press play it auto goes to the beginning of the movie.


I vaguely remember some issues when ripping from a DVD (I think in the particular case it was when people ripped DVD's by simply concatenating VOB files) streambaby and/or TiVo would get confused because of messed up time stamps. I don't remember the exact solution, but I think there are some mpeg "fixer upper" utilities out there that fixup the timestamps.

I have no idea if this is the issue or not, but I can see streambaby getting confused and ending early if the timestamps aren't consistent throughout the movie. So a timestamp near the end would say something like 0hrs 20min, and streambaby would think the whole movie is only 20mins long and end after 20 mins...

I can't quickly locate the area in this thread that talks about it, but I'm pretty sure its somewhere ;-)


----------



## cburbs

kearygriffin said:


> I vaguely remember some issues when ripping from a DVD (I think in the particular case it was when people ripped DVD's by simply concatenating VOB files) streambaby and/or TiVo would get confused because of messed up time stamps. I don't remember the exact solution, but I think there are some mpeg "fixer upper" utilities out there that fixup the timestamps.
> 
> I have no idea if this is the issue or not, but I can see streambaby getting confused and ending early if the timestamps aren't consistent throughout the movie. So a timestamp near the end would say something like 0hrs 20min, and streambaby would think the whole movie is only 20mins long and end after 20 mins...
> 
> I can't quickly locate the area in this thread that talks about it, but I'm pretty sure its somewhere ;-)


That is what I did with most of these so that could be the case.

To test this I think I will do the following:

I will take the other movie I recently merged the vob files together using a batch file and use the other program I used to see if that fixes it.
1)Batch file copy /b *.vob testmovie.mpg
2) Batch file copy /b 1.vob + 2 etc
3) Vob to mpeg

I will also dig in here to see if I can find anything.

Maybe you were referencing this post - (MPEG Streamclip) http://www.tivocommunity.com/tivo-vb/showthread.php?p=7506964#post7506964

So I merged the movies -
If I use the batch file way and then use mediainfo -
Format : MPEG-PS
File size : 4.29 GiB
Duration : 36mn 44s
Overall bit rate : 16.7 Mbps

If I use the software vob2mpeg.....

Format : MPEG-PS
File size : 4.29 GiB
Duration : 1h 41mn
Overall bit rate : 6 026 Kbps

See how the Durations show differently even though file size is the same...does this have something to do with what you are talking about?


----------



## kearygriffin

cburbs said:


> That is what I did with most of these so that could be the case.
> 
> To test this I think I will do the following:
> 
> I will take the other movie I recently merged the vob files together using a batch file and use the other program I used to see if that fixes it.
> 1)Batch file copy /b *.vob testmovie.mpg
> 2) Batch file copy /b 1.vob + 2 etc
> 3) Vob to mpeg
> 
> I will also dig in here to see if I can find anything.


I would also make sure that you are running the 32-bit version of java with streambaby, otherwise it won't be able to use the 32-bit ffmpeg libraries. This is usually not a fatal problem and I can't think how it could cause the issue being discussed, but since you mentioned upgrading to a 64-bit system it may play a part. You can edit the streambaby.bat to have it point to the correct location for 32-bit java. (I run linux so I'm not sure of the exact steps, but again I think it is somewhere in this thread).

Also, it may help if you find the portion of the log file that prints something like


Code:


02/20/10 01:20:30 FFmpegExeVideoModule: VideoInfo:
uri: file:/mnt/nas/media/videos/x.mpg, Container: mpeg, Duration: 2284.51 seconds
Video: mp2v 720x480 0.0 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: ac3 48000HZ 0 channels

The part before VideoInfo might be different (the part above that says FFmpegExeVideoModule).


----------



## kearygriffin

cburbs said:


> So I merged the movies -
> If I use the batch file way and then use mediainfo -
> Format : MPEG-PS
> File size : 4.29 GiB
> Duration : 36mn 44s
> Overall bit rate : 16.7 Mbps
> 
> If I use the software vob2mpeg.....
> 
> Format : MPEG-PS
> File size : 4.29 GiB
> Duration : 1h 41mn
> Overall bit rate : 6 026 Kbps
> 
> See how the Durations show differently even though file size is the same...does this have something to do with what you are talking about?


That is what I was talking about-- And I think it was the vob2mpeg software that had been mentioned in this thread before.

Are you saying that even after using vob2mpg you are still having difficulties?

(Sorry I'm getting a bit lost...)


----------



## cburbs

I need to test it now....I was saying look how the *Duration* part is different in media info between the two. I will let you know once I test it.


----------



## realgtom

Back on the HTTP 0x50005 error with streambaby. I have noticed that, if I unplug my wireless adapter, and plug it back it so that it reconnects with the router via DHCP, that streambaby can continue streaming movies without rebooting the server or restarting the streambaby service. 

We tend to get around this by simply playing the .VOB files one-by-one (still get the HTTP error sometimes, but not as often), instead of simply playing the folder containing the .VOB files and letting streambaby stream them in succession.


----------



## AZ_Tivo

I just installed streambaby as a service. It works fine sometimes and sometimes it stops streaming without any message. The video is just paused. I saw connection abort error in log file. Can someone help with this? What could be causing this? My tivo is hard wired and computer is a quad core box with 4 GB RAM.

02/28/10 16:11:19 Listener: added factory
02/28/10 16:11:19 Main: streambaby ready & listening.
02/28/10 16:26:33 Listener: 192.168.0.9 icon.png HTTP GET - to factory /streambaby/
02/28/10 16:26:45 Factory: HME receiver connected
02/28/10 16:27:10 Listener: 192.168.0.9 abc0e9e1-a5f2-48ad-a2dd-c2a4f9734afa.stream HTTP GET - to factory /streambaby/
02/28/10 16:27:29 Listener: 192.168.0.9 ff415a9b-d674-45e9-99ca-1e2e737196eb.stream HTTP GET - to factory /streambaby/
02/28/10 16:28:11 Listener: 192.168.0.9 I/O Exception handling HTTP GET ff415a9b-d674-45e9-99ca-1e2e737196eb.stream: Connection reset by peer: socket write error
02/28/10 16:28:27 Listener: 192.168.0.9 3bfc0afd-335b-48f7-962a-b3f781a61e2f.stream HTTP GET - to factory /streambaby/
02/28/10 16:29:38 Listener: 192.168.0.9 I/O Exception handling HTTP GET 3bfc0afd-335b-48f7-962a-b3f781a61e2f.stream: Connection reset by peer: socket write error
02/28/10 16:29:46 Listener: 192.168.0.9 5821e362-b7ac-4702-bb87-c4b2e8d1d8fc.stream HTTP GET - to factory /streambaby/
02/28/10 16:30:13 Listener: 192.168.0.9 I/O Exception handling HTTP GET 5821e362-b7ac-4702-bb87-c4b2e8d1d8fc.stream: Connection reset by peer: socket write error
02/28/10 16:30:23 Listener: 192.168.0.9 a683ceb1-5681-40f3-aa17-18fcd83f3550.stream HTTP GET - to factory /streambaby/
02/28/10 16:31:12 Listener: 192.168.0.9 I/O Exception handling HTTP GET a683ceb1-5681-40f3-aa17-18fcd83f3550.stream: Connection reset by peer: socket write error
02/28/10 16:31:22 Listener: connection to receiver closed
02/28/10 16:31:22 Factory: HME receiver disconnected
02/28/10 16:31:30 Listener: 192.168.0.9 icon.png HTTP GET - to factory /streambaby/
02/28/10 17:48:39 Listener: 192.168.0.9 icon.png HTTP GET - to factory /streambaby/
02/28/10 17:48:45 Factory: HME receiver connected
02/28/10 17:49:17 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error
02/28/10 17:49:27 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error
02/28/10 17:49:32 Listener: 192.168.0.9 f22a23d7-bc20-4a3b-bceb-071bb6a2ff68.stream HTTP GET - to factory /streambaby/
02/28/10 17:50:30 Listener: 192.168.0.9 370bb0ba-7593-465e-abef-6e865773dcaf.stream HTTP GET - to factory /streambaby/
02/28/10 17:50:54 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error
02/28/10 17:50:59 Listener: 192.168.0.9 1a1ad5e4-2f87-49d9-976d-3eec6af85485.stream HTTP GET - to factory /streambaby/
02/28/10 18:04:00 Listener: 192.168.0.9 1a1ad5e4-2f87-49d9-976d-3eec6af85485.stream HTTP GET - to factory /streambaby/
02/28/10 18:21:17 Listener: connection to receiver closed
02/28/10 18:21:17 Factory: HME receiver disconnected
02/28/10 18:21:36 Listener: 192.168.0.9 icon.png HTTP GET - to factory /streambaby/
02/28/10 18:21:45 Factory: HME receiver connected
02/28/10 18:23:03 Listener: connection to receiver closed
02/28/10 18:23:03 Factory: HME receiver disconnected
02/28/10 20:40:18 Listener: 192.168.0.9 icon.png HTTP GET - to factory /streambaby/
02/28/10 20:40:29 Factory: HME receiver connected
02/28/10 20:40:57 Listener: 192.168.0.9 8ff95f88-9f73-4a0c-8975-a525aa5bb6a3.stream HTTP GET - to factory /streambaby/
02/28/10 20:41:24 Listener: 192.168.0.9 b7c859e3-329c-4945-a1d1-bba8c980c4b0.stream HTTP GET - to factory /streambaby/
02/28/10 20:47:05 Listener: 192.168.0.9 I/O Exception handling HTTP GET b7c859e3-329c-4945-a1d1-bba8c980c4b0.stream: Connection reset by peer: socket write error
02/28/10 20:47:39 Listener: 192.168.0.9 cef5da98-c405-4a4d-b2a6-62979d300b97.stream HTTP GET - to factory /streambaby/
02/28/10 20:48:16 Listener: 192.168.0.9 I/O Exception handling HTTP GET cef5da98-c405-4a4d-b2a6-62979d300b97.stream: Software caused connection abort: socket write error


----------



## hawkinsb

I, too, have just installed Streambaby and am seeing it hang on a frozen frame. I'm using Windows 7, 64-bit but using 32-bit Java, wired connection. Movies are DVDs run through VideoReDo QSF...no recoding, just MPGs. In my case, it seems like I have to completely restart Streambaby once this occurs. If I try to re-enter the menu item on my Tivo, it just hangs on "Please Wait."

I'll try to post more details from home later...


----------



## Doug G

Having lots of problems with this app. I have a library of home videos already encoded as MPEG2 program streams which pull just fine (no xcode) using pyTivo. Running XP home and 0.29 version of streambaby. When I attempt to stream any of these videos, I get about 1s of smooth playback and then it starts to stutter badly. Checking task mgr shows ffmpeg is running and it shouldn't be. Doesn't run for pyTivo using exact same file. I disabled the preview generation, and this greatly reduced the amount of CPU used by ffmpeg but its still running around 15&#37;. Streambaby log also showed something about "resource not found" and then listed a number for each stream I tried to start. Maybe this is a clue?

My network is NOT the problem, using hardwired MOCA adapters with >200mpbs connectivity. I can transfer SD at 2-3x real-time speeds (from pyTivo or other HD Tivo) and even HD at slightly better than 1x.

I was really hoping to be able to use streambaby to eventually push mp4 files remuxed from m2ts (AVCHD video) but if I can't even get the lowly mp2 stuff working, I'm not holding out much hope.

Does anyone know why streambaby is acting so bizarre with simple mpg files that work natively with pyTivo?

EDIT: I just reviewed the most recent log and it seems those "resource" errors I saw before no longer appear, yet the symptom is the same. No mention of ffmpeg running in the log but it is. I added the default config line for mpegmodule stream types (mpeg,m2v,*) just to be sure there wasn't some defaults problem, but still the same. Here's the log, seems pretty normal so not sure why I'm having problems:

03/04/10 08:00:03 Listener: added factory
03/04/10 08:00:03 Main: streambaby ready & listening.
03/04/10 08:00:40 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streambaby/
03/04/10 08:00:45 Factory: HME receiver connected
03/04/10 08:01:01 Listener: 192.168.1.10 823b9509-7530-418e-94dd-da78e7a2025b.stream HTTP GET - to factory /streambaby/
03/04/10 08:02:30 Listener: 192.168.1.10 I/O Exception handling HTTP GET 823b9509-7530-418e-94dd-da78e7a2025b.stream: Connection reset by peer: socket write error
03/04/10 08:02:42 Listener: 192.168.1.10 ba9fce3a-475a-498e-8fad-0feab958fabc.stream HTTP GET - to factory /streambaby/
03/04/10 08:03:05 Listener: 192.168.1.10 I/O Exception handling HTTP GET ba9fce3a-475a-498e-8fad-0feab958fabc.stream: Connection reset by peer: socket write error
03/04/10 08:03:09 Listener: connection to receiver closed
03/04/10 08:03:09 Factory: HME receiver disconnected
03/04/10 08:03:13 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streambaby/


----------



## kearygriffin

For the problems above, I would recommend turning on some more debug information to see if it can help lead to where the issue is:

http://code.google.com/p/streambaby/wiki/debugging_problems

Also it was mentioned that ffmpeg was running when it shouldn't be, and you turned off previews. There are a couple of ways to turn off previews, but please try to use this method in the streambaby.ini file. This should make sure ffmpeg is not used to generate the previews. (It's possible it is trying to autogenerate them even if it is not going to use them, but I'm not sure)


Code:


preview.autogenerate=false

Other than that I can't think of what the issues may be... You mentioned pyTivo can push the videos OK. Can streambaby also push (as opposed stream) the videos w/out a problem (and without running ffmpeg in the background?)


----------



## Doug G

Thanks for the feedback. Yes, I have the preview and autogenerate turned off by adding and setting both those config options to false in the ini file. I don't see any files now being generated in the cache directory, but maybe I missed something being created somewhere else?

I'll check the debug info and enable some tonight and try a few more things and post results.

How do I push from streambaby? I guess I thought that's what the streaming was doing without actually saving the file locally?

EDIT: Aaaah, I see. If I add the username/pwd options it will push instead of steam. I'll have to try that. Sorry, missed that while looking for mode options earlier today!


----------



## kearygriffin

Doug G said:


> EDIT: Aaaah, I see. If I add the username/pwd options it will push instead of steam. I'll have to try that. Sorry, missed that while looking for mode options earlier today!


If you add the username/password options you should get the option to "push" (as well as stream) on the "Play" screen.


----------



## AZ_Tivo

Doug G said:


> EDIT: Aaaah, I see. If I add the username/pwd options it will push instead of steam. I'll have to try that. Sorry, missed that while looking for mode options earlier today!


Where?

EDIT: I found it. It would've been nice to add this info in ini file and comment it.

tivo.username= (default:none)
tivo.password= (default:none)

allows TiVo to push videos to your TiVo's instead of streaming. 
Should be set to username+password of you tivo.com account


----------



## Doug G

OK, push doesn't work either. I get a "push succeeded msg" but if I go back to the now playing list, the title doesn't appear. About a minute later it finally shows up, but there is no transfer actually occurring, although ffmpeg is running around 15%. No network activity. If I try to play, I get the "not enough, please try in a minute" error.

I noted I'm still getting the "resource not found: 2057" error but for some reason it doesn't get put in the log even with the debug turned on!

Here's my debug log from trying to push a simple mpg2 file which pulls using pyTivo just fine:

03/04/10 19:03:39 VideoModuleHelper: GetVidInfo: file:/E:/Videos/2002/Sep_Dec_2002.mpg
03/04/10 19:03:39 FFmpegJavaVideoModule: vidDur:4443840
03/04/10 19:03:39 FFmpegJavaVideoModule: VideoInfo:
uri: file:/E:/Videos/2002/Sep_Dec_2002.mpg, Container: mpeg, Duration: 4443.84 seconds
Video: mp2v 720x480 29.97002997002997 fps
PixAspect: 0.8888889, Aspect: 1.3333334
Audio: ac3 48000HZ 2 channels
03/04/10 19:03:39 HostContext: key=mpos:file:/E:/Videos/2002/Sep_Dec_2002.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:39 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:39 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:39 HostContext: compKey=xxxxx-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:40 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:03:40 HostContext: key=mpos:file:/E:/Videos/2002/Sep_Dec_2002.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:40 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:40 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:40 HostContext: compKey=xxxxx-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:40 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:03:42 ButtonScreen: action=down
03/04/10 19:03:42 ButtonScreen: action=down
03/04/10 19:03:43 ButtonScreen: code=6 rawcode=16843782
03/04/10 19:03:43 InternalPush: intPush: file:/E:/Videos/2002/Sep_Dec_2002.mpg, tivo: Media Room
03/04/10 19:03:43 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:03:45 Mind: <?xml version="1.0" encoding="utf-8"?><success/>
03/04/10 19:03:45 NamedStream: Registering named stream: 6a6af348-3fa4-4501-9358-766e77a2869c.stream
03/04/10 19:03:45 Mind: <?xml version="1.0" encoding="utf-8"?><pcBodyList><isBottom>true</isBottom><isTop>true</isTop><pcBody><bucketNumber>283</bucketNumber><levelOfDetail>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1000851671</pcBodyId><type>pcBody</type></pcBody></pcBodyList>
03/04/10 19:03:45 Mind: <?xml version="1.0" encoding="utf-8"?><bodyOffer><bodyId>tsn:xxxxx</bodyId><bodyOfferId>tivo:bo.15000011</bodyOfferId><createDate>2010-03-05 00:03:43</createDate><description>Sep_Dec_2002.mpg</description><duration>4443</duration><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetail><offerId>tivof.bs.15000011</offerId><partnerId>tivot.3187</partnerId><pcBodyId>tivoc.1000851671</pcBodyId><publishDate>2010-03-04 19:03:45</publishDate><size>-1</size>Sep_Dec_2002.mpg<state>complete</state><subtitle>Sep_Dec_2002.mpg</subtitle>Sep_Dec_2002.mpg<updateDate>2010-03-05 00:03:43</updateDate>http://192.168.1.2:7290/streambaby/6a6af348-3fa4-4501-9358-766e77a2869c.stream</bodyOffer>
03/04/10 19:03:45 Mind: <?xml version="1.0" encoding="utf-8"?><subscribeResult><subscription><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandidates><bodyId>tsn:xxxx</bodyId><hdOnly>false</hdOnly><idSetSource><contentId>tivo:ct.bs.15000011</contentId><offerId>tivof.bs.15000011</offerId><type>singleOfferSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><levelOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>tivo:sb.15000051</subscriptionId>pcBodySubscription<type>subscription</type><uiType>cds</uiType></subscription></subscribeResult>
03/04/10 19:03:45 PlayScreen$pushTivoButtonHandler$1: Push succeeded: Sep_Dec_2002.mpg->Media Room
03/04/10 19:03:52 ButtonScreen: code=6 rawcode=16843782
03/04/10 19:03:52 HostContext: key=mpos:file:/E:/Videos/2002/Sep_Dec_2002.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:52 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:52 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:52 HostContext: compKey=xxxx-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:52 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:03:52 HostContext: key=mpos:file:/E:/Videos/2002/Sep_Dec_2002.mpg applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:52 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/04/10 19:03:52 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:52 HostContext: compKey=xxxx-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/04/10 19:03:52 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:03:55 ButtonScreen: action=pop
03/04/10 19:03:55 SelectionScreen: focusOn entry=Sep_Dec_2002.mpg
03/04/10 19:03:55 SelectionScreen: focusOn entry=Sep_Dec_2002.mpg
03/04/10 19:03:56 SelectionScreen: action=pop
03/04/10 19:03:56 SelectionScreen: focusOn entry=2002
03/04/10 19:03:56 SelectionScreen: focusOn entry=2002
03/04/10 19:03:57 SelectionScreen: action=pop
03/04/10 19:03:57 SelectionScreen: focusOn entry=Family Videos
03/04/10 19:03:57 SelectionScreen: focusOn entry=Family Videos
03/04/10 19:03:58 SelectionScreen: action=pop
03/04/10 19:03:58 Listener: 
03/04/10 19:03:58 Listener: connection to receiver closed
03/04/10 19:03:58 Listener: 
03/04/10 19:03:58 Factory: HME receiver disconnected
03/04/10 19:04:03 Listener: http=HttpRequest /streambaby/icon.png
03/04/10 19:04:03 Listener: path=/streambaby/icon.png uri=/streambaby/
03/04/10 19:04:03 Listener: 
03/04/10 19:04:03 Listener: 192.168.1.11 icon.png HTTP GET - to factory /streambaby/
03/04/10 19:04:03 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
03/04/10 19:05:01 Listener: http=HttpRequest /streambaby/6a6af348-3fa4-4501-9358-766e77a2869c.stream
03/04/10 19:05:01 Listener: path=/streambaby/6a6af348-3fa4-4501-9358-766e77a2869c.stream uri=/streambaby/
03/04/10 19:05:01 Listener: 
03/04/10 19:05:01 Listener: 192.168.1.11 6a6af348-3fa4-4501-9358-766e77a2869c.stream HTTP GET - to factory /streambaby/
03/04/10 19:05:01 StreamBabyStream$StreamBabyStreamFactory: uri=6a6af348-3fa4-4501-9358-766e77a2869c.stream
03/04/10 19:05:01 NamedStream: Getting mapped stream for named stream: 6a6af348-3fa4-4501-9358-766e77a2869c.stream
03/04/10 19:05:01 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/04/10 19:05:01 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -threads 1 -sameq -ab 192k -ar 48000
03/04/10 19:05:01 FFmpegExeVideoModule: FFmpegCmd: C:\streambaby-0.29\native\ffmpeg.exe -ss 0.0 -i E:\Videos\2002\Sep_Dec_2002.mpg -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -threads 1 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
03/04/10 19:05:01 NamedStream: Getting mapped stream for named stream: 6a6af348-3fa4-4501-9358-766e77a2869c.stream
03/04/10 19:07:12 ShutdownHook: Cleaning up...

Here's mediaInfo output showing the stream is valid:

General
Complete name : E:\Videos\2002\Sep_Dec_2002.mpg
Format : MPEG-PS
File size : 3.28 GiB
Duration : 1h 14mn
Overall bit rate : 6 345 Kbps

Video
ID : 224 (0xE0)
Format : MPEG Video
Format version : Version 2
Format profile : [email protected]
Format settings, BVOP : Yes
Format settings, Matrix : Default
Format_Settings_GOP : M=3, N=15
Duration : 1h 14mn
Bit rate mode : Variable
Bit rate : 5 869 Kbps
Nominal bit rate : 8 000 Kbps
Width : 720 pixels
Height : 480 pixels
Display aspect ratio : 4:3
Frame rate : 29.970 fps
Standard : NTSC
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Interlaced
Scan order : Bottom Field First
Bits/(Pixel*Frame) : 0.567
Stream size : 3.04 GiB (92%)

Audio
ID : 128 (0x80)
Format : AC-3
Format/Info : Audio Coding 3
Duration : 1h 14mn
Bit rate mode : Constant
Bit rate : 224 Kbps
Channel(s) : 2 channels
Channel positions : L R
Sampling rate : 48.0 KHz
Stream size : 119 MiB (4%)


----------



## Doug G

Following up on my above post, here is the output from the cmd window on a push attempt showing the resource errors. Currently it appears as transferring but looks like SB thinks its closed already?

Initializing StreamBaby v0.29...
03/05/10 07:59:45 Listener: added factory
03/05/10 07:59:45 Main: streambaby ready & listening.
03/05/10 08:01:01 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=47
03/05/10 08:01:08 Factory: HME receiver connected
*StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.*
03/05/10 08:01:42 Mind: <?xml version="1.0" encoding="utf-8"?><success/>
03/05/10 08:01:42 Mind: <?xml version="1.0" encoding="utf-8"?><pcBodyList><isBottom>tr
ue</isBottom><isTop>true</isTop><pcBody><bucketNumber>283</bucketNumber><levelOfDetail
>low</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1000851671</pcBodyId><type>pc
Body</type></pcBody></pcBodyList>
03/05/10 08:01:42 Mind: <?xml version="1.0" encoding="utf-8"?><bodyOffer><bodyId>tsn:6
520001805EBDB7</bodyId><bodyOfferId>tivo:bo.15000021</bodyOfferId><createDate>2010-03-
05 13:01:39</createDate><description>Sep_Dec_2002.mpg</description><duration>4443</dur
ation><encodingType>mpeg2ProgramStream</encodingType><levelOfDetail>high</levelOfDetai
l><offerId>tivof.bs.15000021</offerId><partnerId>tivot.3187</partnerId><pcBodyId>t
ivoc.1000851671</pcBodyId><publishDate>2010-03-05 08:01:42</publishDate><size>-1</si
ze>Sep_Dec_2002.mpg<state>complete</state><subtitle>Sep_Dec_2002.mpg<
/subtitle>Sep_Dec_2002.mpg<updateDate>2010-03-05 13:01:39</updateDate><
url>http://192.168.1.2:7290/streambaby/94d3fea0-a9c2-4150-8a92-3d955ab988fb.stream</ur
l></bodyOffer>
03/05/10 08:01:42 Mind: <?xml version="1.0" encoding="utf-8"?><subscribeResult><subscr
iption><autoRecord>true</autoRecord><bodyGeneratesCandidates>false</bodyGeneratesCandi
dates><bodyId>tsn:6520001805EBDB7</bodyId><hdOnly>false</hdOnly><idSetSource><contentI
d>tivo:ct.bs.15000021</contentId><offerId>tivof.bs.15000021</offerId><type>singleOff
erSource</type></idSetSource><isAdult>false</isAdult><isForKids>false</isForKids><leve
lOfDetail>high</levelOfDetail><showStatus>rerunsAllowed</showStatus><subscriptionId>ti
vo:sb.15000021</subscriptionId>pcBodySubscription<type>subscription</ty
pe><uiType>cds</uiType></subscription></subscribeResult>
03/05/10 08:01:56 Listener: 192.168.1.10 94d3fea0-a9c2-4150-8a92-3d955ab988fb.stream H
TTP GET - to factory /streambaby/
03/05/10 08:02:05 Listener: connection to receiver closed
03/05/10 08:02:05 Factory: HME receiver disconnected
03/05/10 08:02:10 Listener: 192.168.1.10 icon.png HTTP GET - to factory /streambaby/


----------



## net114

Anyone know if the new Tivo models will still support Stream baby?


----------



## ajayabb

Just started having problems with StreamBaby. I can access all my video files on my PC, but when I got to play one it hangs with "please wait". I am running Windows 7. I turned off my firewall. Here are the logs. Any help would be appreciated

03/06/10 20:36:56 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
03/06/10 20:36:56 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
03/06/10 20:36:56 StreamBabyMain$BshLogger: Downloading...
03/06/10 20:37:01 StreamBabyMain$BshLogger: Finished downloading, begin extract.
03/06/10 20:37:02 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
03/06/10 20:37:03 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
03/06/10 20:37:04 Listener: added factory
03/06/10 20:37:04 Main: streambaby ready & listening.
03/06/10 20:37:52 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
03/06/10 20:37:57 Factory: HME receiver connected
03/06/10 20:39:00 Listener: connection to receiver closed
03/06/10 20:39:00 Factory: HME receiver disconnected


----------



## ajayabb

ajayabb said:


> Just started having problems with StreamBaby. I can access all my video files on my PC, but when I got to play one it hangs with "please wait". I am running Windows 7. I turned off my firewall. Here are the logs. Any help would be appreciated
> 
> 03/06/10 20:36:56 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
> 03/06/10 20:36:56 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
> 03/06/10 20:36:56 StreamBabyMain$BshLogger: Downloading...
> 03/06/10 20:37:01 StreamBabyMain$BshLogger: Finished downloading, begin extract.
> 03/06/10 20:37:02 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
> 03/06/10 20:37:03 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
> 03/06/10 20:37:04 Listener: added factory
> 03/06/10 20:37:04 Main: streambaby ready & listening.
> 03/06/10 20:37:52 Listener: 192.168.1.5 icon.png HTTP GET - to factory /streambaby/
> 03/06/10 20:37:57 Factory: HME receiver connected
> 03/06/10 20:39:00 Listener: connection to receiver closed
> 03/06/10 20:39:00 Factory: HME receiver disconnected


Nevermind,I broke my Number One Rule. Reboot! Problem solved


----------



## Doug G

OK, I just got streambaby working. I noticed Cburbs had the same resource errors I had on his Win7 platform and someone suggested he make sure he was running the 32bit java engine. This got me thinking maybe my Java install was corrupted. I removed the 10 (no kidding) java versions listed in Add/Remove programs and then installed the latest one. Now I can push my MPEG-2 SD videos, but one I demuxed and re-muxed as MP4 using mp4box pushed ok, but doesn't play so now I just have to figure out how to get that working and looks like I should be in business.


----------



## draleaf

ok...im having an issue with streambaby...been useing it with no issue for months and love it and really cant go with out it...i got a new computer and reloaded it and now im getting this error..

Initializing StreamBaby v0.29...
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpSer
ver.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:
169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:
103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:152)
error: Address already in use: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class

Exited.
Press any key to continue . . .

please help
thank you

Doug


----------



## bluetex

draleaf said:


> ok...im having an issue with streambaby...been useing it with no issue for months and love it and really cant go with out it...i got a new computer and reloaded it and now im getting this error..
> 
> Initializing StreamBaby v0.29...
> 
> java.net.BindException: Address already in use: JVM_Bind
> 
> error: Address already in use: JVM_Bind
> 
> Doug


These two messages spell it out. The port you're trying to use for Streambaby on the PC is already in use by something. You can either chase down the port conflict or move the streambaby config to use a different port.


----------



## draleaf

bluetex said:


> These two messages spell it out. The port you're trying to use for Streambaby on the PC is already in use by something. You can either chase down the port conflict or move the streambaby config to use a different port.


thank you! thats what i needed to know. i scanned for open ports and changed the config file to it now all is well!


----------



## orangeboy

Question: How does Stream Baby determine hardware platform when deciding to transcode a video or not? With pyTivo, I know there are a list of TSN's that can be modified in a .py file (config.py?). When the Premiere arrives, I know I'll need to update that file. Is there anything needed with Stream Baby?


----------



## wmcbrine

Streambaby only works on Series 3/HD currently, and they all have the same capabilities. (In HME/VLC, the same is true, but I do check for software < 9.4, just to display an incompatibility notice.)

pyTivo has already been updated for the Premiere (untested of course).


----------



## Philipp5

Help please. Newbie here. I can't get it to work either. Get a similar message as draleaf above. Maybe others are having the same problem...

error: Cannot assign requested address: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class

Here is my config file (Tivo is on 192.168.1.41 and I checked with the What's Running software and nothing is running on port 7290).

#
# ./streambaby --help for more configuration file options
#

dir.1=W:\My Videos
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.41
# port to use
#port=7290

When I change the config file to 
dir.1=W:\My Videos
dir.1.name=My Videos
dir.2=W:\Videos
dir.2.name=Video Outputs
#ip=192.168.1.41
# Ip address to bind to
# most people don't need to change this. 
Main --port 7290 --ip 192.168.1.41 class
# port to use
port=7290

it runs, but I don't see Streambaby on my Tivo:
Initializing StreamBaby v0.29...
03/16/10 01:41:16 Listener: added factory
03/16/10 01:41:16 Main: streambaby ready & listening.


----------



## FrankMurphy

Hi,

I am using the version of Streambaby built in to pyTivoX 1.3 for Mac. Any HD videos I try to play stall after about a minute or so. No 'buffering' messages; they just stall. I don't think this is a bandwidth issue, since it occurs even over a wired ethernet connection. I don't think it's a horsepower issue, since I'm streaming from a MacBook Pro 2.4 GHz Intel Core Duo with 2GB RAM. The TiVo box is an HDXL. Any ideas? Is this normal?


----------



## kearygriffin

Philipp5 said:


> Help please. Newbie here. I can't get it to work either. Get a similar message as draleaf above. Maybe others are having the same problem...
> 
> error: Cannot assign requested address: JVM_Bind
> usage: Main [--port <port>] [--ip <ip>] class
> 
> Here is my config file (Tivo is on 192.168.1.41 and I checked with the What's Running software and nothing is running on port 7290).
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=W:\My Videos
> dir.1.name=My Videos
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> ip=192.168.1.41
> # port to use
> #port=7290


The ip= should be the IP address of the machine running Streambaby. If it is not set in the streambaby.ini (or commented out), streambaby should attempt to automatically detect the IP address and use it, but maybe that's not working for some reason. (Setting to the IP of the TiVo definitely will not work).

If that's not the problem (if the TiVo is still not seeing streambaby listed in Music, Photos & Showcases) you may have an issue with one of your routers not letting mDNS / multicast packets through. There have been some issues noted in this thread with some wireless routers not passing the multicast messages. If you search this thread for mDNS and/or multicast you may find some tips for various routers.


----------



## kearygriffin

FrankMurphy said:


> Hi,
> 
> I am using the version of Streambaby built in to pyTivoX 1.3 for Mac. Any HD videos I try to play stall after about a minute or so. No 'buffering' messages; they just stall. I don't think this is a bandwidth issue, since it occurs even over a wired ethernet connection. I don't think it's a horsepower issue, since I'm streaming from a MacBook Pro 2.4 GHz Intel Core Duo with 2GB RAM. The TiVo box is an HDXL. Any ideas? Is this normal?


When you say "stall" I assume you mean "pause" when it reaches the end of the buffer, and if you want a minute and press play it will restart again.

The issue is most likely that the TiVo itself cannot keep up with HD MPEG-2 being streamed to it. For whatever reason the TiVo is very slow when receiving MPEG-2 video, so streaming HD MPEG-2 is problematic.

H.264 encoded video (mp4 files) should not have the same problem.


----------



## Hcour

Wow. I've been trying out your program. Amazing, just fantastic. And the ability to delete a show from my hd after I watch it is soooo convenient.

Kudos and thanks for a great program.


----------



## Hcour

FrankMurphy said:


> Hi,
> 
> I am using the version of Streambaby built in to pyTivoX 1.3 for Mac. Any HD videos I try to play stall after about a minute or so. No 'buffering' messages; they just stall. I don't think this is a bandwidth issue, since it occurs even over a wired ethernet connection. I don't think it's a horsepower issue, since I'm streaming from a MacBook Pro 2.4 GHz Intel Core Duo with 2GB RAM. The TiVo box is an HDXL. Any ideas? Is this normal?


I had some mkv files do this, so I set the video quality to Medium. They stream fine now and I really don't notice any big difference in the PQ.


----------



## cbomba

I searched for MKV and found a batch file that converts to MP4 so I am not sure if streaming MKV files using Streambaby is possible. Can anyone point me in the right direction on this? Do I need to convert the file to something else then make it available for streaming? Can Streambaby convert on the fly? 

Thanks,
Chris


----------



## kearygriffin

cbomba said:


> I searched for MKV and found a batch file that converts to MP4 so I am not sure if streaming MKV files using Streambaby is possible. Can anyone point me in the right direction on this? Do I need to convert the file to something else then make it available for streaming? Can Streambaby convert on the fly?
> 
> Thanks,
> Chris


It's a tradeoff--

Streambaby will (should) automatically transcode the MKV into an MPEG-2 stream that the TiVo can handle and then stream it to the TiVo.

The downside of this is that the TiVo has a hard time keeping up with HD MPEG-2 (regardless of network bandwidth, it seems to be a processing issue on the TiVo itself). It does a much better job and you can get much higher bitrates with H.264 in an MP4 container.

So the bottom line is yes, it will automatically transcode it, however you may have better results if you transform the H.264 MKV into an MP4 file manually.


----------



## cbomba

So what programs do you recommend I use for the conversion? Handbrake? If so, what settings do you suggest. I have some MKV files that are 6 GB. I don't mind having a file size that big if it looks good.


----------



## orangeboy

cbomba said:


> So what programs do you recommend I use for the conversion? Handbrake? If so, what settings do you suggest. I have some MKV files that are 6 GB. I don't mind having a file size that big if it looks good.


Get these files:

eac3to.exe - used to manipulate/modify certain aspects of the extracted audio file (if needed)
-AND-
mp4creator.exe - used to combine the separate audio and video tracks into a single file mp4 container.
-OR-
mp4box.exe - also used to combine the separate audio and video tracks into a single file mp4 container.

Then drag your .mkv files onto this batch file.
There's about 4 pages of info in this thread entitled "Best way to get H.264 (MKV) 1080 videos onto HD Tivo with pyTivo?" The batch file is now located in the last post of that thread.


----------



## waynomo

Hi,

I have Streambaby installed. I figured out that I need to convert HD content to mpeg2. When I playback a selection in "Same" quality, the sound is fine only of course you can only play about 20 seconds at a time. When I select lower qualities I get no audio. All I get is a loud hum or buzz.

I used kmttg to download and convert. I used the ff_h264_high_rate encoding profile to convert. If I transfer back using TiVo Desktop or at same quality the audio is fine.

TIA for your assistance. I know this has probably been answered several times before, but searching has not produced any answers.


----------



## seanreit

Would anyone be willing to log into my computer via vnc or logmein and setup one of these programs for me on an XP pro machine for a fee I would be willing to pay by paypal.com.

I am not much of a computer guy, but do want to be able to stream movies to my tivo hd.


----------



## ascuser

The people in these forums are usually more than willing to help for free. If you are technically minded enough to even know what VNC is, then we should be able to walk you through setting up either streambaby or pytivo without too much effort. I have never used streambaby but pytivo is pretty simple to setup. I know you mentioned elsewhere that you couldn't get either one working, but if you elaborate on what is happening, I think we can help you.


----------



## Hyrax

I wonder, do you need to have Tivo Desktop running for streambaby, kmttg, or pytivo to work? I ask because Norton's gives me constant (4 or more a minute) warnings about Tivo Desktop being allowed to to access something. I used msconfig to not load the Tivo stuff (TivoNotify, TivoServer, and TivoTransfer) at start up and the warnings are gone, but I wonder what I need to have loaded to get streambaby and all running when I want it.


----------



## kearygriffin

Hyrax said:


> I wonder, do you need to have Tivo Desktop running for streambaby, kmttg, or pytivo to work? I ask because Norton's gives me constant (4 or more a minute) warnings about Tivo Desktop being allowed to to access something. I used msconfig to not load the Tivo stuff (TivoNotify, TivoServer, and TivoTransfer) at start up and the warnings are gone, but I wonder what I need to have loaded to get streambaby and all running when I want it.


I can say for streambaby the answer would be no, TiVo desktop does not have to be running (or installed or that matter). My guess would be the same for the other applications also. The only thing that may not work without TiVo desktop installed would be playback of encrypted .TiVo files on the desktop. I think for this to work TiVo Desktop usually needs to be installed (but does not need to be running).


----------



## wmcbrine

When you consider that all of these programs can run on platforms where TiVo Desktop doesn't, that should give you your answer.


----------



## scooterboy

This isn't a complaint, a problem report, or a suggestion.

This is only a thank you to the author of this fine tool for sharing it. Every time I use it I marvel at how well it works.

Well done!


----------



## mangocat1

Will Stream Baby Stream be upgraded to work with the new series of TiVos?

This is a fantastic, simple to use program! Being able to stream different shows in different formats to multiple TiVos at the same time is a major plus!


----------



## diesel66

Hi,
I was about to post and was having all sorts of problems getting streambaby to run. It was running fine in Windows but I couldn't see it on the TiVo. I set the logging to verbose using com.unwiredappeal=Verbose and I noticed the IP address was not the address of the machine I was running it on. 
I am running VMWare on this machine and it was actually the IP address of a VMWare virtual network adapter. Once I figured this out, the fix was easy. Just change the ip= line to the line of the actual network adapter address. Voila, worked fine.

Just figured if anyone else had this issue, might be nice to see the fix.


----------



## rfryar

mangocat1 said:


> Will Stream Baby Stream be upgraded to work with the new series of TiVos?
> 
> This is a fantastic, simple to use program! Being able to stream different shows in different formats to multiple TiVos at the same time is a major plus!


Based on some of the initial feedback of the Premiere it does not sound like it needs to be upgraded yet. There may be future capabilities like new codecs and container support in the Premiere, but Streambaby, as is, works on the new TiVos.

Rick


----------



## bkdtv

How is Streambaby supposed to handle 2:35:1 encoded 1080p videos (ex: 1920x800)? Is it supposed to add bars to the top and bottom for output?

On the Premiere, Streambaby outputs 1920x1080p24 material as 1080p24, but 1920x800p24 video is output as 1280x720.


----------



## rfryar

bkdtv said:


> How is Streambaby supposed to handle 2:35:1 encoded 1080p videos (ex: 1920x800)? Is it supposed to add bars to the top and bottom for output?
> 
> On the Premiere, Streambaby outputs 1920x1080p24 material as 1080p24, but 1920x800p24 video is output as 1280x720.


For MP4 videos Streambaby does not change the video. It just streams the file as is (Making minor header changes). So if this video is 1280x800 it is streamed in that fashion. The TiVo is what is deciding how to show that to the screen.

For example all of my MP4s are 1080p24 even though the HD TiVo I use does not directly output that format. It properly "down converts" that to 1080i30 or whatever it supports.

Now when Streambaby transcodes it, then StreamBaby may need to be altered to transcode to a progressive format. However I never transcode anything through StreamBaby so I can not answer those questions.

Rick


----------



## AZrob

Hi all,

I just installed Streambaby ver .29 on my XP PC and I cannot for the life of me get it to appear on Tivo. I've searched thru this thread, and I think I've tried the mentioned fixes, including toggling Multicast filtering and being sure the firewall is disabled.

I have a Linksys WRT110, and I"m beginning to wonder if that model just won't work with Streambaby. Has anyone out there been successful using this router?

Also, for more info:

Pytivo works fine.
Music and Photos works fine.
Tivo Desktop works fine (I'm at 2.7). 
The log has no errors - it comes up into a listening status. I have error message set to verbose:

_04/03/10 10:02:27 Listener: 
04/03/10 10:02:27 Listener: added factory
04/03/10 10:02:27 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
04/03/10 10:02:27 Main: MDNS: http://192.168.1.2:7290/streambaby/
04/03/10 10:02:27 Main: streambaby ready & listening.
04/03/10 10:02:27 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
04/03/10 10:10:08 TiVoListener: addService: BEDROOM
04/03/10 10:10:08 TiVoListener: Updating service: _http._tcp.local. (BEDROOM)
04/03/10 10:10:08 TiVoListener: resolveService: _http._tcp.local. (BEDROOM)
04/03/10 10:10:08 TiVoListener: jmDns found TiVo: BEDROOM, tsn: 652000180559DFF

_
My .ini file is basic:
_
dir.1="C:\Documents and Settings\Rob\My Documents\My Videos"
dir.1.name=My Videos
#ip=192.168.1.37
#port=7290
_
...and it does come up seeing my IP and uses the 7290 port by default.

Any feedback would be appreciated!

Rob from AZ


----------



## epstewart

_My original post below asked why I couldn't get StreamBaby to change to a lower bitrate when necessary. After I posted it I tried replacing the version of ffmpeg that I had initially copied into /usr/bin/ on my Mac. It was copied from the ffmpeg file in the ffmpeg subfolder of my folder containing the kmttg software.

I replaced it with the ffmpeg file that is included within ffmpegX. I used a right click on that file to "Show Package Contents," then accessed Contents/Resources/ffmpeg from the Finder window that opened.

In /usr/lib/ I continued to use copies of the ffmpeg-associated dylib files that came with kmttg, since I could find no equivalents in the ffmpegX package.

Once I changed to the different ffmpeg file, StreamBaby could change bitrates just fine.

Then I went back and looked more closely at the ffmpeg file that came with kmttg. It is only 90 bytes in length! Meanwhile, there is also a 172-KB file called ffmpeg.bin in the kmttg package, and it seems to be the "real" ffmpeg. I tried executing it in Terminal, and it behaves like ffmpeg. When I deleted the /usr/bin/ffmpeg file copied from ffmpegX and copied the ffmpeg.bin file that came with kmttg to /usr/bin/ (keeping the .bin extension), StreamBaby again worked fine and could change bitrates just fine.
_

I am new to StreamBaby, which I am using on my iMac running Mac OS X 10.5.8, connected via Ethernet and an AirPort Base Station to my TiVo Series3.

I'm having a problem playing a file of mine, Le Mans.mpg, in StreamBaby. The file was created from a TiVo file transferred to my computer and then exported an an .mpg file by VideoReDo running under Parallels/Windows XP. The files bitrate is apparently too high, at 12,361 kb/s, and it keeps pausing when I stream it to my TiVo. Fair enough. I don't have a problem with that, since SB running on the TiVo supposedly can change to a different, lower bitrate, but when I try to do so, I get "Failed to load video" on the TV screen. I'd like to ask the experts' help on this problem.

When I fire up SB in Terminal on the Mac, I see:



Code:


Initializing StreamBaby v0.29...
04/03/10 15:05:08 Listener: added factory
04/03/10 15:05:08 Main: streambaby ready & listening.

and the Java app runs on my Mac. When I initialize SB on the TiVo, I see in Terminal:



Code:


04/03/10 15:17:37 Listener: 10.0.1.6 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=47
04/03/10 15:17:46 Factory: HME receiver connected

though sometimes it's



Code:


04/03/10 16:00:47 Listener: 10.0.1.6 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=47
04/03/10 16:00:55 Factory: HME receiver connected
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.
StreamBabyStream[#1,uri=null] warning: resource 2057 not found.

with two "warning: resource 2057 not found" messages. On the TV screen I see my top-level TiVo Transfers folder. When on the TiVo I navigate from it to my Le Mans.mpg file and select Play, I see in Terminal:



Code:


04/03/10 15:19:54 SocketProcessInputStream: Socket was never accepted!
04/03/10 15:19:54 ZipGeneratingPreview$GenThread: Generation Error creating zip pvw: /Users/eric/Desktop/streambaby-0.29/cache/Le Mans.mpg-10058420224-d41d8cd98f00b204e9800998ecf8427e.pvw.tmp
04/03/10 15:19:55 Listener: 10.0.1.6 7c91fe35-a5b2-427d-8012-c0cbff0fc8ff.stream HTTP GET - to factory /streambaby/

The movie does begin to play on the TV, though, but very soon it automatically pauses because (I assume) the bitrate was too high. When, at the TiVo, I hit the left button to exit from the paused playback of the movie, I see in Terminal:



Code:


StreamBabyStream[#1,uri=null] warning: resource 2655 not found.
StreamBabyStream[#1,uri=null] warning: resource 2655 not found.
04/03/10 15:22:56 Listener: 10.0.1.6 I/O Exception handling  HTTP GET 7c91fe35-a5b2-427d-8012-c0cbff0fc8ff.stream: Broken pipe

When, at the TiVo, I then change the bitrate to Highest 5,000 kb/s and try to resume playing the movie, I see on the TV screen "Failed to load video," and I see in Terminal:



Code:


04/03/10 15:25:42 SocketProcessInputStream: Socket was never accepted!
04/03/10 15:25:42 ZipGeneratingPreview$GenThread: Generation Error creating zip pvw: /Users/eric/Desktop/streambaby-0.29/cache/Le Mans.mpg-10058420224-d41d8cd98f00b204e9800998ecf8427e.pvw.tmp
04/03/10 15:25:42 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error

I don't really know if I have ffmpeg set up correctly. I copied the Unix executable of ffmpeg from my kmttg_v0p7i folder to /usr/bin/. I copied the five dylib files from the same folder to /usr/lib/.

Anyway, can anyone tell me how to go about getting everything working? Thanks very much in advance ...


----------



## AZrob

AZrob said:


> Hi all,
> 
> I just installed Streambaby ver .29 on my XP PC and I cannot for the life of me get it to appear on Tivo. I've searched thru this thread, and I think I've tried the mentioned fixes, including toggling Multicast filtering and being sure the firewall is disabled.
> 
> I have a Linksys WRT110, and I"m beginning to wonder if that model just won't work with Streambaby. Has anyone out there been successful using this router?
> 
> Also, for more info:
> 
> Pytivo works fine.
> Music and Photos works fine.
> Tivo Desktop works fine (I'm at 2.7).
> The log has no errors - it comes up into a listening status.
> 
> My .ini file is basic:
> _
> dir.1="C:\Documents and Settings\Rob\My Documents\My Videos"
> dir.1.name=My Videos
> #ip=192.168.1.37
> #port=7290
> _
> ...and it does come up seeing my IP and uses the 7290 port by default.
> 
> Rob from AZ


Never mind! I used the "create your own webserver" solution and it worked! Never even created a webserver before! I used the Abyss webserver app. Took me all of 5 minutes.....thanks StreamBaby!

Rob


----------



## c293716

I apologize if this has been already mentioned, but is there a way to cache the file & directory listings on the server so that it can just be transmitted as a "text file" or whatnot to the TiVo? The slowest part of the app seems to be just doing file & directory listings.


----------



## bkdtv

The Premiere doesn't appear to support 640Kbps DD via streaming with Streambaby. The 640Kbps tracks play fine if pushed to the Premiere in a MP4 (with pyTiVo).


----------



## innocentfreak

Is it possible to add support for WTV files on Streambaby?


----------



## orangeboy

innocentfreak said:


> Is it possible to add support for WTV files on Streambaby?


I haven't tried it, and I've been known to give bad advice before, but this looks like it has potential if you put it in your streambaby.ini file:

ffmpegexe.transcodeformats=wtv


----------



## wmcbrine

Last I checked, FFmpeg couldn't handle WTV yet. Has that changed?


----------



## Rdian06

wmcbrine said:


> Last I checked, FFmpeg couldn't handle WTV yet. Has that changed?


No, it's listed as a possible 2nd tier project for FFmpeg's Summer of Code 2010, but no one has volunteered to do it.

See http://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code_2010#WTV_.28de.29muxer


----------



## realgtom

realgtom said:


> "Can't Run. An error occurred while running the application. The application closed during a read (0x50006). Press select to continue." I am getting a bunch of the random http errors in streambaby also. Doesn't seem to be related to any particular file - it just periodically happens. Maybe streambaby can't handle network interruptions?


I had previously posted that I was experiencing the HTTP errors described above. These seem to have been resolved by replacing my Linksys WET610N wireless ethernet bridges on my TiVos with AirPort Express configured to join my wireless network and permit wired Ethernet clients. I have been streaming all evening without the errors - and I normally would only be able to run 20-30 minutes without things crashing. What tipped me off was that I could power cycle the Linksys WET610N and I could stream again without doing anything to my media center (including not needing to restart the Streambaby service).


----------



## garrubal

How does Streambaby on the Tivo compare to streaming on a popcorn hour?


----------



## mustang1068

This is not really a streambaby specific question, but wondering if anyone has an answer. None of my java based apps restart after hibernate/resume on Windows - which is very annoying since I hibernate each night and resume each morning, the HD Photos app, streambaby, Galleon, etc.. all need to be manually restarted.

Any ideas?


----------



## kearygriffin

mustang1068 said:


> This is not really a streambaby specific question, but wondering if anyone has an answer. None of my java based apps restart after hibernate/resume on Windows - which is very annoying since I hibernate each night and resume each morning, the HD Photos app, streambaby, Galleon, etc.. all need to be manually restarted.
> 
> Any ideas?


This is probably a mDNS issue (the protocol the TiVo uses to discover what HME applications are running).

I don't know how to fix the actual problem, but you can probably work around it by using "Manually add a server..." instead of letting the TiVo auto-discover the apps. You'll need to do some additional setup to make this work, see this top part of this post:
http://tivocommunity.com/tivo-vb/showthread.php?p=7487199#post7487199


----------



## innocentfreak

Rdian06 said:


> No, it's listed as a possible 2nd tier project for FFmpeg's Summer of Code 2010, but no one has volunteered to do it.
> 
> See http://wiki.multimedia.cx/index.php?title=FFmpeg_Summer_Of_Code_2010#WTV_.28de.29muxer


Ok thanks guys. Sorry I assumed FFmpeg supported it, but I keep forgetting most programs have been slow on the uptake of it.


----------



## jctivo

I am new to streambaby so any help would be greatly appreciated.

1. Streambaby keeps crashing on mpg files that are made from WinX DVD Ripper Platinum. Has anyone run across this problem?

2. I tried using DVDShrink to rip DVDs and it creates .VOB, .BUP, .IFO files. Can Streambaby read these files?

Thank you in advance.
jctivo


----------



## realgtom

Am converting my .VOB files (which Streambaby streams just fine) into single .mpg files since I like the TiVo "duration" bar to show the full movie duration (and not just the duration of the current .VOB file).

Feature request #1: Several .srt subtitle files that I am downloading (like from subscene.com) have HTML tags (including _ and ) in them. Any way to have Streambaby support those tags and show the proper HTML formatting? Right now, TiVo just displays the tags like dialogue dialogue dialogue instead of dialogue dialogue dialogue.

Feature request #2: Right now, Streambaby can jump to a particular minute of the show by entering 100 (for the 100th minute of the movie) even though the duration bar would show 1:40 (in hours:minutes). Seems more logical to enter 140(enter) to move to 1:40 - rather than to enter 100 to move to 1:40?

Thoughts?

Awesome, awesome product you have going here!_


----------



## epstewart

realgtom said:


> Am converting my .VOB files (which Streambaby streams just fine) into single .mpg files since I like the TiVo "duration" bar to show the full movie duration (and not just the duration of the current .VOB file).
> 
> Feature request #1: Several .srt subtitle files that I am downloading (like from subscene.com) have HTML tags (including _ and ) in them. Any way to have Streambaby support those tags and show the proper HTML formatting? Right now, TiVo just displays the tags like dialogue dialogue dialogue instead of dialogue dialogue dialogue.
> 
> Feature request #2: Right now, Streambaby can jump to a particular minute of the show by entering 100 (for the 100th minute of the movie) even though the duration bar would show 1:40 (in hours:minutes). Seems more logical to enter 140(enter) to move to 1:40 - rather than to enter 100 to move to 1:40?
> 
> Thoughts?
> 
> Awesome, awesome product you have going here!_


_

Agree: awesome.

Honoring  markup, etc.: Good idea. Hope it's easily doable.

Jump to particular second: Ditto. Hope it can be done easily ..._


----------



## superflysocal

Can someone explain what previews is all about? When I select a file such as mp4 or avi file, is it suppose to display a thumbnail of the video? I did not change any default settings concerning previews.


----------



## KarlH

Streambaby starts up fine, but immediately crashes whenever I try to access it from the TiVo:


Code:


4/21/10 22:01:14 Application: An error occurred during application initialization.
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
   at java.lang.System.arraycopy(libgcj.so.90)
   at gnu.java.awt.color.SrgbConverter.toRGB(libgcj.so.90)
   at java.awt.color.ICC_ColorSpace.toRGB(libgcj.so.90)
   at java.awt.image.ComponentColorModel.getRGBFloat(libgcj.so.90)
   at java.awt.image.ComponentColorModel.getRGB(libgcj.so.90)
   at gnu.java.awt.peer.gtk.CairoGraphics2D.drawRaster(libgcj.so.90)
   at gnu.java.awt.peer.gtk.CairoGraphics2D.drawRenderedImage(libgcj.so.90)
   at gnu.java.awt.peer.gtk.CairoSurfaceGraphics.drawRenderedImage(libgcj.so.90)
   at com.tivo.hme.bananas.ScaledImageElement.getScaledImage(ScaledImageElement.java:114)
   at com.tivo.hme.bananas.ScaledImageElement.createResource(ScaledImageElement.java:78)
   at com.tivo.hme.bananas.BSkinPlus$Element.getResource(BSkinPlus.java:150)
   at com.tivo.hme.bananas.BSkinPlus.get(BSkinPlus.java:112)
   at com.tivo.hme.bananas.BKeyboardPlus$SkinKeyboard.<init>(BKeyboardPlus.java:1150)
   at com.tivo.hme.bananas.BKeyboardPlus.<init>(BKeyboardPlus.java:127)
   at com.unwiredappeal.tivo.streambaby.PasswordScreen.<init>(PasswordScreen.java:17)
   at com.unwiredappeal.tivo.streambaby.StreamBabyStream.first(StreamBabyStream.java:126)
   at com.unwiredappeal.tivo.streambaby.StreamBabyStream.init(StreamBabyStream.java:83)
   at com.tivo.hme.bananas.BApplicationPlus.initResolution(BApplicationPlus.java:362)
   at com.tivo.hme.bananas.BApplicationPlus.initApp(BApplicationPlus.java:287)
   at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:175)
   at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
   at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
   at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
   at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
   at java.lang.Thread.run(libgcj.so.90)

This is with 0.29, running under 64-bit Ubuntu 9.04. The same failure happens with 0.24, 0.25, and 0.27. Java is 64-bit (and libgcj.so.90 is a 64-bit library).

Looking at strace output, streambaby-0.29/assets/background-480.jpg appears to be accessed just before the exception. This image is fine, and can be properly accessed/viewed.

What's weird is that streambaby used to work fine, until I upgraded something on the linux box (sorry, but if I knew what, I wouldn't still have this problem  ). I've deleted various cache directories and the ~/.bananas-plus directory, and I've downgraded from java 6 to java 5, but nothing helps. I've even edited streambaby.ini to just point to a single (empty) /tmp/test directory, but that doesn't help, either.

Any ideas? Thanks.


----------



## tomm1079

i know this would be minor but any plans to make something that looks like the HD UI...
Maybe an option?


----------



## KarlH

KarlH said:


> Streambaby starts up fine, but immediately crashes whenever I try to access it from the TiVo:


Found the problem: gnu java.

Once I switched to sun java using the "update-java-alternatives" command, the exception went away. See the corresponding man page for usage info.


----------



## gonzotek

KarlH said:


> Found the problem: gnu java.
> 
> Once I switched to sun java using the "update-java-alternatives" command, the exception went away. See the corresponding man page for usage info.


What flavor of Linux are you using? I think I may have had the same issue a few weeks back and didn't get it resolved (and due to moving didn't have a chance to post and troubleshoot it until now). I'm running Ubuntu (9.04 on one machine, 9.10 on another).

I'll see if the update-java-alternatives command does anything for me when I get home later today. Thanks.


----------



## comandercody

Getting this:

Initializing StreamBaby v0.29...
04/25/10 02:12:42 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
04/25/10 02:12:42 StreamBabyMain$BshLogger: Connecting: http://streambaby.google
code.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
java.net.UnknownHostException: streambaby.googlecode.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
ce)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown So
urce)
at java.net.URL.openStream(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at bsh.Reflect.invokeMethod(Unknown Source)
at bsh.Reflect.invokeObjectMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHAssignment.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHTryStatement.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.source(Unknown Source)
at bsh.Interpreter.source(Unknown Source)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.beanShell(StreamBaby
Main.java:176)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:42)
04/25/10 02:12:42 StreamBabyMain$BshLogger: Error retrieving/decoding ffmpeg fro
m: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz
2
04/25/10 02:12:42 StreamBabyMain: error running first run script: P:\Set Up File
s\Tivo\streambaby-0.29.zip\streambaby-0.29\scripts/first-run.bsh
Exited.
Press any key to continue . . .

Tivo does not see Streambaby, please help, here is copy of INI file:

#
# ./streambaby --help for more configuration file options
#

dir.1=E:\pyTIVO\Movies and TV Shows
dir.1.name=Movies and TV Shows
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Running .29

Thanks.


----------



## orangeboy

comandercody said:


> Getting this:
> 
> <snip>
> ...04/25/10 02:12:42 StreamBabyMain$BshLogger: Error retrieving/decoding ffmpeg fro
> m: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz
> <snip>


Yuck. Streambaby is referencing a file with the name hardcoded with a version number. Apparently the ffmpeg version used has been upgraded, but Streambaby wants to download the old version...


----------



## kearygriffin

orangeboy said:


> Yuck. Streambaby is referencing a file with the name hardcoded with a version number. Apparently the ffmpeg version used has been upgraded, but Streambaby wants to download the old version...


This shouldn't be an issue-- It is a version of ffmpeg Streambaby has been tested with and is hosted on the streambaby project site. (So it does still exist and will still exist until I manually update the version number in streambaby and upload a new version to the streambaby site)

I just checked the link above and does it work (when you add the 2 at the end, as in .bz2, which was posted on a seperate line in the log post).

My guess is it was a transient googlecode.com issue. Try again and see what happens.

If you are still having an issue you can manually download a win32 version of ffmpeg and extract the files in the "bin" directory of the archive and put the files in streambaby/native)

Keary


----------



## orangeboy

kearygriffin said:


> This shouldn't be an issue-- It is a version of ffmpeg Streambaby has been tested with and is hosted on the streambaby project site. (So it does still exist and will still exist until I manually update the version number in streambaby and upload a new version to the streambaby site)
> 
> I just checked the link above and does it work (when you add the 2 at the end, as in .bz2, which was posted on a seperate line in the log post).
> 
> My guess is it was a transient googlecode.com issue. Try again and see what happens.
> 
> If you are still having an issue you can manually download a win32 version of ffmpeg and extract the files in the "bin" directory of the archive and put the files in streambaby/native)
> 
> Keary


Ah! I see the error of my ways (or the error of wordwrap! )


----------



## comandercody

kearygriffin said:


> This shouldn't be an issue-- It is a version of ffmpeg Streambaby has been tested with and is hosted on the streambaby project site. (So it does still exist and will still exist until I manually update the version number in streambaby and upload a new version to the streambaby site)
> 
> I just checked the link above and does it work (when you add the 2 at the end, as in .bz2, which was posted on a seperate line in the log post).
> 
> My guess is it was a transient googlecode.com issue. Try again and see what happens.
> 
> If you are still having an issue you can manually download a win32 version of ffmpeg and extract the files in the "bin" directory of the archive and put the files in streambaby/native)
> 
> Keary


OK, Thank you for your help. I did as described above, now I am receiving this:

Initializing StreamBaby v0.29...
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpSer
ver.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:
169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:
103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:152)
error: Address already in use: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class

Exited.
Press any key to continue . . .


----------



## comandercody

Anyone?


----------



## orangeboy

comandercody said:


> Anyone?


Issue this command from a command prompt window:

netstat -ano|find "7290"

and make note of the last number.

Open Windows Task Manager, click the "Processes" tab, then click the "PID" field to sort the Process IDs. Go through the PIDS until you find the last number found in the output from the netstat command. This is the process/task that is using the port that Streambaby wants/needs to use.


----------



## comandercody

Thanks.

The process ID was 1436, which in the Process tab said "java.exe".

I terminated that process and ran the Streambaby BAT again and got the same error. Sorry, I am not that technically proficient, should i uninstall java?

Thanks in advance for any help.


----------



## comandercody

OK, I just ran the netsat command again and it said 2068, which in the process tab said "java.exe" again.


----------



## comandercody

I did not mention this before but I have had streambaby running on my PC for a long time and have had no issues until now streaming movies to my Tivo HD. I lost a hard drive on the PC, which made the drive letter that streams to Tivo change(the streaming hard drive did not die, it was another drive). Now I am having these issues, thanks.


----------



## jbernardis

Possibly the port you are trying to use is already in use. You don't have streambaby running twice do you? If not, it's probably some other process.

My version of streambaby defaults to port 7290. This can be specified in the streambaby.ini file (don't forget to remove the '#' so that it is not a comment). This is a simple enough test to see if that helps.


----------



## epstewart

superflysocal said:


> Can someone explain what previews is all about? When I select a file such as mp4 or avi file, is it suppose to display a thumbnail of the video? I did not change any default settings concerning previews.


Unless I am mistaken, "previews"/"thumbnails" have to do with what happens when you are streaming a video to your TiVo and you fast forward or reverse at high speed. Instead of trying to keep up with the nominal search speed, StreamBaby will display still frames in the center of your screen, changing them at nominal 1-sec. intervals. These are the "previews"/"thumbnails". I believe they are readily available for .mp4/.m4v files but for .mpg files they have to be created in a process that itself takes some time.

Can anyone else add to or correct the above?


----------



## orangeboy

comandercody said:


> Thanks.
> 
> The process ID was 1436, which in the Process tab said "java.exe".
> 
> I terminated that process and ran the Streambaby BAT again and got the same error. Sorry, I am not that technically proficient, should i uninstall java?
> 
> Thanks in advance for any help.


No, don't uninstall java. It is a requirement of streambaby. It does sound like streambaby is already running. Is it running as a Windows Service?

You can check by running "program" Services.msc...


----------



## comandercody

When I change the port in the Streambaby .ini I get this:

Initializing StreamBaby v0.29...
04/27/10 20:38:17 Listener: added factory
04/27/10 20:38:17 Main: streambaby ready & listening.
Apr 27, 2010 8:38:18 PM javax.jmdns.impl.tasks.Prober run
WARNING: run() exception
java.net.BindException: Cannot assign requested address: Datagram send failed
at java.net.PlainDatagramSocketImpl.send(Native Method)
at java.net.DatagramSocket.send(Unknown Source)
at javax.jmdns.impl.JmDNSImpl.send(JmDNSImpl.java:1130)
at javax.jmdns.impl.tasks.Prober.run(Prober.java:171)
at java.util.TimerThread.mainLoop(Unknown Source)
at java.util.TimerThread.run(Unknown Source)


When I reboot the PC, the Java.exe is listening on the port I changed the Streambaby to(7291).

Getting frustrated.


----------



## orangeboy

A google search of the terms "java.net.BindException: Cannot assign requested address: Datagram send failed" points to a possible firewall permissions issue. Maybe add an entry in Windows Firewall for that port?

Edit: This article looks put together nicely, regarding WF configuration


----------



## comandercody

PROBLEM SOLVED!

I uninstalled Java(there were three "Java's" listed in Add Remove Programs). Rebooted PC, then went to Java site and reinstalled. All is good.

Thanks.


----------



## websta

I really did try to search on this so hopefully this question isn't too stupid. Have Streambaby working great for mpeg files but mp4 files will not show up (not listed).

Added to the ini file with no success:

extensions= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf)
mp4mod.streamformats= (default:MP4 files with h264/aac/ac3 format)

Thanks in advance


----------



## kearygriffin

websta said:


> I really did try to search on this so hopefully this question isn't too stupid. Have Streambaby working great for mpeg files but mp4 files will not show up (not listed).
> 
> Added to the ini file with no success:
> 
> extensions= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf)
> mp4mod.streamformats= (default:MP4 files with h264/aac/ac3 format)
> 
> Thanks in advance


You shouldn't have to change anything to make mp4 files show up, so I'd remove those lines. (If you put them in exactly as listed they are probably wrong anyway... The line should be something like extensions=mp4,mpeg,vob,etc.... without all the other stuff)

What are the extensions of the MP4 files, what OS are you using, are you using the most recent version of Streambaby (0.29), and are you sure the files really aren't listed (it's possible that Streambaby is using the title grabbed from the metadata inside the MP4 as opposed to the filename...)

Keary


----------



## websta

Keary - thanks so much for the help. I updated Streambaby from version .27 to .29 and now I can see the MP4 files (have mp4 extension). Now I have other issues and am researching them but here's the info on my set up:

Pentium 4, 2.0 GHz processor, 512 MB RAM (not enough??)
Windows XP, SP3

Using Sony Vegas to create mp4 files (home movies from Sony HD camcorder)
video: 1920 x 1080 29.970 fps interlaced AVC
audio: 48 kHz, stereo, Dolby AC-3

Issues: creating identical files produces different results - either choppy video (not horrible) or a file that won't play and results in a Java error (have reinstalled the latest version of Java).

As I said, I'm researching the above since there so much info in this forum.

Thanks again for your help - at least I can see my files now!!


----------



## Galit

I have a TiVo Premiere and up until a few days ago I was able to access Streambaby running on a PC, pyTivoX running on a macbook, and iTunes on my macbook.
Suddenly I cannot see any of these applications on my Tivo anymore.
I've rebooted the box, restarted my router, turned home apps off and on again, connected to the network, connected to tivo service, and confirmed the media access key. I shutdown the firewall as well.
Nothing's working.
I should mention that this is a new Tivo and I did recently changed the service number to activate it. It's possible that everything stopped working around then. I didn't exactly test the apps after I reactivated the Tivo.
Do you guys have any ideas or suggestion?
Thanks!


----------



## orangeboy

Galit said:


> ...I should mention that this is a new Tivo and I did recently changed the service number to activate it. It's possible that everything stopped working around then. I didn't exactly test the apps after I reactivated the Tivo.
> Do you guys have any ideas or suggestion?
> Thanks!


First thing to check is the TiVo's MAK (Messages & Settings > Account & System Info > Media Access Key) matches the MAK listed on your account on the TiVo website.


----------



## Galit

I verified that the media access key matches.


----------



## orangeboy

Galit said:


> I verified that the media access key matches.


Shoot. I guess you said that already... It sounds like you did all the right things. How long ago was it when you change service numbers on your account? Past couple of days? A week ago?


----------



## Galit

Less than a week ago.
Is there a connection test I can run?


----------



## orangeboy

Galit said:


> Less than a week ago.
> Is there a connection test I can run?


Ugh! I didn't even think about this: Is the new DVR set for transfer? Here's the TiVo page: https://www3.tivo.com/tivo-mma/dvrpref.do

Verified on the DVR here: Messages & Settings > Account & System Info > System Information (TiVoToGo should be a,a,a).


----------



## Galit

That wasn't it but I did just fix the problem.
I just rebooted my mac and noticed that DHCP wasn't assigning a valid IP address.
I tweaked with some router settings (renewed DHCP lease, changed security settings back and forth, scratched my nose...) - restarted the router again and sure enough the apps are showing up. 
I hope I don't have to reproduce this fix.

Thanks so much for your suggestions!


----------



## orangeboy

Galit said:


> That wasn't it but I did just fix the problem...


Glad to hear! :up:


----------



## innocentfreak

I don't know if it would be possible for Streambaby to do this or if any has another idea on how to pull it off.

Is there anyway Streambaby could be set so that if the file was a .TiVo file it would offer the transfer option also or instead?

I am trying to combine all of my files in one central location and I have a mix of files. Streambaby will play the .TiVo files obviously but since they are so large they buffer really slow and of course will hit the buffer limit often. I was hoping if it came across a .TiVo file it would offer the transfer option so I don't have to back out to the Now Playing list to initiate the transfer.

EDIT: Actually it looks like on .TiVo file when it hits the buffer limit which in this case was about 8 minutes in, it just restarts.


----------



## Hyrax

innocentfreak said:


> Actually it looks like on .TiVo file when it hits the buffer limit which in this case was about 8 minutes in, it just restarts.


I notice you've got a couple of Premiere XLs and wonder how well Streambaby works with them and what the transfer speeds are like. I'm hoping they transfer fast enough that you can just copy and watch in real time.


----------



## innocentfreak

Yeah the XL transfers are extremely fast. I had actually given up on transfers back in the HD models I had since it was too slow for me since I tend to fast forward a lot.


----------



## KarlH

gonzotek said:


> What flavor of Linux are you using?


Sorry for the late reply -- I'm using 9.10.


----------



## epstewart

Hi,

I'm using StreamBaby 0.29 running on Mac OS X 10.5.8. I have 47 .TiVo files transferred to my iMac, and 18 of them won't stream to either my TiVo HD or my Series 3, getting "Incompatible video stream" messages instead. They all play on the Mac in Toast Video Player and can all be decrypted by tivodecode. Here is the relevant log information for one that won't stream:



Code:


05/16/10 19:03:45 SelectionScreen: code=6 rawcode=16778246
05/16/10 19:03:45 VideoModuleHelper: GetVidInfo: file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo
05/16/10 19:03:46 FFmpegJavaVideoModule: vidDur:5401434
05/16/10 19:03:46 FFmpegJavaVideoModule: VideoInfo:
uri: file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo, Container: mpeg, Duration: 5401.434 seconds
Video: mp2v 1920x1080 59.94005994005994 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: UNK 32000HZ 1 channels
05/16/10 19:03:46 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:46 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:46 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/16/10 19:03:46 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:46 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:46 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:46 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/16/10 19:03:48 ButtonScreen: code=6 rawcode=16778246
05/16/10 19:03:48 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo value=0
05/16/10 19:03:48 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:48 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:48 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 ViewScreen: Desc: And Now for Something Completely Different TiVo.TiVo
05/16/10 19:03:48 PreviewWindow: pWidth: 1280
05/16/10 19:03:48 PreviewWindow: preview parent=BView[#3779,bounds=0,0,1280x720]
05/16/10 19:03:48 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:48 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:48 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:48 ViewScreen: error=Incompatible video stream
05/16/10 19:03:50 ViewScreen: code=4 rawcode=16777732
05/16/10 19:03:50 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo value=0
05/16/10 19:03:50 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/16/10 19:03:50 HostContext: key=mpos:file:/Volumes/New%202TB%20Drive/TiVo%20Transfers/Just%20Transferred/And%20Now%20for%20Something%20Completely%20Different%20TiVo.TiVo applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
05/16/10 19:03:50 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 HostContext: compKey=64800018020EF1A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
05/16/10 19:03:50 VideoModuleHelper: quality setting is above quality of video, streaming normally
05/16/10 19:03:51 ButtonScreen: action=pop
05/16/10 19:03:51 SelectionScreen: focusOn entry=And Now for Something Completely Different TiVo.TiVo
05/16/10 19:03:51 SelectionScreen: focusOn entry=And Now for Something Completely Different TiVo.TiVo
05/16/10 19:03:53 SelectionScreen: action=pop
05/16/10 19:03:53 SelectionScreen: focusOn entry=Just Transferred
05/16/10 19:03:53 SelectionScreen: focusOn entry=Just Transferred
05/16/10 19:03:55 SelectionScreen: action=pop
05/16/10 19:03:55 SelectionScreen: focusOn entry=TiVo Transfers
05/16/10 19:03:55 SelectionScreen: focusOn entry=TiVo Transfers

As I say, the other 29 of them stream just fine. I have no idea what could be different about the files that won't stream or what to do about them. I wonder if one of the gurus can figure it out.

Thanks in advance for any help you can give me ...


----------



## mkstretch

Im getting the java is not recognized as an internal or external command error. Im running windows vista 64bit. I did try to add the java folder path to the.bat file with no luck. any ideas? thanks.


----------



## orangeboy

mkstretch said:


> Im getting the java is not recognized as an internal or external command error. Im running windows vista 64bit. I did try to add the java folder path to the.bat file with no luck. any ideas? thanks.


A couple of issues you may want to look at:
http://code.google.com/p/kmttg/issues/detail?id=87
http://code.google.com/p/kmttg/issues/detail?id=99
and possibly:
http://code.google.com/p/kmttg/issues/detail?id=103

Edit: Here's a YouTube video that may help as well:





The guy needs to drink less coffee...


----------



## sullydavid

I have been running Streambaby on my Windows Home Server (v1) for about a year or so and been very happy with the performance. 

Has anyone tried running it on WHS v2 yet (codename Vail)?


----------



## epstewart

I'm using the StreamBaby app that comes with pyTivoX on my Mac. Alternately, I can also use the StreamBaby 0.29 standalone version. Both give me a certain problem when I play an edited video of Star Wars Episode IV: A New Hope.

I used ccextractor to extract the closed captions from the edited video as .srt subtitles. When I stream the video to my TiVo Premiere, the extracted subtitles are out of sync. They show up slightly later than they should, by a fraction of a second or perhaps a whole second.

The Star Wars episode was recorded recently on a TiVo HD from a high-definition cablecast on Spike HD. I transferred it to my Mac using kmttg, which also, using tivodecode, decoded it into a .mpg file. I used VideoReDo (running in Parallels/Windows XP) to edit out commercials and save the result as a second .mpg file. I input that second .mpg file to ccextractor and got a second .srt file. When I play the edited .mpg file in MPlayer OS X Extended, the second .srt file syncs perfectly with the second .mpg file, meaning that the subtitles are displayed at exactly the right moment. That seems to show that ccextractor is doing _its_ job right.

I also used ccextractor to derive a separate .srt file from the _unedited_ .mpg file. When I stream the unedited .mpg file to my TiVo, StreamBaby plays the subtitles in perfect sync with the movie! It's only the edited version whose subtitles are out of sync when StreamBaby plays _that_ version on the TiVo. So it looks like the fact that the video was edited is somehow triggering this sync problem with StreamBaby.

I tried using VideoReDo Quick Stream Fix on the edited version, using ccextractor all over again on the QSF output, but it didn't help.

I seem to find that the sync problem gets worse as the movie progresses. Specifically, at the various edit points where commercials were deleted, the sync error can suddenly become even more noticeable, i.e., the subtitles suddenly begin to show up even later than before.

My guess is that StreamBaby is, for some reason, shortening the playback time of the edited .mpg file without reference to the timecodes recorded in the .srt file. I won't come right out and say that video frames are being dropped or passed over, at or after the edit points in the video ... but it _seems_ like that's what's going on.

Whatever is causing it, though, the edited version definitely gets out of sync with the .srt file that was derived from it, when StreamBaby streams it.

(Also, FWIW, when I use the pyTiVo portion of pyTivoX to transfer the edited .mpg version to the TiVo, playing that version with closed captioning on shows that the captions are, as expected, in prefect sync with the video.)


----------



## phdeez

Is there a setting in streambaby where I can adjust the 1.1G buffer? I have a hacked TivoHD with a 1hr buffer (via bufferhack) and if I watch the same show at the same 5000kb bitrate the buffer fills to approx. 30mins before a 'rebuffer' occurs on a non-hacked Tivo Premiere and the hacked TivoHD.

Although it sounds odd, it seems streambaby is sending the 1.1G of data to the Tivos and stopping, or, am I just wrong? I guess I'm trying to understand why both Tivos buffer to the same point if one of them has double the buffer size.


----------



## kearygriffin

phdeez said:


> Is there a setting in streambaby where I can adjust the 1.1G buffer? I have a hacked TivoHD with a 1hr buffer (via bufferhack) and if I watch the same show at the same 5000kb bitrate the buffer fills to approx. 30mins before a 'rebuffer' occurs on a non-hacked Tivo Premiere and the hacked TivoHD.
> 
> Although it sounds odd, it seems streambaby is sending the 1.1G of data to the Tivos and stopping, or, am I just wrong? I guess I'm trying to understand why both Tivos buffer to the same point if one of them has double the buffer size.


There is no setting in Streambaby to set the buffer size-- Streambaby just keeps on sending data until the TiVo tells it the buffer is full (and has no control over the setting the buffer size).

My guess is that standard display buffer is different than the streaming buffer, and bufferhack only affects the standard display buffer.


----------



## phdeez

kearygriffin said:


> My guess is that standard display buffer is different than the streaming buffer, and bufferhack only affects the standard display buffer.


Good call, I'll see what I can do to adjust that. Thanks for the idea!


----------



## Nomad

I am trying to use the latest version from SVN. I found the checkout, downloaded it but don't see instructions to build/make it. I don't see any on the main page either. 

I'm also finding I can't transcode it using the ffmpeg in Jaunty and the default ffmpeg configuration either. Any help?


----------



## kearygriffin

Nomad said:


> I am trying to use the latest version from SVN. I found the checkout, downloaded it but don't see instructions to build/make it. I don't see any on the main page either.


You can just run 'ant' to build it, and then you can run it with ./streambaby

You can also just download and extract the latest build from the front page and run ./streambaby -- I don't think there is a lot changed in the SVN version.



> I'm also finding I can't transcode it using the ffmpeg in Jaunty and the default ffmpeg configuration either. Any help?


I'm not sure I understand what you mean-- Could you be more specific? I can say I've run streambaby with Hardy through Lucid without any issues.


----------



## superflysocal

Love this program, but I have a few request for help.

Running version 0.29

If I run the program directly by running streambaby.bat, i can use mapped network drives.

If i run it as a service, i cannot use networked drives. In the wiki this is a solution or workaraound:
"if you open up your computer's services and find the streambaby service. Open the properties and then goto the Log On tab. There is an option to specify which account the service uses. Just change it to an account that has privileges at the network location where your videos are. I run mine in this way and it works just fine. "
However, i tried using the current user and it doesn't work, gives me an error that I have invalid username or password. thing is it is correct username but that user does not have a password (nor do i want it to have one). any idea to get networked drives to work without user account with password?

Issue#2:
I have many mp4 encoded with multichannel aac. Problem with those is that you will hear no vocals because tivo has issues with decoding the correct center channel. Without manually transcoding the file, i could just tell streambaby to use a different quality setting which forces it to transcode audio to 2 channel (i think), and the end result is normal vocals heard. However, i don't like that I have to force it to a lower quality setting. Is there a way to force an audio transcode while leaving the video alone?


----------



## kearygriffin

superflysocal said:


> However, i tried using the current user and it doesn't work, gives me an error that I have invalid username or password. thing is it is correct username but that user does not have a password (nor do i want it to have one). any idea to get networked drives to work without user account with password?


I don't run windows as my main operating system, but I vaguely remember when I was first testing this I ended up creating a second user with a password to make it work. There are probably other, better ways, but I'm not sure what they are.



> Issue#2:
> I have many mp4 encoded with multichannel aac. Problem with those is that you will hear no vocals because tivo has issues with decoding the right center channel. Without manually transcoding the file, i could just tell streambaby to use a different quality setting which forces it to transcode audio to 2 channel (i think), and the end result is normal vocals heard. However, i don't like that I have to force it to a lower quality setting. Is there a way to force an audio transcode while leaving the video alone?


There is no way to just transcode just the audio when streaming MP4 files. MP4 files can't be (at least as far as formats the TiVo supports) transcoded on the fly because of the format of the MP4 container. It needs to know exact positions of the audio/video frames in the file, and that can't be determined until the entire file has been transcoded. This is why all transcodes (including when you change the quality) transcode into MPEG-2.

I haven't tried it in a while, but you can set:
transcode.force=true

in streambaby.ini to force streambaby to transcode everything into an MPEG-2 stream. This should attempt to transcode the MP4 into an MPEG-2 of equivalent quality.


----------



## superflysocal

kearygriffin said:


> I don't run windows as my main operating system, but I vaguely remember when I was first testing this I ended up creating a second user with a password to make it work. There are probably other, better ways, but I'm not sure what they are.
> 
> There is no way to just transcode just the audio when streaming MP4 files. MP4 files can't be (at least as far as formats the TiVo supports) transcoded on the fly because of the format of the MP4 container. It needs to know exact positions of the audio/video frames in the file, and that can't be determined until the entire file has been transcoded. This is why all transcodes (including when you change the quality) transcode into MPEG-2.
> 
> I haven't tried it in a while, but you can set:
> transcode.force=true
> 
> in streambaby.ini to force streambaby to transcode everything into an MPEG-2 stream. This should attempt to transcode the MP4 into an MPEG-2 of equivalent quality.


I get what you are saying, but i can't seem to select to quality setting close to the original I would have to bump it down a level.
Example:
W/o the transcode.force=true, the "Same" quality is Medium around 2700, to get it to transcode i chose medium low, but result is not that great.
If i set transcode.force=true, then i can chose highest, high, medium high, medium, medium low etc. If I chose medium or medium high, or anything higher, it doesn't appear to trancode and thus no vocals. How do i force to trancode at the same bitrate or higher than the movie's bitrate?


----------



## kearygriffin

superflysocal said:


> I get what you are saying, but i can't seem to select to quality setting close to the original I would have to bump it down a level.
> Example:
> W/o the transcode.force=true, the "Same" quality is Medium around 2700, to get it to transcode i chose medium low, but result is not that great.
> If i set transcode.force=true, then i can chose highest, high, medium high, medium, medium low etc. If I chose medium or medium high, or anything higher, it doesn't appear to trancode and thus no vocals. How do i force to trancode at the same bitrate or higher than the movie's bitrate?


I think what may be happening is that streambaby at the lower quality not only forces lower bitrates for audio/video, but also makes the audio stereo instead of 5.1 (or whatever).

I think this might(?) fix it:


Code:


ffmpegexe.transcode.sameqargs=-sameq -ab 192k -ar ${asamplerate} -ac 2
quality.2channel=7

The first line adds the "-ac 2" parameter to force stereo when using same quality transcoding, and the second tells streambaby to force two channels when transcoding anything below or equal to quality level 7 (which is highest...)


----------



## superflysocal

I already had that second line, just added the first ...hope it works, thanks (fingers crossed)

As for my networked drive issue, the reason i don't want to add a second account with password is that if i do, when I boot up machine it will ask for username and password...which I hate. I like to just walk away if i need to reboot and come back later when it is done, don't like to wait for the plogin screen before I walk away.


----------



## superflysocal

still didn't work, still not transcoding at medium or higher settings.


----------



## kearygriffin

superflysocal said:


> still didn't work, still not transcoding at medium or higher settings.


Sorry, running out of ideas-- Could you turn on debug and then try to stream something at a higher bitrate that doesn't work for you? If you could find the line that shows the ffmpeg command line it is using (if any) it could help.

I'm still not 100% sure if it is transcoding but the audio isn't working, or if it is transcoding. From looking at the code it should always transcode if transcode.force is true.


----------



## superflysocal

in th elog file, this is what i notice:
when streaming at same or higher bitrate i get this line:



PHP:


VideoModuleHelper: quality setting is above quality of video, streaming normally

when i go lower i get this:



PHP:


06/10/10 07:15:44 VideoModuleHelper: Bitrate for quality: 2157
06/10/10 07:15:44 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -bufsize 4096k -b 2008k -maxrate 8000k -ab 160k -s 800x448 -ar 48000 -ac 2
06/10/10 07:15:44 FFmpegExeVideoModule: FFmpegCmd: C:\Download_Vista\Tivo\Streambaby\streambaby-0.29\native\ffmpeg.exe -ss 0.0 -i Q:\disc\Azareus\Alice in Wonderland 2010 BRRip 720p H264-3Li\Alice in Wonderland.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -bufsize 4096k -b 2008k -maxrate 8000k -ab 160k -s 800x448 -ar 48000 -ac 2 tcp://127.0.0.1:8500

intersetingly, with debug on, it did not stream the file when using lower bitrate than the movie's...ie i get a blank black screen.


----------



## BrianVeg

I am trying to move my Streambaby app from win7 64bit to WHS - Vail. I am able to get the service to run and it is recognized on my Tivo - but when it tries to pull the video directory the Tivo sits there with "Please Wait" and never returns the directory structure.

Any ideas?


----------



## BrianVeg

BrianVeg said:


> I am trying to move my Streambaby app from win7 64bit to WHS - Vail. I am able to get the service to run and it is recognized on my Tivo - but when it tries to pull the video directory the Tivo sits there with "Please Wait" and never returns the directory structure.
> 
> Any ideas?


I figured it out. WHS by default blocks all incoming connections. I created a rule in the Windows FW to allow inbound TCP connections to Port 7290 on the Private Network (LAN). Don't remember having to do that on W7.

It appears that Streambaby works great on WHS v2 or VAIL. I will post again if I find anything else.


----------



## Sicklybutsexy

Would it be possible in streambaby for there to be an options of sending an mkv file to a bat file so that it could be remuxed into an mp4? I think it would be a good option considering those pesky mkv's that get converted to mpeg-2 and take forever to transfer over.


----------



## orangeboy

Sicklybutsexy said:


> Would it be possible in streambaby for there to be an options of sending an mkv file to a bat file so that it could be remuxed into an mp4? I think it would be a good option considering those pesky mkv's that get converted to mpeg-2 and take forever to transfer over.


Why not just send the mkv file to the bat before hand?


----------



## lew

I searched this thread and read the wiki section listing streambaby.ini options and can't find an answer

Is there a way to remove the delete from hard drive option? I'd rather not let other family members delete a video from my PC. They may incorrectly think I already viewed it or incorrectly think I won't want to watch it again. Hard drives are cheap.


----------



## Hyrax

Lew-
I'm confused. My videos are not deleted from my PC's hard drive after I watch them on the Tivo or even after I copy them to the Tivo. I do not even see a StreamBaby option for 'Delete from Harddrive', but then again I'm not exactly sure what you're describing. 

Where are the videos stored that you don't want deleted? If they're on the Tivo, then deleting them will just remove them from the Tivo and not touch what's on your PC.


----------



## lew

I'm describing the delete from hard drive option which deletes the program from your hard drive (on your PC). I'm not sure when this option was added. You're either using an old version of streambaby or didn't notice the option.


----------



## Hyrax

You're right - I didn't notice. You might try making the PC files read only and see if that protects them.


----------



## Sicklybutsexy

orangeboy said:


> Why not just send the mkv file to the bat before hand?


Becuase I don't need to convert every mkv. I'd rather not convert every mkv I have, only convert those that need converting.


----------



## orangeboy

Sicklybutsexy said:


> Becuase I don't need to convert every mkv. I'd rather not convert every mkv I have, only convert those that need converting.


Gotcha. This thread may be of interest to you then: http://tivocommunity.com/tivo-vb/showthread.php?t=448424


----------



## Sicklybutsexy

orangeboy said:


> Gotcha. This thread may be of interest to you then: http://tivocommunity.com/tivo-vb/showthread.php?t=448424


I appreciate it. You've really done a fine job with that bat file. I was wondering though if it were possible to integrate the batch file into streambaby. IE, an option in streambaby to convert it to mp4 and send it over. Is that what the pytivo push feature is about?


----------



## Sicklybutsexy

Also, why does it convert the audio if you have a compatible ac3 of 448 kbps to aac?


----------



## orangeboy

Sicklybutsexy said:


> I appreciate it. You've really done a fine job with that bat file. I was wondering though if it were possible to integrate the batch file into streambaby. IE, an option in streambaby to convert it to mp4 and send it over. Is that what the pytivo push feature is about?


I'm not aware of a Streambaby option such as that (but there are quite a few), but the bat file does make an mkv file into a compatible format that both Streambaby and pyTivo doesn't have to transcode before streaming or transferring to the TiVo.


----------



## bluehz

I have pulled an HD video straight off my iPhone 4 - no processing whatsoever but it will not play with my working copy of streambaby. I'm hoping its a simple issue or someone can offer some advice. See mediainfo below:



Code:


General
Complete name                    : IMG_0005.mp4
Format                           : MPEG-4
Format profile                   : QuickTime
Codec ID                         : qt  
File size                        : 4.76 MiB
Duration                         : 3s 691ms
Overall bit rate                 : 10.8 Mbps
Encoded date                     : UTC 2010-07-04 23:38:33
Tagged date                      : UTC 2010-07-04 23:38:37
Writing application              : 4.0
Writing library                  : Apple QuickTime
Model                            : iPhone
                                 : +27.3170-082.5355+014.141/
Make                             : Apple

Video
ID                               : 1
Format                           : AVC
Format/Info                      : Advanced Video Codec
Format profile                   : [email protected]
Format settings, CABAC           : No
Format settings, ReFrames        : 1 frame
Codec ID                         : avc1
Codec ID/Info                    : Advanced Video Coding
Duration                         : 3s 670ms
Bit rate mode                    : Variable
Bit rate                         : 10.8 Mbps
Width                            : 1 280 pixels
Height                           : 720 pixels
Display aspect ratio             : 16/9
Frame rate mode                  : Variable
Frame rate                       : 29.970 fps
Minimum frame rate               : 28.571 fps
Maximum frame rate               : 31.579 fps
Resolution                       : 24 bits
Colorimetry                      : 4:2:0
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.391
Stream size                      : 4.73 MiB (99%)
Title                            : Core Media Video
Encoded date                     : UTC 2010-07-04 23:38:33
Tagged date                      : UTC 2010-07-04 23:38:37

Audio
ID                               : 2
Format                           : AAC
Format/Info                      : Advanced Audio Codec
Format version                   : Version 4
Format profile                   : LC
Format settings, SBR             : No
Codec ID                         : 40
Duration                         : 3s 691ms
Bit rate mode                    : Constant
Bit rate                         : 63.6 Kbps
Nominal bit rate                 : 64.0 Kbps
Channel(s)                       : 1 channel
Channel positions                : C
Sampling rate                    : 44.1 KHz
Resolution                       : 16 bits
Stream size                      : 28.7 KiB (1%)
Title                            : Core Media Audio
Encoded date                     : UTC 2010-07-04 23:38:33
Tagged date                      : UTC 2010-07-04 23:38:37


----------



## FlipperJ

Hi guys! Sorry to jump in but I'm having some problems finding an answer for this probably simple but annoying problem: no matter what settings I seem to use to transcode my m4v/mp4's for streaming (handbrake) TiVo is stretching the picture vertically so people are a bit skinny. It's not horrible but it's noticeably.

I've searched for days through the 'community' and tried different fixes but nothing works, in fact I think I've caused TiVo to transcode what were native files so streaming is slower and still out of aspect for most of my movies. I suspect there's an answer posted somewhere but could someone be so kind as to point me in the right direction?

I'm so close - Streambaby is awesome - but the widescreen thing is a deal-breaker.

Thanks!
Flipper


----------



## PoobBubes

I just installed pyTivoX on my iMac (10.6.4). The pyTivo part works fine, but no matter what I try I cannot get StreamBaby to show up on the Tivo (Premiere). Does anyone know some things to try? I have tried to open a port in my router and I have manually set the ip in streambaby.ini to my pc's ip address. Are there any other thing I can try?


----------



## Phantom Gremlin

FlipperJ said:


> I'm so close - Streambaby is awesome - but the widescreen thing is a deal-breaker.


I don't use Streambaby. But since nobody else has jumped in ...

You've given people *very little information* to go on. Here are some questions or ideas that might help:


SD or HD?

which TiVo?

component output? HDMI?

have you locked your TiVo output to a particular format such as 720P?

are you using the latest Handbrake, or still on 0.9.4?

where are the Handbrake settings coming from? Is that something that Streambaby controls directly? Handbrake is very highly configurable.

what happens when you toggle the "Aspect" button on your remote?

what happens when you change aspect ratios on your TV?

when you use VLC to display your videos on your PC or Mac, is the aspect ratio OK?
If you can't get any help here, I suggest you read everything you can on handbrake.fr and then try their forums. Also, have you carefully studied the streambaby wiki and getting started pages, etc?


----------



## FlipperJ

@phantom (et al)

There's a later version of Handbrake than 9.4.0? I didn't see that...

I didn't provide some of that info, sorry: I thought some of it was sort of assumed but you're right.

I have a TiVo HD (aren't all Series 3 the same?) and it's connected to my 1080i Sony by HDMI. I don't believe I have locked it into 720P but I'm not sure. HD vs SD - well these are DVDs transcoded so I suppose SD; I haven't figured out how to upscale DVD files.

I did switch the aspect ratio outside of StreamBaby and now I get wide-screen on some mp4/m4v's but with grey horizontal bars (I'll have to figure out how to make those black) but everything looks great, aside from some motion issues. Some videos are now scrunched the other direction with side bars. Oh well.

As for Handbrake settings, I had used the GUI and the 'universal' setting at first. Then I found some other setting suggestions as far as anamorphic settings and motion settings, but the bit rate they suggested (5000) seems way too high. I'd have to dig to find where I saw these suggestions.

I figured the right solution was to encode the files to the HD resolutions like 1280 x 720 but Handbrake doesn't upscale apparently and my source files are DVD's at 720x480.

All my MP4's play nicely in VLC.

If you have a TiVo profile for Handbrake that scales well, doesn't need transcoding when TiVo streams and doesn't show motion stuttering please share! Also if you have a newer build of Handbrake than the one posted at handbrake.fr please let me know.

Thanks for the reply and any help is greatly appreciated!

Flipper


----------



## danmcd

I've seen early on that some people had this working on Solaris 10. I have it on my OpenSolaris home server (mmmmmm... ZFS....).

I've got StreamBaby and FFMPEG working, but StreamBaby complains about not being able to load the native libraries. I installed them in /usr/local/lib as both .a (archive) and I linked them as shared-objects (.so) as well, but StreamBaby still complains. Any library-placement clues would be appreciated.

Also, I have .mov 720p files which are H.264 (stereo, no multi-channel oddness) and should be ready to play, but I get the red-screen and error 0xFFFF (aka. -1 in a 16-bit signed int).

I'm glad to provide more information upon request.

Thanks!
Dan McD.


----------



## Phantom Gremlin

FlipperJ said:


> @phantom (et al)
> 
> There's a later version of Handbrake than 9.4.0? I didn't see that...


Yes, and no. There are nightly builds that come with a lot of warnings. But I've seen on other sites that the nightlies are recommended. Here's the official statement:
Nightly Builds

Postby HandBrake » Fri Apr 09, 2010 11:08 pm
We are now sharing nightly builds of HandBrake. If all goes well they will likely replace our snapshot releases.

Warning!
These are not stable releases. They are unstable (and undocumented) code which will one day lead to a stable release of HandBrake 0.9.5. They are only recommended for experienced users and developers.​


> If you have a TiVo profile for Handbrake that scales well, doesn't need transcoding when TiVo streams and doesn't show motion stuttering please share!


No, I don't have any profile. I ran into enough problems similar to yours that I've given up. This stuff just requires too much effort, and I have way too much video to watch from just cable. Sorry not to be more help, I didn't mean to give you false hope when I prompted you for details. As I mentioned, I don't use Streambaby. I was suggesting that the added details would be useful to other people who might be able to help you, and also give you starting places for your own further research.

But, if you have the time to pursue it, don't give up hope. The information is out there. For example, on macrumors.com there are people who give advice on handbrake settings for transcoding to the iPad.


----------



## Phantom Gremlin

Phantom Gremlin said:


> But, if you have the time to pursue it, don't give up hope.


Just to follow up on my own post, here's some stuff I found by a quick search of the handbrake forums. The truth is out there:

When copying or streaming anamorphic content (converted with Handbrake from DVD) to my Series3 TiVo via pyTiVoX or Streambaby, the aspect ratio displayed on my 16:9 TV is never correct.

It goes full width, but for some reason that causes it to compress the picture vertically, giving me black bars on the top and bottom that were NOT there when playing from the DVD.​
Doesn't that sound like the problem you're having? Unfortunately I think you've already tried the solution mentioned in that thread.

But you could ask there. You might get more help than here.


----------



## lew

Problem Solved.


----------



## blobdude

Okay, I got Streambaby to work correctly and can get into the "Stream, Baby, Stream" directory, can get to the "My Videos" folder, but then it says "No entries in this directory."

I have two .avi files and two .mkv files in the folder. Can't figure out what to do from here.


----------



## RBeatse

After I launch the bat file, the window stays open. I can minimize it but it is still there just waiting for someone to accidentally close it. Is ther any way to set it to run at startup and then minimize to the System tray or just run in the background?

I'm running Windows 7 64 bit if that helps.


----------



## whitepelican

RBeatse said:


> After I launch the bat file, the window stays open. I can minimize it but it is still there just waiting for someone to accidentally close it. Is ther any way to set it to run at startup and then minimize to the System tray or just run in the background?
> 
> I'm running Windows 7 64 bit if that helps.


No idea if it works in Win7 or 64-bit, but there is a batch file to install Streambaby as a service. It's located in <Streambaby directory>\extra\service\win32. I've been running it as a service for quite some time, and it works perfectly.


----------



## RBeatse

whitepelican said:


> No idea if it works in Win7 or 64-bit, but there is a batch file to install Streambaby as a service. It's located in <Streambaby directory>\extra\service\win32. I've been running it as a service for quite some time, and it works perfectly.


Thanks. I never would have looked for it. I added it at startup using the Windows Management Console and restarted the computer. I can't see it running in the services under Stream Baby. Can you tell me how it shows on your computer. It is also possible that I did it wrong or it doesn't work on Win7 or 64 bit (but I bet its me!).

Thanks again!!


----------



## Kershek

Try running that batch file in an administrator command prompt to install the service. If you find trouble with the service starting, you may have to have it run as a user with administrator privileges instead of local system.


----------



## RBeatse

Kershek said:


> Try running that batch file in an administrator command prompt to install the service. If you find trouble with the service starting, you may have to have it run as a user with administrator privileges instead of local system.


Thanks. I had not run the service install. I only set the service startup to happen and of course it had failed since it was not installed. I knew it was me!! Thanks for your assistance!!


----------



## FlipperJ

@Phantom Gremlin

I had to set aside my efforts for a bit - life got in the way. Thanks for your responses. I was able to transcode my movies at a higher bit rate using various tweaks to the Handbrake settings and now I'm really pleased with the results. Of course transcoding my whole collection is going to take a while but at least it's working well.

The aspect ratio thing was the Tivo settings. I never had to adjust these settings before, the screen proportions always looked correct. Lesson learned.

Next I'd like to see a cover art based interface only because my family got used to Media Center in Win7. How hard could that be? 

Streambaby works on the Premiere? I still don't get how the single card slot will work if the cable company doesn't have dual cards yet in my area. No dual tuner for me if I switch?!? But that's another topic.

Anyway, thanks for the help!!

Flipper (Bryan)


----------



## wmcbrine

FlipperJ said:


> I still don't get how the single card slot will work if the cable company doesn't have dual cards yet in my area.


They're called "multistream" cards (or as TiVo regrettably prefers to call them, "M Cards"), not "dual" -- they actually can handle up to six simultaneous streams each, although the TiVo can only do two. Your cable company probably _does_ have multistream cards, regardless of what they tell you -- I wouldn't expect to contact anyone competent to know the answer to that question over the phone -- since single-stream cards haven't been made for years now. But if they really don't, then the Premiere in fact won't work, since it won't take single-stream cards (or so I've heard; I haven't tested that).

Request a CableCard when you contact them, and don't confuse their tiny brains by asking about single- vs. multistream. If it doesn't work, cancel the installation, return your Premiere, whatever. There's no way to ensure everything will work out beforehand. (Heck, that's true even if they do bring a multistream card.)


----------



## FlipperJ

Oh, yes, sorry - multistream. Well, I'm still considering the Premiere: one hurdle is Streambaby compatibility. Also deal breakers would be no multistream cards from my cable company and possibly the inability to upgrade the hard drive, although this has less importance now that the capacities from stock units are more generous - and streambaby allows my PC to be an archive of stuff I wanted to save anyway.

Thanks for the correction wmcbrine. 'They took my stain'? Let me guess: a "House" reference, the reporter with brain surgery? Way off?


----------



## wmcbrine

FlipperJ said:


> Well, I'm still considering the Premiere: one hurdle is Streambaby compatibility.


Yes, it's compatible. In fact it works better than ever, since the Premiere is faster.



> _'They took my stain'? Let me guess: a "House" reference, the reporter with brain surgery?_


Yep. I wanted to put "Couldn't tackle the bear", but it wouldn't fit.


----------



## FlipperJ

Sweet... :up:

I grapple average!

Cheers,

Flipper


"In this universe effect follows cause. I've complained about it but" House


----------



## pmanse

Everything's (almost) working fine!

My TiVo sees the directory but not any entries in it. The log seems to tell the story:

07/31/10 16:38:36 StreamBabyConfig: WorkingDir: "C:\Users\Peter\Downloads\Streambaby"
07/31/10 16:38:36 StreamBabyConfig: StreamBabyDir: C:\Users\Peter\Downloads\Streambaby
07/31/10 16:38:36 StreamBabyConfig: CurDir: C:\Users\Peter\Downloads\Streambaby\native
07/31/10 16:38:37 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
07/31/10 16:38:37 FFmpegJavaConfig$1: Error attempting toload ffmpeg libraries: Unable to load library 'avutil-49': The specified module could not be found.

07/31/10 16:38:37 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
07/31/10 16:38:37 FFmpegExeVideoModule: FFmpegPath: C:\Users\Peter\Downloads\Streambaby\native\ffmpeg.exe
07/31/10 16:38:37 FFmpegExeVideoModule: FFmpegExeModule: Loaded
07/31/10 16:38:37 StreamBabyMain: STARTING StreamBaby v0.29...
07/31/10 16:38:37 Main: args= start=true
07/31/10 16:38:37 Main: args= [email protected]
07/31/10 16:38:38 Listener: [email protected] [email protected]
07/31/10 16:38:38 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
07/31/10 16:38:38 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
07/31/10 16:38:38 Listener: name=/streambaby/
07/31/10 16:38:38 Listener: 
07/31/10 16:38:38 Listener: added factory
07/31/10 16:38:38 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
07/31/10 16:38:38 Main: MDNS: [Deleted so I could post this reply]
07/31/10 16:38:38 Main: streambaby ready & listening.
07/31/10 16:38:38 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
07/31/10 16:38:43 TiVoListener: addService: Living Room
07/31/10 16:38:43 TiVoListener: Updating service: _http._tcp.local. (Living Room)
07/31/10 16:38:43 TiVoListener: resolveService: _http._tcp.local. (Living Room)
07/31/10 16:38:43 TiVoListener: jmDns found TiVo: Living Room, tsn: 6480011801F8CD3
07/31/10 16:38:51 ShutdownHook: Cleaning up...

The .dlls are there. What's up?

(64-bit Windows 7)


----------



## bluehz

Answering my own question here - the video straight off the iPhone that will not play with streambaby has a CODEC ID = qt. A simple manipulation of that Codec ID using MP4Box had the video up and playing in seconds using streambaby.

MP4Box -isma INPUT.mp4 -out OUTPUT.mp4



bluehz said:


> I have pulled an HD video straight off my iPhone 4 - no processing whatsoever but it will not play with my working copy of streambaby. I'm hoping its a simple issue or someone can offer some advice. See mediainfo below:
> 
> 
> 
> Code:
> 
> 
> General
> Complete name                    : IMG_0005.mp4
> Format                           : MPEG-4
> Format profile                   : QuickTime
> Codec ID                         : qt
> File size                        : 4.76 MiB
> Duration                         : 3s 691ms
> Overall bit rate                 : 10.8 Mbps
> Encoded date                     : UTC 2010-07-04 23:38:33
> Tagged date                      : UTC 2010-07-04 23:38:37
> Writing application              : 4.0
> Writing library                  : Apple QuickTime
> Model                            : iPhone
> : +27.3170-082.5355+014.141/
> Make                             : Apple
> 
> Video
> ID                               : 1
> Format                           : AVC
> Format/Info                      : Advanced Video Codec
> Format profile                   : [email protected]
> Format settings, CABAC           : No
> Format settings, ReFrames        : 1 frame
> Codec ID                         : avc1
> Codec ID/Info                    : Advanced Video Coding
> Duration                         : 3s 670ms
> Bit rate mode                    : Variable
> Bit rate                         : 10.8 Mbps
> Width                            : 1 280 pixels
> Height                           : 720 pixels
> Display aspect ratio             : 16/9
> Frame rate mode                  : Variable
> Frame rate                       : 29.970 fps
> Minimum frame rate               : 28.571 fps
> Maximum frame rate               : 31.579 fps
> Resolution                       : 24 bits
> Colorimetry                      : 4:2:0
> Scan type                        : Progressive
> Bits/(Pixel*Frame)               : 0.391
> Stream size                      : 4.73 MiB (99%)
> Title                            : Core Media Video
> Encoded date                     : UTC 2010-07-04 23:38:33
> Tagged date                      : UTC 2010-07-04 23:38:37
> 
> Audio
> ID                               : 2
> Format                           : AAC
> Format/Info                      : Advanced Audio Codec
> Format version                   : Version 4
> Format profile                   : LC
> Format settings, SBR             : No
> Codec ID                         : 40
> Duration                         : 3s 691ms
> Bit rate mode                    : Constant
> Bit rate                         : 63.6 Kbps
> Nominal bit rate                 : 64.0 Kbps
> Channel(s)                       : 1 channel
> Channel positions                : C
> Sampling rate                    : 44.1 KHz
> Resolution                       : 16 bits
> Stream size                      : 28.7 KiB (1%)
> Title                            : Core Media Audio
> Encoded date                     : UTC 2010-07-04 23:38:33
> Tagged date                      : UTC 2010-07-04 23:38:37


----------



## bluehz

*Streambaby-0.29 High CPU and Memory While Idle*
Why does Streambaby suck so much cpu and memory while sitting completely idle? Running headless Ubuntu 9.10 (up to date) and Streambaby-0.29, while sitting completely idle - checking top - I see 21 instances of the following process line:

2900 root 20 0 451M 43496 5140 S 0.0 4.5 0:00.00 java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xmx256m -jar /usr/local/share/tivo/streambaby/jbin/streambaby.jar

Each one of those 21 processes is using *451M of VIRTUAL MEMORY and 4.5% CPU*.... that seems excessive for an idle app.


----------



## tgrim1

does anyone know of a good program to add black bars to a video so that it is 1280x720 and streams correctly to the tivo?


----------



## ebf

I just loaded this on my new HDXL. Its great. I've got two questions. I found this post on the streambaby site, but can't figure out if the implemented delete option is actually supposed to be on the "play" screen. It doesn't appear there for me, but I can get to it from "more".



jasminsehic said:


> I've added this mod to Streambaby which is disabled by default and can be enabled by
> using setting the below option to true in the .ini file:
> 
> streambaby.delete=true
> 
> When enabled it adds "Delete now" item in the list in Play screen.


Also, I swear someone asked about the location of the stream buffer somewhere in this thread, but I can't find it now. Where is the stream buffer stored? If I pause the stream, eventually, the time bar will fill up and the whole program will cache. Makes me wonder what the actual difference is between this streaming and pyTiVo transfers.

Thanks.


----------



## superflysocal

having problems trying o get 2 instances of streambaby working on two different PCs. I read that you need to have different port numbers, if so what should the second port number be?


----------



## bsmith1051

Seems like a lot of excellent questions have gone unanswered recently, so I'll tempt fate and add my own?

My setup: Desktop computer running Win7 and with dual-core 2.5 GHz Intel CPU. Serving h.264 720p DD51 MKVs to a Tivo HD. In general, it streams great but the Tivo needs to stop and rebuffer a lot. Lowering the Video Quality to 5 Mbps doesn't help, that I can see. The CPU is only running 30-40&#37; and Task Manager only shows 8 Mbps (then 5 Mbps) going out the NIC. 

Q1: Is there a way to make Streambaby use more CPU so that it streams faster?

Q2: If I try to fast-forward, the preview graphic shows-up ok but then I lose the connection when I try to resume playback (there's an error msg in the Streambaby log and the Tivo eventually times-out). Is this a known problem?


----------



## tgrim1

bsmith1051 said:


> Seems like a lot of excellent questions have gone unanswered recently, so I'll tempt fate and add my own?
> 
> My setup: Desktop computer running Win7 and with dual-core 2.5 GHz Intel CPU. Serving h.264 720p DD51 MKVs to a Tivo HD. In general, it streams great but the Tivo needs to stop and rebuffer a lot. Lowering the Video Quality to 5 Mbps doesn't help, that I can see. The CPU is only running 30-40% and Task Manager only shows 8 Mbps (then 5 Mbps) going out the NIC.
> 
> Q1: Is there a way to make Streambaby use more CPU so that it streams faster?
> 
> Q2: If I try to fast-forward, the preview graphic shows-up ok but then I lose the connection when I try to resume playback (there's an error msg in the Streambaby log and the Tivo eventually times-out). Is this a known problem?


Its been my understanding that it is not streaming mkv files, it is transcoding them with ffmpeg with a loss in quality.


----------



## nathanm412

I would like to thank the author of this program for the great work. I have been using StreamBaby for over a year now and it has been great. I didn't realize how important it has been until my wife called me at work to tell me that the Tivo was no longer working. I come home to find that the computer was off and she couldn't find streambaby.


----------



## herbman

bluehz said:


> *Streambaby-0.29 High CPU and Memory While Idle*
> Why does Streambaby suck so much cpu and memory while sitting completely idle? Running headless Ubuntu 9.10 (up to date) and Streambaby-0.29, while sitting completely idle - checking top - I see 21 instances of the following process line:
> 
> 2900 root 20 0 451M 43496 5140 S 0.0 4.5 0:00.00 java -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Xmx256m -jar /usr/local/share/tivo/streambaby/jbin/streambaby.jar
> 
> Each one of those 21 processes is using *451M of VIRTUAL MEMORY and 4.5% CPU*.... that seems excessive for an idle app.


In Linux it's hard to distinguish from processes and threads of a process. When you see many listed with the same specs (vmem, cpu, etc.) it's likely just threads of a process. There's nothing to worry about, only one is running. Now that said, 451M is a pretty high memory size for a java VM that's set -Xmx256m..


----------



## dbz33

Hey guys. May have to go back to my HTPC for my DVD/BLU-RAY playback. Most of my movies after converting to MP4 with handbrake have gray bars on the top and bottom of the screen. I tried a few different settings I read online but they are still there. Space is not a problem have a 15TB server. I only converted to make them into a Tivo friendly MP4 container. Any ideas?


----------



## Rick in LA

Non-hardcoded subtitles display perfectly when streaming my .avi but fail to appear when _pushing_ the file. Is this a known limitation or is some .ini tweaking in order, I wonder.

And while I'm at it, I noticed HTML tags for italics on subtitle dialogue that, well, should be italicized (e.g. dialogue coming from a movie our character is watching). Not a dealbreaker, that, but a curiosity.

Thanks for any guidance.


----------



## wmcbrine

Rick in LA said:


> Non-hardcoded subtitles display perfectly when streaming my .avi but fail to appear when _pushing_ the file. Is this a known limitation or is some .ini tweaking in order, I wonder.


Two totally different mechanisms. Streaming captions are done via HME text overlay. Captions in transferred videos have to be muxed in, or else sent as open captions (rendered onto the video). There are programs to do that, but you'll have to do it manually AFAIK.


----------



## txporter

wmcbrine said:


> Two totally different mechanisms. Streaming captions are done via HME text overlay. Captions in transferred videos have to be muxed in, or else sent as open captions (rendered onto the video). There are programs to do that, but you'll have to do it manually AFAIK.


Agreed. Hardcoded subs/captions can be easily done with avisynth. There was someone (I believe on the pytivo forum) that attempted to do what you are asking by building an avs script for each video and opening that rather than the video itself. That would hardcode the subs while ffmpeg transcodes the video for upload.

I pre-generate my hardsub'd videos. I find it easier plus I run pytivo on a Tonidoplug which doesn't really have the power needed for on-the-fly transcoding.


----------



## pizzaslut

My Streambaby does not want to seem to run as a service. When I launch the bat file it works fine and shows up in my Tivo menu.

However, when I start the service it does not show up although the service says that it is running.

Any help would be greatly appreciated. 

W7 x64


----------



## srogala

My apologies if I'm breaking forum rules, but I can't hope the find the answer to this question in the length of this thread. So my apologies if this has been answered.

I just found streambaby the other day and I was really excited to get a chance to use it. I've got two Tivo HDs (and two Series2 but they don't come into this discussion I guess except to prove I'm an addict).

Anyways, I'm running streambaby on a Windows XP sp3 with 3.3GB of RAM. It's a quad core CPU, so plenty of horsepower. I've got it connected to a gig switch with both my Tivo HDs (although it looks like the Tivo's only support 100Mbs). Is it a horsepower issue with the TiVo HD?

The connections seem to be solid, I can transfer shows in reasonable amounts of time, etc. But streambaby pauses and often and always seems to fall behind. When I try to go forward it just sort of resets and goes back to the beginning of the show after a few seconds. Very seldom it will generate previews (like the Netflix ones). I stream Netflix to these TiVos just fine, although I realize that most of those streams are less bandwidth.

Network utilization/CPU/memory are all very low as per the XP box serving it up. Am I running into something out of the norm? I disabled AV for testing and saw no difference. A lot of the stuff I'm streaming is programming that I used TiVo Desktop 2.8 to retrieve, if that helps with format questions, although I do also try to use my DVD library that I ripped (no compression, at the time I don't think the TiVo could handle it).

Incidentally, my WD HD Live handles streaming from the same computer just fine. But I really would rather not buy 3 more of those (plus my wife has trouble switching back and forth)


----------



## noseph

You do not mention what format you are streaming. It sounds like you are attempting to stream something other than MPG/MP4, these are the only formats with direct TiVo support all other formats are transcoded with ffmpeg on the fly. This is an extremely processor intensive process. 

I have an extensive DVD collection that I ripped and converted to MP4 with WinFF, they stream just fine to my Series 3. I have also had success converting TiVo content to MP4.


----------



## srogala

Thanks for your help. I'm using a variety of formats, but the two main ones are whatever format TiVo Desktop makes files in (not sure what they are, they just have a .tivo extension) and then movies that I ripped from DVD, it sounds like in much the same way you did, using DVDFab. The ripped DVDs are listed as .mpg.

I've been trying out WinFF. So far I'm not having a lot of luck with .TiVo files, it created a file but it was not converted correctly. WinFF had spit out a lot of errors during the conversion though (I can go back and get them if anybody cares). Do you use WinFF on files you grab from your tivo? 

I'm currently doing one of the DVDs and WinFF seems to be humming along better. You're right about it being a CPU hog, it's consuming all four cores.

So if I read you right, anything that isn't in MP4 is going to have be converted on the fly by the TiVo to a format it can read? Is that where the CPU load issue comes into play?

Again, thanks for our help, if this works my computer will be converting these files for a long time but it'll be worth it 

-Scott


----------



## noseph

I do use DVDFab to extract a single VOB, which I then run thru VideoRedu QuickStreamFix and then WinFF. I am currently at work, when I get home this evening I will post my custom WinFF settings. I process TIVO files with TiVoDecode (http://sourceforge.net/projects/tivodecode/files/) to get a MPG and then use VideoRedu to remove comercials, and finally WinFF. You might want to look at KMTTG (http://www.tivocommunity.com/tivo-vb/showthread.php?t=387725) if you have a lot of tivo files to process.


----------



## noseph

Scott

What you need to do is create a new Preset based on the MPEG-4 MP4 Widescreen preset. In order to make the audio TiVo compliant (ac3) you need to change the very end of the Preset Command Line. Change "-acodec libfaac -ab 112kb -ar 48000 -ac 2" to "-acodec copy -ab 112kb -ar 48000". In other words replace "libfaac" with "copy" and remove "-ac 2".


----------



## dbz33

What do I have to do to convert my DVD's so that they do not have the grey bars on the screen? The original DVD's have black bars but once I convert using Handbrake to MP4 I get the light grey bars on most movies. I hate watching them that way. Thanks for the help.


----------



## wmcbrine

The grey bars are generated by the TiVo. You can set them to black if you prefer. Settings > Video > Letterbox Color.


----------



## srogala

This great information noseph. My ignorance in this area really shows. I think I did the same thing with DVDFab, making VOBs that my TiVo could read. When you posted about WinFF I grabbed that and converted some of them. I'm trying to find an acceptable of processing (I really wanted to those 4GB files to be about 1GB anyways). What is the advantage of running them through VideoRedu QuickstreamFix? I haven't been able to figure out what it does or if it's worth buying. Using some of the default settings on the VOBs I was getting about 4:1 compression. The video quality was slightly noticeably worse, but pretty good considering how much smaller the file sizes are (thank god 3TB drives are out!) 

I'll look at KMTTG. That poor computer has been running WinFF all ever since you posted.


----------



## dbz33

wmcbrine said:


> The grey bars are generated by the TiVo. You can set them to black if you prefer. Settings > Video > Letterbox Color.


Thanks I will try that. Hope its that easy.


----------



## noseph

Scott

A lot of the time the extracted VOB has time code errors that will prevent it from transferring to the TiVo. I got tired of finding out the hard way that a file would not transfer and now run all files thru Quickstream Fix.

I have an older AMD 64 x2 4600+ system (Windows 7 x64, 4GB memory) that I run WinFF on. It takes ~4 hrs a file, this is not my primary computer and is pretty much used just for this purpose. I have tried running WinFF on my primary computer (ASRock ION 330, Windows 7 x64, 4GB), however the Atom processor system takes ~8 hrs to process a file, or longer if I want to do something else on the system while processing.


----------



## Hyrax

I'm definitely not an expert, Seths17, but that never stopped me from guessing...

Did you try it without the_ ip _and _port_ lines in your INI file?

Do you have your Tivo profile setup to allow TTG?

The only other thing I can imagine is that your security software is blocking traffic.

On three of my computers (XP, Vista ,and Win7) I just set it up and it worked. I'm surprised you're having problems.


----------



## TexasMan

PoobBubes said:


> I just installed pyTivoX on my iMac (10.6.4). The pyTivo part works fine, but no matter what I try I cannot get StreamBaby to show up on the Tivo (Premiere). Does anyone know some things to try? I have tried to open a port in my router and I have manually set the ip in streambaby.ini to my pc's ip address. Are there any other thing I can try?


I've got the same problem as listed above but noticed that no one's responded to the above poster. I did list this problem over in the pyTivo forum but got nothing there either. Many of us are using Macs rather than PCs and would appreciate any suggestions that might help in getting StreamBaby actually working again. Mac running OS 10.6.4 just like PoobBubes. pyTivoX working fine, StreamBaby missing in action. Ideas anyone?


----------



## Hyrax

srogala said:


> Thanks for your help. I'm using a variety of formats, but the two main ones are whatever format TiVo Desktop makes files in (not sure what they are, they just have a .tivo extension) and then movies that I ripped from DVD, it sounds like in much the same way you did, using DVDFab. The ripped DVDs are listed as .mpg.
> -Scott


Scott-
I'm not sure anyone mentioned this to you yet, but (on a Series 3) .MPG encoded files take about twice as long to stream as they take to play (a 1 hour long show takes ~1.5-2.0 hours to stream). MP4 files are significantly faster. This means that you cannot really stream .mpg (or .tivo) files in real time. Before I switched to MP4, I used to give shows about 20-30 minutes before I start watching it. A wireless connection could be even slower.

MP4's can be watched in real time. And you can stream .mpg in real time on Tivo Premieres.


----------



## 68mustang

I just tried this program with Tivo Series 3 and Windows 7 Ultimate X64 and it did not work. After reading through the forum and tickering I was able to get it going. Hope this helps others who are also having similar problems.

First off the Java was not recognized even though it was installed - so I found a threat which indicated to add "cd C:\Program Files (x86)\Java\jre6\bin" to the streambaby.bat file. This fixed the Java problem.

Next I started the program and it was streaming, but I did not see the Folder on my Tivo under "Music, Photos & Showcases". In the streambaby.ini file the default IP address is 192.168.1.37, but my Tivo IP address was 192.168.2.4 which was found under settings on the Tivo. Once I switched the IP address everything worked for me.

Some of this may seem obvious, but I just wanted to share my experiences and help anyone who maybe having similar problems getting the program to work.


----------



## Hyrax

I've got the same OS and didn't need to use the change directory command ("cd C:\Program Files (x86)\Java\jre6\bin"), nor did I need to set the IP address. The first is fairly easy to explain - Java must be in my user path, but not in yours.

However, I'm wondering why you're setting the IP address manually. My Tivo's IP address changes fairly frequently (a few times a year) and streambaby picks up these changes. It would be a pain if I had to set it manually. What happens if you leave that line in the INI file commented out, since this is the recommended procedure.


----------



## mrick

Hello,

I have tried for a couple of days to get Steambaby to run. I can't get it to run the first time. I checked the IP address and opened the port. The program errors out.

I understand that FFMPEG is needed to convert files on the fly. That file errors out trying to download.

I am running windows XP with ATT DSL and the ATT 2wire residential gateway. I am hardwired to the router.

Here is my log:

09/02/10 20:18:36 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
09/02/10 20:18:36 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
09/02/10 20:18:57 StreamBabyMain$BshLogger: Error retrieving/decoding ffmpeg from: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
09/02/10 20:18:57 StreamBabyMain: error running first run script: C:\streambaby-0.29\scripts/first-run.bsh

Here is my INI file:

#
# ./streambaby --help for more configuration file options
#

dir.1=C:Streambaby1
dir.1.name=Azure
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.68
# port to use
port=7290

I did find a way to copy the text generated when I run Streambaby.bat. It has more detail. This is what I get when the program runs:

C:\Documents and Settings\William>C:\streambaby-0.29\streambaby.bat
Initializing StreamBaby v0.29...
09/02/10 21:03:18 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
09/02/10 21:03:18 StreamBabyMain$BshLogger: Connecting: http://streambaby.google
code.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Sour
ce)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown So
urce)
at java.net.URL.openStream(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at bsh.Reflect.invokeMethod(Unknown Source)
at bsh.Reflect.invokeObjectMethod(Unknown Source)
at bsh.Name.invokeMethod(Unknown Source)
at bsh.BSHMethodInvocation.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHPrimaryExpression.eval(Unknown Source)
at bsh.BSHAssignment.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHIfStatement.eval(Unknown Source)
at bsh.BSHBlock.evalBlock(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHBlock.eval(Unknown Source)
at bsh.BSHTryStatement.eval(Unknown Source)
at bsh.Interpreter.eval(Unknown Source)
at bsh.Interpreter.source(Unknown Source)
at bsh.Interpreter.source(Unknown Source)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.beanShell(StreamBaby
Main.java:176)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:42)
09/02/10 21:03:40 StreamBabyMain$BshLogger: Error retrieving/decoding ffmpeg fro
m: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz
2
09/02/10 21:03:40 StreamBabyMain: error running first run script: C:\streambaby-
0.29\scripts/first-run.bsh
Exited.
Press any key to continue . . .

Thanks for the help.

Mrick


----------



## mrick

Ok - so this is weird. My son came over and I explained to him. He clicked on the batch file and it ran just fine. He said the only thing he did was add a backslash but doesn't think that would have made the difference. But seems to working no.

Mrick


----------



## fourluptons

I have had streambaby up and running for some time now and I love it. What I would like to know is, is there a PC front end that would act like my tivo and allow me to preview/watch my streaming movies from another PC?


----------



## orangeboy

fourluptons said:


> I have had streambaby up and running for some time now and I love it. What I would like to know is, is there a PC front end that would act like my tivo and allow me to preview/watch my streaming movies from another PC?


VideoLan's VLC player can serve and read video streams.

The following sets up a stream that a person at IP address "74.125.47.105" (using port 1234) can view:


Code:


"C:\Program Files\VideoLAN\VLC\vlc.exe"  &#37;1  --extraintf http --http-host 192.168.0.30:8085 --http-src "C:\Program Files\VideoLAN\VLC\http" --aspect-ratio=4:3 --sout=#transcode{vcodec=h264,vb=1400,scale=1,acodec=mp4a,ab=96,channels=2}:duplicate{dst=std{access=udp,mux=ts,dst=74.125.47.105:1234}}

"%1" represents the path to the video I want to stream. My upload is garbage, so the video-bitrate is tuned WAY down. If the stream is going to be LAN access only, there may not be a need to transcode anything...


----------



## fourluptons

orangeboy said:


> VideoLan's VLC player can serve and read video streams.
> 
> The following sets up a stream that a person at IP address "74.125.47.105" (using port 1234) can view:
> 
> 
> Code:
> 
> 
> "C:\Program Files\VideoLAN\VLC\vlc.exe"  %1  --extraintf http --http-host 192.168.0.30:8085 --http-src "C:\Program Files\VideoLAN\VLC\http" --aspect-ratio=4:3 --sout=#transcode{vcodec=h264,vb=1400,scale=1,acodec=mp4a,ab=96,channels=2}:duplicate{dst=std{access=udp,mux=ts,dst=74.125.47.105:1234}}
> 
> "%1" represents the path to the video I want to stream. My upload is garbage, so the video-bitrate is tuned WAY down. If the stream is going to be LAN access only, there may not be a need to transcode anything...


I have looked into the VLC media player but I am not sure that it will do what I want it to do. Here is my situation I have an unRAID server setup with pyTivo and streambaby running. I have about 1G of movies and TV shows saved and i would like to be able to stream those to a windows 7 based netbook in another room. I would like to have this as simplified as possible so other family members could use it. To be able to point and play movies on the netbook without transfering them to the hd.

I suppose I could map a network drive on my desktop to my unRaid server and share the media via windows media player or itunes but I dont know what kind of performance hit i would take that way also it seems like it would be more practical to have something that could just live on the linux server.


----------



## wmcbrine

There are lots of ways you could stream to a computer, but Streambaby is pretty specifically oriented to the HME protocol used on TiVos, which is not implemented elsewhere. pyTivo is equally useless for your purpose.


----------



## fourluptons

wmcbrine said:


> There are lots of ways you could stream to a computer, but Streambaby is pretty specifically oriented to the HME protocol used on TiVos, which is not implemented elsewhere. pyTivo is equally useless for your purpose.


So what would be the best way to stream on demand from a linux system to W7


----------



## bluehz

I could swear at one time my streambaby read and displayed embedded metadata in mp4 files on the getinfo screens, but for some reason its not working anymore. Or was that all a dream and streambaby never read/displayed embedded metadata in mp4?


----------



## westside_guy

Some months ago, the option to "delete from server" was added to streambaby. I'm hoping there's a setting I can add to streambaby.ini to *disable* this option completely, since for my uses it's pointless and potentially a source of real problems. However the documentation on streambaby's wiki (which may very well be out of date) includes no relevant option.

So... is there a way to disable this? It would seem to me the people who requested this cannot possibly have young, inquisitive children around.

Thanks!

P.S. My apologies if this has been covered in the past. This single thread has gotten rather long and unwieldy - searching it is not particularly helpful.


----------



## gonzotek

westside_guy said:


> Some months ago, the option to "delete from server" was added to streambaby. I'm hoping there's a setting I can add to streambaby.ini to *disable* this option completely, since for my uses it's pointless and potentially a source of real problems. However the documentation on streambaby's wiki (which may very well be out of date) includes no relevant option.
> 
> So... is there a way to disable this? It would seem to me the people who requested this cannot possibly have young, inquisitive children around.
> 
> Thanks!
> 
> P.S. My apologies if this has been covered in the past. This single thread has gotten rather long and unwieldy - searching it is not particularly helpful.


It's not documented (yet), but it appears to be implemented: 
http://www.google.com/codesearch/p?...mbaby\.googlecode\.com&sa=N&cd=10&ct=rc&l=517
so try:
streambaby.delete = false
If it works, I'll add a comment to the wiki until a project manager can update it.


----------



## westside_guy

gonzotek said:


> It's not documented (yet), but it appears to be implemented:
> http://www.google.com/codesearch/p?...mbaby\.googlecode\.com&sa=N&cd=10&ct=rc&l=517
> so try:
> streambaby.delete = false
> If it works, I'll add a comment to the wiki until a project manager can update it.


It works perfectly - thank you!


----------



## gonzotek

westside_guy said:


> It works perfectly - thank you!


Great! I added a comment to the bottom of the ini wiki page:
http://code.google.com/p/streambaby/wiki/StreamBabyIni


----------



## sigpop

I want to stream my .MTS (AVCHD) files taken with a Sony digital cam to my Tivo Premiere. I store them on a Windows Home Server (Intel e8500, 4 GB RAM, connected via Cat6 to a GB network)

I installed and ran Tivo Desktop (free version) and it seems to be ok, but doesn't handle the .MTS files. I came across StreamBaby and installed that and am running it as a service. The service is started. Streambaby.log file says: 
09/16/10 14:00:28 Listener: added factory
09/16/10 14:00:28 Main: streambaby ready & listening.

I turned off Windows Firewall completely on the WHS (I'll monkey w correct ports later).

I edited the Streambaby.ini file to define dir.1:
dir.1=D:\shares\Videos
dir.1.name=My Videos

I didn't see the "Stream Baby, Stream" menu item on my Tivo Premiere. I'm using the HD menu. I had to use the ip= setting in the .ini file for some reason. Now I see Streambaby on my Tivo.

-----

I just started reading about ffmpeg. Has anybody been successful getting it to work with .MTS files?


----------



## gweempose

Is there something special I need to do in order to get streambaby to work as a service on a Windows 7 64-bit system? Here's what I tried:

1) Right click on install-streambaby-service
2) Run as administrator
3) Right click on start-streambaby-service
4) Run as administrator

After performing the above steps, I can see the streambaby app from my TiVos, but it will hang as soon as I try to access it. Eventually, I get the message:

"An error occurred while running this application. HTTP failure (Http connection error: 0x50005)."

For the record, streambaby is working just fine if I run it normally. I am only having this problem when I try to run it as a service. Is there a step that I am missing?


----------



## mnb

I just got a Premiere and after struggling with Mac2TiVo, I gave up and installed pyTiVox.

I had streambaby working fine for a couple hours, but now it's crashing and relaunching every 10 seconds. It doesn't show up in the Showcase menu, but if I enable pyTivo, I can download stuff from there.

I upgraded to the latest beta (1.4.1b) in the hopes it would resolve the problem. It didn't but the error is a little different:

I get this one once:


Code:


Sat 2010/10/09 17:20:55.901|   |main|Main|mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - Conductor.local] port=7290
Exception in thread "JmDNS(10.local.).SocketListener" java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty.
	at javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356)
	at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197)
	at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:181)
	at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:553)
	at javax.jmdns.impl.DNSRecord$Pointer.getServiceEvent(DNSRecord.java:564)
	at javax.jmdns.impl.JmDNSImpl.updateRecord(JmDNSImpl.java:1264)
	at javax.jmdns.impl.JmDNSImpl.handleRecord(JmDNSImpl.java:1398)
	at javax.jmdns.impl.JmDNSImpl.handleResponse(JmDNSImpl.java:1417)
	at javax.jmdns.impl.SocketListener.run(SocketListener.java:72)
	at java.lang.Thread.run(Thread.java:637)

Then this one repeats every 10 seconds:


Code:


Oct 9, 2010 7:21:56 PM javax.jmdns.impl.tasks.RecordReaper run
SEVERE: RecordReaper(10.local.).Error while reaping records: [[email protected] type: TYPE_PTR index 12, class: CLASS_IN index 1, name: _http._tcp.local. ttl: '0/7200' alias: '_http._tcp.local.']
java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty.
	at javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356)
	at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197)
	at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:181)
	at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:553)
	at javax.jmdns.impl.DNSRecord.getServiceInfo(DNSRecord.java:1051)
	at javax.jmdns.impl.JmDNSImpl.renewServiceCollector(JmDNSImpl.java:1228)
	at javax.jmdns.impl.tasks.RecordReaper.run(RecordReaper.java:80)
	at java.util.TimerThread.mainLoop(Timer.java:512)
	at java.util.TimerThread.run(Timer.java:462)

Any suggestions for how to resolve this? I miss the streaming!


----------



## generaltso

I'm having a couple of problems with Streambaby. I'm sure they've been discussed in this thread, but can't seem to find resolutions through search. The first issue is that all video fills the entire screen regardless of its aspect ratio. So video that should be leterboxed is getting stretched vertically instead. Is this just a config setting somewhere? The second issue is that I can't get subtitles to work. I've ensured that the .srt file has the same name as the video file. But when I hit Aspect (or zoom) on the remote to toggle the subtitles on, I just get a little red icon in the upper right of the screen. Is there something else I have to do to enable subtitles?

I'm running pyTiVoX and StreamBaby on Mac OSX 10.6.4.

Thanks!


----------



## TexasMan

mnb said:


> I just got a Premiere and after struggling with Mac2TiVo, I gave up and installed pyTiVox.
> 
> I had streambaby working fine for a couple hours, but now it's crashing and relaunching every 10 seconds. It doesn't show up in the Showcase menu, but if I enable pyTivo, I can download stuff from there.
> 
> I upgraded to the latest beta (1.4.1b) in the hopes it would resolve the problem. It didn't but the error is a little different:
> 
> I get this one once:
> 
> 
> Code:
> 
> 
> Sat 2010/10/09 17:20:55.901|   |main|Main|mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - Conductor.local] port=7290
> Exception in thread "JmDNS(10.local.).SocketListener" java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty.
> at javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356)
> at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197)
> at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:181)
> at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:553)
> at javax.jmdns.impl.DNSRecord$Pointer.getServiceEvent(DNSRecord.java:564)
> at javax.jmdns.impl.JmDNSImpl.updateRecord(JmDNSImpl.java:1264)
> at javax.jmdns.impl.JmDNSImpl.handleRecord(JmDNSImpl.java:1398)
> at javax.jmdns.impl.JmDNSImpl.handleResponse(JmDNSImpl.java:1417)
> at javax.jmdns.impl.SocketListener.run(SocketListener.java:72)
> at java.lang.Thread.run(Thread.java:637)
> 
> Then this one repeats every 10 seconds:
> 
> 
> Code:
> 
> 
> Oct 9, 2010 7:21:56 PM javax.jmdns.impl.tasks.RecordReaper run
> SEVERE: RecordReaper(10.local.).Error while reaping records: [[email protected] type: TYPE_PTR index 12, class: CLASS_IN index 1, name: _http._tcp.local. ttl: '0/7200' alias: '_http._tcp.local.']
> java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty.
> at javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356)
> at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197)
> at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:181)
> at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:553)
> at javax.jmdns.impl.DNSRecord.getServiceInfo(DNSRecord.java:1051)
> at javax.jmdns.impl.JmDNSImpl.renewServiceCollector(JmDNSImpl.java:1228)
> at javax.jmdns.impl.tasks.RecordReaper.run(RecordReaper.java:80)
> at java.util.TimerThread.mainLoop(Timer.java:512)
> at java.util.TimerThread.run(Timer.java:462)
> 
> Any suggestions for how to resolve this? I miss the streaming!


Same problem here.


----------



## Andrea4

I had a virus on my computer, got it fixed and now Streambaby isn't working. The console window says ready and listening. I try to run it on my Tivo HD, it says please wait for a while and then I get this error: HTTP failure (Http connection error: 0x50005).


----------



## WebHobbit

TiVo HD versus Premiere?

My TiVoHD is pretty much unusable with StreamBaby for HD files. It pauses like every minute or two. On the same Network with the same file I can get 15-20 minutes in before the Premiere pauses and tells me to wait while it buffers.

Is this normal? Is the Premiere's buffer larger than the TiVoHDs?


----------



## bradleys

Without getting too in depth, can someone tell me why I might want to install this service? 

I know that TIVO moves the files and does not stream, but other then that what benefits will I see?

- does it just play movies from my archive?
- will it play .TiVo, or only standard file formats?

I am sure it is a great product, and I am alwAys up for a techie challenge! But i am trying to figure out what additional functionality it is going to bring.


----------



## WebHobbit

I installed it in order to be able to play downloaded HD files that are Mpeg4 encoded both in the .MKV and .AVI containers that Tivo normally rejects. PyTivo refused to transfer a lot of these MKVs when I tried it.


----------



## wmcbrine

WebHobbit said:


> Is this normal? Is the Premiere's buffer larger than the TiVoHDs?


It's not a larger buffer; it's faster network transfers.



> _I installed it in order to be able to play downloaded HD files that are Mpeg4 encoded both in the .MKV and .AVI containers that Tivo normally rejects. PyTivo refused to transfer a lot of these MKVs when I tried it._


That shouldn't be. They both use ffmpeg to transcode. Maybe you just needed a newer ffmpeg for pyTivo?


----------



## Andrea4

Can anyone help me with the problem I posted about above? What should I do? Reinstall? I just like to download videos and watch them on my TV through the Tivo.


----------



## rfryar

WebHobbit said:


> I installed it in order to be able to play downloaded HD files that are Mpeg4 encoded both in the .MKV and .AVI containers that Tivo normally rejects. PyTivo refused to transfer a lot of these MKVs when I tried it.


As long as they are H264 codec and AAC or AC3 audio in the acceptable formats you can easily demux and remux them into MP4 containers. If it is not in an MP4 container than Streambaby will convert it to MPG on the fly.

Rick


----------



## tomm1079

Is this still being worked on or is development done with it? I noticed nothing has really updated in a while on the google code site.


----------



## yunlin12

rfryar said:


> As long as they are H264 codec and AAC or AC3 audio in the acceptable formats you can easily demux and remux them into MP4 containers. If it is not in an MP4 container than Streambaby will convert it to MPG on the fly.
> 
> Rick


Do you have any recommendation on Remuxers? I have a bunch of H264/AC3 videos in AVI container, bit rate is about 4-5 Kb/s. When using streambaby they don't buffer well. I would like to get them remuxed into MP4. These AVI were encoded with Handbrake:

video is H264, 1920x1080, 29.976 fps
audio is A52 Audio (AC3), 3F2R/LFE, 48KHz, 384 kb/s


----------



## scottvf

bradleys said:


> Without getting too in depth, can someone tell me why I might want to install this service?
> 
> I know that TIVO moves the files and does not stream, but other then that what benefits will I see?
> 
> - does it just play movies from my archive?
> - will it play .TiVo, or only standard file formats?
> 
> I am sure it is a great product, and I am alwAys up for a techie challenge! But i am trying to figure out what additional functionality it is going to bring.


Reasons you might want this.

1. Stream video from your computer that you downloaded like (divx, Xvid, mpg, .mkv, .avi, .flv ect)

2. If your dvr hard drive is running out of room, you can transfer shows to your computer and stream it to your tivo at a later time (after removing the protection with kmttg, direct show dump, or VideoReDo)


----------



## scottvf

yunlin12 said:


> Do you have any recommendation on Remuxers? I have a bunch of H264/AC3 videos in AVI container, bit rate is about 4-5 Kb/s. When using streambaby they don't buffer well. I would like to get them remuxed into MP4. These AVI were encoded with Handbrake:
> 
> video is H264, 1920x1080, 29.976 fps
> audio is A52 Audio (AC3), 3F2R/LFE, 48KHz, 384 kb/s


I have a tivo premiere XL, use a wired Gigabit network with linksys router (WRT310N) and cat 6 cable. 
From my router I have it going to 2 computers and into my living room where it goes into a gigabit switch (Linksys EG005W) where it connects to my ps3, xbox 360, HDI Dune Base 3.0, and my Tivo.

I have no problems streaming HD to my tivo except it rebuffering every 15 min because of large file size. So I use my HDI dune for hd movies.
If your using a wireless network, I would use wired (faster and no connection loss) If your not using gigabit network I would change to one since hd video needs to stream a lot of data compared to sd video.

If you want to convert to a smaller file I like using avs video converter. 
Other good ones are:

Total Video converter
Pavtube
DVD Fab
TMPGenc

To convert to dvd you have dvd flick ( http://www.dvdflick.net/ ) which is free.
For my dvd collection I use Vob2MpgPro ( http://www.svcd2dvd.com/vob2mpg/ ) to convert the dvd to 1 .mpg file to stream.


----------



## yunlin12

scottvf said:


> I have a tivo premiere XL, use a wired Gigabit network with linksys router (WRT310N) and cat 6 cable.
> From my router I have it going to 2 computers and into my living room where it goes into a gigabit switch (Linksys EG005W) where it connects to my ps3, xbox 360, HDI Dune Base 3.0, and my Tivo.
> 
> I have no problems streaming HD to my tivo except it rebuffering every 15 min because of large file size. So I use my HDI dune for hd movies.
> If your using a wireless network, I would use wired (faster and no connection loss) If your not using gigabit network I would change to one since hd video needs to stream a lot of data compared to sd video.
> 
> If you want to convert to a smaller file I like using avs video converter.
> Other good ones are:
> 
> Total Video converter
> Pavtube
> DVD Fab
> TMPGenc
> 
> To convert to dvd you have dvd flick ( http://www.dvdflick.net/ ) which is free.
> For my dvd collection I use Vob2MpgPro ( http://www.svcd2dvd.com/vob2mpg/ ) to convert the dvd to 1 .mpg file to stream.


My problem is not bandwidth. My Tivo HD, TPXL, PC are all on a Gigabit, the file is coming from a NAS which can avg 30+MB/s easy. I have files with similar codec and bitrate, all of them recorded from cable MPEG2, 1920x1080, and compressed into H264 at ~5K b/s, while preserving the original AC3 audio codec. Last year I was using AVI container, and later I switched to MP4 container. The MP4 files all stream fine to Tivo, the buffer grows quickly and is plenty ahead of real time. The AVI files do not seem to buffer at all. This is the reason I want to remux AVI to MP4, without re-encoding either video or audio stream.

So far I've tried:

Any Video Converter, it doesn't have an option to not re-encode video.
AVIDemux, can preserve both video and audio stream as-is using MP4 container without reencoding, the output file plays fine on PC, but streambaby hangs when trying to access it
Yamb, it complains that MP4 container is not compatible with the AC3 (3F2R/LFE, 384 kb/s) audio.


----------



## dlfl

yunlin12 said:


> Do you have any recommendation on Remuxers? I have a bunch of H264/AC3 videos in AVI container, bit rate is about 4-5 Kb/s. When using streambaby they don't buffer well. I would like to get them remuxed into MP4. These AVI were encoded with Handbrake:
> 
> video is H264, 1920x1080, 29.976 fps
> audio is A52 Audio (AC3), 3F2R/LFE, 48KHz, 384 kb/s


ffmpeg should do it:

ffmpeg -i .avi -vcodec copy -acodec copy .mp4

You can download a good Windows ffmpeg here:
http://pytivo.sourceforge.net/forum/rdian06-s-ffmpeg-builds-t468.html
See attachments in second post of the linked thread.


----------



## Andrea4

Realized I didn't have the latest version. Downloaded it and still nothing. Same error. Through the process of getting rid of the virus on my computer, I'm sure something got changed. Can anyone help me figure this out? I can't even open some of the files in the streambaby folder. What programs do they work in? I may not have them. Is this not the place to get help? If it's not, please point me in the right direction.


----------



## windracer

What's in your streambaby.log file? Can you post your streambaby.ini file?


----------



## Andrea4

This?

#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\Andrea\Videos
dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


Just extracted the ffmeg file...maybe that fixed it? On the "please wait..." screen now


----------



## windracer

Once you get ffmpeg extracted, try adding a

ffmpeg.path=

line to your streambaby.ini file with the location of ffmpeg.exe. Also, post/attach your streambaby.log file.


----------



## Andrea4

Add this to the streambaby.ini file? ffmpeg.path=ffmpeg.exe 
I did that and the console window doesn't say ready and listening..

I can't open what I think is the log file...


----------



## Andrea4

This maybe?

#!/bin/bash
DIRNAME=`dirname $0`
java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" [email protected]


----------



## yunlin12

dlfl said:


> ffmpeg should do it:
> 
> ffmpeg -i .avi -vcodec copy -acodec copy .mp4
> 
> You can download a good Windows ffmpeg here:
> http://pytivo.sourceforge.net/forum/rdian06-s-ffmpeg-builds-t468.html
> See attachments in second post of the linked thread.


That almost worked, the remuxed MP4 file can now be read by streambaby, and report the length and bitrate on Tivo's interface, but when I tried to play it (same quality), the progress bar just gets stuck on 0:00 and never starts. The good thing is that streambaby is not frozen this time, I can back out to browse other videos, and play them. I tried remuxing with both the 1.01 and 1.02 ffmpeg, same behavior.


----------



## scottvf

Try installing K-Lite Codec Pack ( http://www.codecguide.com/download_kl.htm ) 
I have the full one installed and don't have a problem with .avi files. maybe you need the correct codec installed.


----------



## windracer

Andrea4 said:


> Add this to the streambaby.ini file? ffmpeg.path=ffmpeg.exe
> I did that and the console window doesn't say ready and listening..
> 
> I can't open what I think is the log file...


Where is your ffmpeg located? You need to put in the entire path, like C:\streambaby\ffmpeg.exe or whatever.



Andrea4 said:


> This maybe?
> 
> #!/bin/bash
> DIRNAME=`dirname $0`
> java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" [email protected]


No, that's the startup script for streambaby on a Linux box. You're probably using streambaby.bat to start it on Windows, but again, that's not the log file. On Linux, I get a streambaby.log file, maybe there's not one on Windows so I guess anything you see in the console window might be helpful.


----------



## dlfl

yunlin12 said:


> That almost worked, the remuxed MP4 file can now be read by streambaby, and report the length and bitrate on Tivo's interface, but when I tried to play it (same quality), the progress bar just gets stuck on 0:00 and never starts. The good thing is that streambaby is not frozen this time, I can back out to browse other videos, and play them. I tried remuxing with both the 1.01 and 1.02 ffmpeg, same behavior.


Just guessing here....

There is a -O option in Handbrake that optimizes for http streaming and as I recall this is necessary for StreamBaby. But of course you don't want to re-encode with HB. You could experiment with mp4box using the -isma option. Downloading Yamb is one way to get a good copy of mp4box but there are links to direct downloads on VideoHelp.com.

Here is a link to instructions for mp4box:
http://gpac.sourceforge.net/doc_mp4box.php

I think you would need:

mp4box .mp4 -isma -out <videoNew>.mp4


----------



## orangeboy

dlfl said:


> yunlin12 said:
> 
> 
> 
> That almost worked, the remuxed MP4 file can now be read by streambaby, and report the length and bitrate on Tivo's interface, but when I tried to play it (same quality), the progress bar just gets stuck on 0:00 and never starts. The good thing is that streambaby is not frozen this time, I can back out to browse other videos, and play them. I tried remuxing with both the 1.01 and 1.02 ffmpeg, same behavior.
> 
> 
> 
> Just guessing here....
> 
> There is a -O option in Handbrake that optimizes for http streaming and as I recall this is necessary for StreamBaby. But of course you don't want to re-encode with HB. You could experiment with mp4box using the -isma option. Downloading Yamb is one way to get a good copy of mp4box but there are links to direct downloads on VideoHelp.com.
> 
> Here is a link to instructions for mp4box:
> http://gpac.sourceforge.net/doc_mp4box.php
> 
> I think you would need:
> 
> mp4box .mp4 -isma -out <videoNew>.mp4
Click to expand...

If you have python installed, you could try using qtfaststart.py on the newly created mp4 to ensure it's streamable.


----------



## txporter

yunlin12 said:


> That almost worked, the remuxed MP4 file can now be read by streambaby, and report the length and bitrate on Tivo's interface, but when I tried to play it (same quality), the progress bar just gets stuck on 0:00 and never starts. The good thing is that streambaby is not frozen this time, I can back out to browse other videos, and play them. I tried remuxing with both the 1.01 and 1.02 ffmpeg, same behavior.


You can make a batch file to do this using ffmpeg and mp4creator. Not sure if -isma from mp4box is the correct setting or not. I know this works for my TivoHD and Premiere.

avi-remux.bat (I actually used this for flv remux):


Code:


setlocal
set ffmpeg="D:\encode\ffmpeg.exe"
set mp4creator="D:\encode\mp4creator\mp4creator.exe"

FOR %%A IN (*.avi) DO (
%ffmpeg% -i %%A -vcodec copy -acodec copy %%~nA.mp4
%mp4creator% -O %%~nA.mp4
)

Just copy the code to a batch file and make sure your paths are updated. Will remux all AVI files in the directory that it is run from to mp4.


----------



## yunlin12

dlfl said:


> Just guessing here....
> 
> There is a -O option in Handbrake that optimizes for http streaming and as I recall this is necessary for StreamBaby. But of course you don't want to re-encode with HB. You could experiment with mp4box using the -isma option. Downloading Yamb is one way to get a good copy of mp4box but there are links to direct downloads on VideoHelp.com.
> 
> Here is a link to instructions for mp4box:
> http://gpac.sourceforge.net/doc_mp4box.php
> 
> I think you would need:
> 
> mp4box .mp4 -isma -out <videoNew>.mp4


Thanks! Do you know if mp4box supports AC3 audio? I only saw AAC support on the page you referenced.


----------



## dlfl

yunlin12 said:


> Thanks! Do you know if mp4box supports AC3 audio? I only saw AAC support on the page you referenced.


I'd just be guessing. I suggest you try txporter's method -- sounds solid.


----------



## Andrea4

windracer said:


> Where is your ffmpeg located? You need to put in the entire path, like C:\streambaby\ffmpeg.exe or whatever.
> 
> No, that's the startup script for streambaby on a Linux box. You're probably using streambaby.bat to start it on Windows, but again, that's not the log file. On Linux, I get a streambaby.log file, maybe there's not one on Windows so I guess anything you see in the console window might be helpful.


Tried the file path of ffmep.exe. Still didn't work. Not sure if I did it exactly right either. Yes I am trying to do this on Windows Vista. There is something that I think is the log file. I tried to open it with Microsoft Works and even after uninstalling and reinstalling, it still shows up with a works icon and I can't open it.

This is what the console window said earlier:

11/17/10 19:37:43 Listener: added factory
11/17/10 19:37:43 Main: streambaby ready & listening.

But with the ffmeg path it just says and doesn't go anywhere: Initializing StreamBaby v0.29...


----------



## windracer

So where exactly is your ffmpeg.exe located?

I'm not sure why you can't open the log with Works, it should be just a plain text file. Maybe double-check everything you've done against the getting started wiki page?


----------



## Andrea4

windracer said:


> So where exactly is your ffmpeg.exe located?
> 
> I'm not sure why you can't open the log with Works, it should be just a plain text file. Maybe double-check everything you've done against the getting started wiki page?


This is where it is right? With the path C:\Users\Andrea\Videos\streambaby-0.29\bin Here's a screen shot:

http://yfrog.com/5hffmpegpathj

Tried the Java thing under control panel. That had a similar file path under Program Files and then a bin folder.


----------



## yunlin12

dlfl said:


> I'd just be guessing. I suggest you try txporter's method -- sounds solid.


Still the same problem, I tried both mp4box -isma and mp4creator -Om and both still show the same issue, when I play the resulting mp4 file, the progress bar on Tivo (THD) gets stuck on 0:00 and doesn't start.

Thanks for trying.


----------



## windracer

Andrea4 said:


> This is where it is right? With the path C:\Users\Andrea\Videos\streambaby-0.29\bin


Right, okay, so your line in streambaby.ini should look like this:

ffmpeg.path=C:\Andrea\Videos\streambaby-0.29\bin\ffmpeg.exe


----------



## dlfl

yunlin12 said:


> Still the same problem, I tried both mp4box -isma and mp4creator -Om and both still show the same issue, when I play the resulting mp4 file, the progress bar on Tivo (THD) gets stuck on 0:00 and doesn't start.
> 
> Thanks for trying.


mp4creator *-Om *?? Is that a typo? The option should be just -O .

Get VideoReDo TVSuite Mpeg4 -- free trial, register for free trial via menu to remove 15 minute video limit cripple. Do a Quick Stream Fix on your .mp4 file(s). This is pretty quick -- not a re-encode. Actually you might need to do a "Save As". VRD automatically creates files suitable for streaming. (Equivalent to -O option in HandBrake).

BTW, if this works, you can automate it for all your "problem" files using VAP (link in signature).


----------



## yunlin12

dlfl said:


> mp4creator *-Om *?? Is that a typo? The option should be just -O .
> 
> Get VideoReDo TVSuite Mpeg4 -- free trial, register for free trial via menu to remove 15 minute video limit cripple. Do a Quick Stream Fix on your .mp4 file(s). This is pretty quick -- not a re-encode. Actually you might need to do a "Save As". VRD automatically creates files suitable for streaming. (Equivalent to -O option in HandBrake).
> 
> BTW, if this works, you can automate it for all your "problem" files using VAP (link in signature).


Yes -Om was a typo, I used -O

I have to look into VRD TVS, I had bought and been using version 3 for a long time, mostly using it for MPEG2 editing of stuff I got off of Tivo, so haven't looked into version 4 with MPeg4 support. Thanks for the reminder. Too bad it's not a free upgrade from 3 to 4 I think.

Edit: Thanks! VRD TVS 4 worked! The resulting MP4 can finally be streamed by streambaby.

Edit 2: It seems that VRD TVS 4 is chopping off a few seconds of the video (out of 42 min) when I run through QuickStreamFix. On some files it seems stuck, I wonder if it's run into something it doesn't like, and re-encoding it (still waiting to see if it finishes). I don't think I like what it's doing. I may have to just stick with the mp4 files that don't stream from streambaby, at least they play better with my PS3than the avi, and I can still watch everything through Boxee.


----------



## Andrea4

windracer said:


> Right, okay, so your line in streambaby.ini should look like this:
> 
> ffmpeg.path=C:\Andrea\Videos\streambaby-0.29\bin\ffmpeg.exe


Did that. The console window still doesn't go past Initializing StreamBaby v0.29...


----------



## windracer

And you're sure you have java installed? Not really sure what's wrong, but again I run streambaby on Linux, not on Windows.


----------



## Iluvatar

yunlin12 said:


> Still the same problem, I tried both mp4box -isma and mp4creator -Om and both still show the same issue, when I play the resulting mp4 file, the progress bar on Tivo (THD) gets stuck on 0:00 and doesn't start.
> 
> Thanks for trying.


What profile level is the video (sorry if I missed it). TiVo only will stream profile levels 4.1 and lower. If it is High profile than you may be SOL with out transcoding. If the profile is higher than 4.1 then you will get a stream that starts and does nothing.


----------



## dalawson

I've had streambaby working on my TiVo HD for quite a while and have not had a problem. I recently added a premiere box and I can't get streambaby to show up. When I look under "Music, Photos & Showcases" there isn't a streambaby option. I know the streambaby service is up and running, because my tivo HD can still use streambaby.

Do I need to do something special for streambaby to show up on the premiere? I have "Allow transfers" and "Enable video downloads" both checked on my tivo.com account for both of my tivos. My streambaby.ini file is the default except for my shares (both ip address and port are commented out).

Any other suggestions? I have pytivo working on the new premiere box, so streambaby is my last thing to figure out.


----------



## yunlin12

Iluvatar said:


> What profile level is the video (sorry if I missed it). TiVo only will stream profile levels 4.1 and lower. If it is High profile than you may be SOL with out transcoding. If the profile is higher than 4.1 then you will get a stream that starts and does nothing.


My videos are 1920x1080 at 29.97 fps, bitrate is about 4.5k. Not sure how to check profile level. I'll have to dig around a bit.

The same video in AVI container streams, just doesn't buffer enough, so the Tivo would pause all the time. That's the reason I want to remux to MP4. If the profile of the video codec is too high, wouldn't that cause problem in AVI container also?


----------



## Andrea4

windracer said:


> And you're sure you have java installed? Not really sure what's wrong, but again I run streambaby on Linux, not on Windows.


Yep. I updated it the other day.


----------



## Iluvatar

yunlin12 said:


> My videos are 1920x1080 at 29.97 fps, bitrate is about 4.5k. Not sure how to check profile level. I'll have to dig around a bit.
> 
> The same video in AVI container streams, just doesn't buffer enough, so the Tivo would pause all the time. That's the reason I want to remux to MP4. If the profile of the video codec is too high, wouldn't that cause problem in AVI container also?


No because as far as I am aware StreamBaby doesnt natively stream AVI files no matter the codecs that are inside the file. It is likely that the program is transcoding the file into mpeg2 TiVo format as it sends the file which would take care of the profile issue.

Download MediaInfo and use it to identify the profile for your media and post the info here. It should work on either the AVI or the MP4.


----------



## windracer

Andrea4 said:


> Yep. I updated it the other day.


Maybe this?

If I have some time over the weekend, I can try to install streambaby on my Win7 x64 desktop at home and see what happens. Otherwise, I'm out of ideas, sorry.


----------



## Andrea4

windracer said:


> Maybe this?
> 
> If I have some time over the weekend, I can try to install streambaby on my Win7 x64 desktop at home and see what happens. Otherwise, I'm out of ideas, sorry.


Ok..I have the 32-bit version of Vista. So I'm assuming that's what version of Java will run. 64-bit version shouldn't be a factor right? Shouldn't be a problem with Streambaby since the ffmpeg binaries are 32-bit right?

Maybe I'll see if the person that helped me get rid of the virus can help. Since Streambaby worked fine before that. It would still be appreciated if there's anything else you can check out.


----------



## windracer

Ok, it worked for me just fine under Win7 x64. All I did was:

- download streambaby-0.29.zip
- extracted it to C:\Program Files (x86)\streambaby
- edited streambaby.ini to set my video folder information
- ran streambaby.bat

What I saw was this:



Code:


Initializing StreamBaby v0.29...
11/19/10 21:21:01 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
11/19/10 21:21:01 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
11/19/10 21:21:01 StreamBabyMain$BshLogger: Downloading...
11/19/10 21:21:04 StreamBabyMain$BshLogger: Finished downloading, begin extract.
11/19/10 21:21:04 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
11/19/10 21:21:05 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
11/19/10 21:21:05 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
11/19/10 21:21:06 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
11/19/10 21:21:07 Listener: added factory
11/19/10 21:21:07 Main: streambaby ready & listening.

So it downloaded ffmpeg for me and put it under the streambaby\native folder (so you don't need the ffmpeg.path item in the ini file).

Then, I was able to see "stream baby, stream" under Music, Photos, & More and play an .AVI file. The console looked like this:



Code:


11/19/10 21:27:32 Factory: HME receiver connected
11/19/10 21:28:36 Listener: connection to receiver closed
11/19/10 21:28:36 Factory: HME receiver disconnected
11/19/10 21:30:38 Listener: 192.168.1.78 51f5b517-60d3-4094-8e76-59bf06d9dbc9.stream HTTP GET - to factory /streambaby/

Now, I will say that on first run, both java.exe and ffmpeg.exe triggered my firewall (Comodo) and I had to "allow" connections from the internet for both of those executables.

So, do you have anything in your native folder? If so, you should be able to remove that custom ffmpeg.path line in your streambaby.ini and streambaby should use the ffmeg in the native folder by default.


----------



## jbernardis

One pther thing to consider here is the bit size of the JVM you are using. Yes the OS is 64 bit, but that doen's necessarily mean that you are running the 64 bit JVM. If you are running the 32 bit JVM (which DOES run on 64 bit WIN7) then you'd be less likely to have compatibility issues with other software.

Case in point, I had an issue running harmonium as a service with a 64 bit JVM because the wrapper dll was incompatible. I had to install a 32 bit KWM as one of several steps to address my issues. Maybe this is a problem here too???


----------



## Andrea4

windracer said:


> Ok, it worked for me just fine under Win7 x64. All I did was:
> 
> - download streambaby-0.29.zip
> - extracted it to C:\Program Files (x86)\streambaby
> - edited streambaby.ini to set my video folder information
> - ran streambaby.bat
> 
> What I saw was this:
> 
> 
> 
> Code:
> 
> 
> Initializing StreamBaby v0.29...
> 11/19/10 21:21:01 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
> 11/19/10 21:21:01 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
> 11/19/10 21:21:01 StreamBabyMain$BshLogger: Downloading...
> 11/19/10 21:21:04 StreamBabyMain$BshLogger: Finished downloading, begin extract.
> 11/19/10 21:21:04 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
> 11/19/10 21:21:05 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
> 11/19/10 21:21:05 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
> 11/19/10 21:21:06 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
> 11/19/10 21:21:07 Listener: added factory
> 11/19/10 21:21:07 Main: streambaby ready & listening.
> 
> So it downloaded ffmpeg for me and put it under the streambaby\native folder (so you don't need the ffmpeg.path item in the ini file).
> 
> Then, I was able to see "stream baby, stream" under Music, Photos, & More and play an .AVI file. The console looked like this:
> 
> 
> 
> Code:
> 
> 
> 11/19/10 21:27:32 Factory: HME receiver connected
> 11/19/10 21:28:36 Listener: connection to receiver closed
> 11/19/10 21:28:36 Factory: HME receiver disconnected
> 11/19/10 21:30:38 Listener: 192.168.1.78 51f5b517-60d3-4094-8e76-59bf06d9dbc9.stream HTTP GET - to factory /streambaby/
> 
> Now, I will say that on first run, both java.exe and ffmpeg.exe triggered my firewall (Comodo) and I had to "allow" connections from the internet for both of those executables.
> 
> So, do you have anything in your native folder? If so, you should be able to remove that custom ffmpeg.path line in your streambaby.ini and streambaby should use the ffmeg in the native folder by default.


What exactly is the native folder? And is it ok if I still save it under the videos folder and not program files? Or why does it tell me I'm not an administrator on my own computer?! I guess because when I log on to my computer as Andrea, that's off of the main account? How do I make me (haha) or that name the administrator?


----------



## Andrea4

Ok duh! Found the native folder, extracted ffmpeg to it. Still not working. I can still see "stream baby, stream" under Music, Photos, & More, but without the slate icon? I guess in front. When I go to it, it stays on the Please wait.. screen for a while and then I get HTTP failure (Http connection error: (0x50005).


----------



## tbear334

Anyone have luck installing Streambaby on a Synology NAS?


----------



## windracer

Andrea4 said:


> Or why does it tell me I'm not an administrator on my own computer?! I guess because when I log on to my computer as Andrea, that's off of the main account? How do I make me (haha) or that name the administrator?


Click on Start, and then type 'users' and "User Accounts" item should appear. Click on that and then "Change your account type" to make yourself an administrator. This might not work, though, as I think you have to be an administrator to make another account an administrator, so you might need to talk to whoever fixed your PC after the virus infection to find out what the administrator account is.

At this point, I think you should remove streambaby completely and try re-installing it. Then see if it downloads ffmpeg for you into the native folder. You shouldn't have to extract anything yourself, from what I can tell.


----------



## Andrea4

windracer said:


> Click on Start, and then type 'users' and "User Accounts" item should appear. Click on that and then "Change your account type" to make yourself an administrator. This might not work, though, as I think you have to be an administrator to make another account an administrator, so you might need to talk to whoever fixed your PC after the virus infection to find out what the administrator account is.
> 
> At this point, I think you should remove streambaby completely and try re-installing it. Then see if it downloads ffmpeg for you into the native folder. You shouldn't have to extract anything yourself, from what I can tell.


I didn't find user accounts that way. I'm sure it's somewhere. And I basically fixed the virus myself. Got help from someone on a spyware message board. But maybe they know something from the logs and stuff.

How do I completely remove streambaby? Does deleting the whole folder do it? I've done that multiple times and reinstalled.


----------



## windracer

Andrea4 said:


> I didn't find user accounts that way. I'm sure it's somewhere. And I basically fixed the virus myself. Got help from someone on a spyware message board. But maybe they know something from the logs and stuff.


You're running Windows 7 right? If typing 'users' at the Start Menu didn't work (and it should have), you can also find it under Control Panel -> User Accounts.



Andrea4 said:


> How do I completely remove streambaby? Does deleting the whole folder do it? I've done that multiple times and reinstalled.


Yes, just removing the folder and re-extracting it should be fine. So you're saying that even though you've done that, when you start streambaby for the first time it doesn't download and extract ffmpeg into the native folder for you (like I showed in my logs above)?

Running out of ideas here, Andrea ...


----------



## Andrea4

windracer said:


> You're running Windows 7 right? If typing 'users' at the Start Menu didn't work (and it should have), you can also find it under Control Panel -> User Accounts.
> 
> Yes, just removing the folder and re-extracting it should be fine. So you're saying that even though you've done that, when you start streambaby for the first time it doesn't download and extract ffmpeg into the native folder for you (like I showed in my logs above)?
> 
> Running out of ideas here, Andrea ...


Nope. Not Windows 7. I have Vista. The OS that came out before Windows 7. It says Andrea is the administrator. Don't know why it still doesn't let me do stuff.

When I run the .bat file for the first time, it does download and extract ffmpeg into the native folder. Just still getting a connection error on my Tivo when I try to run it. Here's this log:



Code:


11/20/10 15:19:36 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
11/20/10 15:19:36 StreamBabyMain$BshLogger: Connecting: http://streambaby.googlecode.com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
11/20/10 15:19:37 StreamBabyMain$BshLogger: Downloading...
11/20/10 15:19:40 StreamBabyMain$BshLogger: Finished downloading, begin extract.
11/20/10 15:19:40 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
11/20/10 15:19:42 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
11/20/10 15:19:47 Listener: added factory
11/20/10 15:19:47 Main: streambaby ready & listening.


----------



## windracer

Ok, maybe try debug logging?


----------



## Andrea4

windracer said:


> Ok, maybe try debug logging?


Ok. Are they talking about the .ini file? Or I think it's another thing. The simplelog that says it's a properties file. That's the works file that I can't open.


----------



## windracer

simplelog.properties is just a plain text file ... you can open it in Notepad.


----------



## Andrea4

Ok! I didn't think I could find Notepad before. But it's not getting past Initializing StreamBaby... again


----------



## Andrea4

Deleted it, extracted it again. Here is the debug info: 


Code:


11/20/10 22:17:46 StreamBabyConfig: WorkingDir: "C:\Users\Andrea\Videos\streambaby-0.29"
11/20/10 22:17:46 StreamBabyConfig: StreamBabyDir: C:\Users\Andrea\Videos\streambaby-0.29
11/20/10 22:17:46 StreamBabyConfig: CurDir: C:\Users\Andrea\Videos\streambaby-0.29\native
11/20/10 22:17:47 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avutil-49.dll
11/20/10 22:17:47 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avcodec-52.dll
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
11/20/10 22:17:47 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avformat-52.dll
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
11/20/10 22:17:47 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
11/20/10 22:17:47 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\swscale-0.dll
11/20/10 22:17:47 FFmpegJavaConfig$1: Marking libswscale as available.
11/20/10 22:17:47 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
11/20/10 22:17:47 FFmpegExeVideoModule: FFmpegPath: C:\Users\Andrea\Videos\streambaby-0.29\native\ffmpeg.exe
11/20/10 22:17:47 FFmpegExeVideoModule: FFmpegExeModule: Loaded
11/20/10 22:17:47 StreamBabyMain: STARTING StreamBaby v0.29...
11/20/10 22:17:47 Main: args= start=true
11/20/10 22:17:47 Main: args= [email protected]
11/20/10 22:17:47 Listener: [email protected] [email protected]
11/20/10 22:17:47 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
11/20/10 22:17:47 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/20/10 22:17:47 Listener: name=/streambaby/
11/20/10 22:17:47 Listener: 
11/20/10 22:17:47 Listener: added factory
11/20/10 22:17:47 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/20/10 22:17:47 Main: MDNS: [url]http://192.168.0.104:7290/streambaby/[/url]
11/20/10 22:17:47 Main: streambaby ready & listening.
11/20/10 22:17:47 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
11/20/10 22:17:53 TiVoListener: addService: DVR 5DA3
11/20/10 22:17:53 TiVoListener: Updating service: _http._tcp.local. (DVR 5DA3)
11/20/10 22:17:53 TiVoListener: resolveService: _http._tcp.local. (DVR 5DA3)
11/20/10 22:17:53 TiVoListener: jmDns found TiVo: DVR 5DA3,


----------



## windracer

Hmmm ... that debug looks pretty good (although you might want to edit your TSN out of the last line, some people are sensitive about that). I see streambaby is "started and waiting" and it finds your TiVo.

So, does this debug include you trying to access streambaby from your TiVo? If not, give that a shot and then post the updated debug log.


----------



## Andrea4

Yes it does include me trying to access streambaby from my Tivo. It didn't seem to add anything when I did that.


----------



## Andrea4

Here it is again anyways:



Code:


11/21/10 12:59:55 StreamBabyConfig: WorkingDir: "C:\Users\Andrea\Videos\streambaby-0.29"
11/21/10 12:59:55 StreamBabyConfig: StreamBabyDir: C:\Users\Andrea\Videos\streambaby-0.29
11/21/10 12:59:55 StreamBabyConfig: CurDir: C:\Users\Andrea\Videos\streambaby-0.29\native
11/21/10 12:59:56 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avutil-49.dll
11/21/10 12:59:56 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avcodec-52.dll
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
11/21/10 12:59:56 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avformat-52.dll
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
11/21/10 12:59:56 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
11/21/10 12:59:56 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\swscale-0.dll
11/21/10 12:59:56 FFmpegJavaConfig$1: Marking libswscale as available.
11/21/10 12:59:56 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
11/21/10 12:59:56 FFmpegExeVideoModule: FFmpegPath: C:\Users\Andrea\Videos\streambaby-0.29\native\ffmpeg.exe
11/21/10 12:59:56 FFmpegExeVideoModule: FFmpegExeModule: Loaded
11/21/10 12:59:56 StreamBabyMain: STARTING StreamBaby v0.29...
11/21/10 12:59:56 Main: args= start=true
11/21/10 12:59:56 Main: args= [email protected]
11/21/10 12:59:56 Listener: [email protected] [email protected]
11/21/10 12:59:57 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
11/21/10 12:59:57 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/21/10 12:59:57 Listener: name=/streambaby/
11/21/10 12:59:57 Listener: 
11/21/10 12:59:57 Listener: added factory
11/21/10 12:59:57 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/21/10 12:59:57 Main: MDNS: http://192.168.0.104:7290/streambaby/
11/21/10 12:59:57 Main: streambaby ready & listening.
11/21/10 12:59:57 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
11/21/10 13:00:02 TiVoListener: addService: DVR 5DA3
11/21/10 13:00:02 TiVoListener: Updating service: _http._tcp.local. (DVR 5DA3)
11/21/10 13:00:02 TiVoListener: resolveService: _http._tcp.local. (DVR 5DA3)
11/21/10 13:00:02 TiVoListener: jmDns found TiVo: DVR 5DA3,

Could this also be because my TiVo is weird lately? Yesterday and today when I turned it on in the morning, all I saw was a gray screen and had to restart my TiVo.


----------



## windracer

Andrea4 said:


> Yes it does include me trying to access streambaby from my Tivo. It didn't seem to add anything when I did that.


Ok, then I suspect your firewall or something is blocking your TiVo from connecting to streambaby. When I connect to streambaby in debug mode I get a _ton_ of stuff in the log. If you're not seeing anything, then the TiVo's connection request is not making it to streambaby at all.


----------



## Andrea4

windracer said:


> Ok, then I suspect your firewall or something is blocking your TiVo from connecting to streambaby. When I connect to streambaby in debug mode I get a _ton_ of stuff in the log. If you're not seeing anything, then the TiVo's connection request is not making it to streambaby at all.


Ok. Wow. I turned off the firewall and it worked. But shouldn't I have the firewall on? Can I make it allow Streambaby? Here's the log with it off:



Code:


11/21/10 15:15:50 StreamBabyConfig: WorkingDir: "C:\Users\Andrea\Videos\streambaby-0.29"
11/21/10 15:15:50 StreamBabyConfig: StreamBabyDir: C:\Users\Andrea\Videos\streambaby-0.29
11/21/10 15:15:50 StreamBabyConfig: CurDir: C:\Users\Andrea\Videos\streambaby-0.29\native
11/21/10 15:15:50 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avutil-49.dll
11/21/10 15:15:50 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avcodec-52.dll
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
11/21/10 15:15:50 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\avformat-52.dll
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
11/21/10 15:15:50 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
11/21/10 15:15:50 FFmpegJavaConfig$1: Loaded: C:\Users\Andrea\Videos\streambaby-0.29\native\swscale-0.dll
11/21/10 15:15:50 FFmpegJavaConfig$1: Marking libswscale as available.
11/21/10 15:15:50 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
11/21/10 15:15:50 FFmpegExeVideoModule: FFmpegPath: C:\Users\Andrea\Videos\streambaby-0.29\native\ffmpeg.exe
11/21/10 15:15:50 FFmpegExeVideoModule: FFmpegExeModule: Loaded
11/21/10 15:15:50 StreamBabyMain: STARTING StreamBaby v0.29...
11/21/10 15:15:50 Main: args= start=true
11/21/10 15:15:51 Main: args= [email protected]
11/21/10 15:15:51 Listener: [email protected] [email protected]
11/21/10 15:15:51 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
11/21/10 15:15:51 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/21/10 15:15:51 Listener: name=/streambaby/
11/21/10 15:15:51 Listener: 
11/21/10 15:15:51 Listener: added factory
11/21/10 15:15:51 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/21/10 15:15:51 Main: MDNS: http://192.168.0.104:7290/streambaby/
11/21/10 15:15:51 Main: streambaby ready & listening.
11/21/10 15:15:51 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
11/21/10 15:15:56 TiVoListener: addService: DVR 5DA3
11/21/10 15:15:56 TiVoListener: Updating service: _http._tcp.local. (DVR 5DA3)
11/21/10 15:15:56 TiVoListener: resolveService: _http._tcp.local. (DVR 5DA3)
11/21/10 15:15:56 TiVoListener: jmDns found TiVo: DVR 5DA3, tsn: 
11/21/10 15:16:08 Listener: http=HttpRequest /streambaby/icon.png
11/21/10 15:16:08 Listener: path=/streambaby/icon.png uri=/streambaby/
11/21/10 15:16:08 Listener: 
11/21/10 15:16:08 Listener: 192.168.0.101 icon.png HTTP GET - to factory /streambaby/
11/21/10 15:16:08 StreamBabyStream$StreamBabyStreamFactory: uri=icon.png
11/21/10 15:16:15 Listener: http=HttpRequest /streambaby/
11/21/10 15:16:15 Listener: path=/streambaby/ uri=/streambaby/
11/21/10 15:16:15 Listener: http=HttpRequest /streambaby/ factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/21/10 15:16:15 Listener: 
11/21/10 15:16:15 Factory: HME receiver connected
11/21/10 15:16:15 Listener: app=StreamBabyStream[#1,uri=null] [email protected]
11/21/10 15:16:15 StreamBabyStream: width: 640
11/21/10 15:16:15 StreamBabyStream: height: 480
11/21/10 15:16:15 StreamBabyStream: aspect: 1/1
11/21/10 15:16:15 HostContext: key=pw applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:15 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:15 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:15 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:15 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:15 StreamBabyStream$StreamBabyStreamFactory: uri=background-480.jpg
11/21/10 15:16:16 RootDirEntry$dirEntryHandler: dirEntry: file:/C:/Users/Andrea/Videos/
11/21/10 15:16:16 HostContext: key=pw value=
11/21/10 15:16:16 HostContext: key=pw value=applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:16 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:16 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:16 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:16 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:16 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:16 RootDirEntry$dirEntryHandler: dirEntry: file:/C:/Users/Andrea/Videos/
11/21/10 15:16:16 StreamBabyStream$StreamBabyStreamFactory: uri=folder.png
11/21/10 15:16:16 SelectionScreen: focusOn entry=null
11/21/10 15:16:17 SelectionScreen: code=6 rawcode=16778246
11/21/10 15:16:18 StreamBabyStream$StreamBabyStreamFactory: uri=movie.png
11/21/10 15:16:18 SelectionScreen: focusOn entry=null
11/21/10 15:16:22 SelectionScreen: code=6 rawcode=16778246
11/21/10 15:16:23 SelectionScreen: focusOn entry=null
11/21/10 15:16:33 SelectionScreen: code=6 rawcode=16778246
11/21/10 15:16:33 VideoModuleHelper: GetVidInfo: file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi
11/21/10 15:16:34 FFmpegJavaVideoModule: vidDur:2491224
11/21/10 15:16:34 FFmpegJavaVideoModule: VideoInfo:
uri: file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi, Container: avi, Duration: 2491.224 seconds
Video: UNK 624x352 23.976023976023978 fps
  PixAspect: 1.0, Aspect: 1.7727273
Audio: mp3 48000HZ 2 channels
11/21/10 15:16:34 HostContext: key=mpos:file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:34 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:34 HostContext: key=mpos:file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:34 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:38 ButtonScreen: code=6 rawcode=16778246
11/21/10 15:16:39 ViewScreen: Desc: desperate.6.21.avi
11/21/10 15:16:40 PreviewWindow: pWidth: 640
11/21/10 15:16:40 PreviewWindow: preview parent=BView[#2557,bounds=0,0,640x480]
11/21/10 15:16:40 HostContext: key=mpos:file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:40 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:16:40 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:40 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:16:40 ViewScreen: goto position: 619410, vidlen: 2491224
11/21/10 15:16:40 ViewScreen: Position not in buffer, starting new stream
11/21/10 15:16:40 ViewScreen: Openening stream at position: 619000(619 secs)
11/21/10 15:16:40 VideoModuleHelper: quality setting is above quality of video, streaming normally
11/21/10 15:16:40 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -sameq -ab 192k -ar 48000
11/21/10 15:16:40 FFmpegExeVideoModule: FFmpegCmd: C:\Users\Andrea\Videos\streambaby-0.29\native\ffmpeg.exe -ss 619.0 -i C:\Users\Andrea\Videos\Catch Up\desperate.6.21.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/21/10 15:16:40 NamedStream: Registering named stream: 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:16:41 Listener: http=HttpRequest /streambaby/378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:16:41 Listener: path=/streambaby/378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream uri=/streambaby/
11/21/10 15:16:41 Listener: 
11/21/10 15:16:41 Listener: 192.168.0.101 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream HTTP GET - to factory /streambaby/
11/21/10 15:16:41 StreamBabyStream$StreamBabyStreamFactory: uri=378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:16:41 NamedStream: Getting mapped stream for named stream: 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:16:41 NamedStream: Getting mapped stream for named stream: 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:16:55 NewStatusBar: state=true
11/21/10 15:17:01 NewStatusBar: state=false
11/21/10 15:17:11 Listener: 
11/21/10 15:17:11 Listener: connection to receiver closed
11/21/10 15:17:11 NewStatusBar: 
11/21/10 15:17:11 HostContext: key=mpos:file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi value=634306
11/21/10 15:17:11 HostContext: key=mpos:file:/C:/Users/Andrea/Videos/Catch%20Up/desperate.6.21.avi value=634306applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:17:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
11/21/10 15:17:11 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:17:11 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:17:11 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:17:11 HostContext: compKey= and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
11/21/10 15:17:11 Listener: 
11/21/10 15:17:11 Factory: HME receiver disconnected
11/21/10 15:17:12 NamedStream: DeRegistering named stream: 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream
11/21/10 15:17:12 SocketProcessInputStream: Destroying running process...
11/21/10 15:17:12 Listener: 
11/21/10 15:17:12 Listener: 192.168.0.101 I/O Exception handling  HTTP GET 378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream: Connection reset by peer: socket write error
11/21/10 15:17:12 Listener: ctx=HttpRequest /streambaby/378dcf6f-de56-46ac-9f81-08b69f24c6e1.stream t=java.net.SocketException: Software caused connection abort: recv failed


----------



## windracer

Andrea4 said:


> Ok. Wow. I turned off the firewall and it worked. But shouldn't I have the firewall on? Can I make it allow Streambaby?


I don't use the Windows Firewall, but there should be some settings where you can allow programs through the firewall. In streambaby's case it should be java.exe and ffmpeg.exe and port 7290.


----------



## yunlin12

Iluvatar said:


> No because as far as I am aware StreamBaby doesnt natively stream AVI files no matter the codecs that are inside the file. It is likely that the program is transcoding the file into mpeg2 TiVo format as it sends the file which would take care of the profile issue.
> 
> Download MediaInfo and use it to identify the profile for your media and post the info here. It should work on either the AVI or the MP4.


Here is the codec info on one example file, with 3 versions:
1) original AVI that had buffering issue while streaming
2) MP4 from ffmpeg copy that would get stuck at 0:00 while streaming
3) MP3 after VRD TVS 4 Quickstream Fix

1) AVI:

Complete name : C:\Users\yun\Videos\Ep02 - The Train Job.avi
Format : AVI
Format/Info : Audio Video Interleave
Format profile : OpenDML
File size : 1.34 GiB
Duration : 42mn 53s
Overall bit rate : 4 459 Kbps
Writing application : MEncoder Sherpya-SVN-r29355-4.5.0
Writing library : MPlayer

Video
ID : 0
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Codec ID : h264
Duration : 42mn 53s
Bit rate : 4 096 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.066
Stream size : 1.22 GiB (91%)
Writing library : x264 core 67 r1165M 6841c5e
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=6 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=0 / keyint=250 / keyint_min=25 / scenecut=40 / rc=abr / bitrate=4096 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

Audio
ID : 1
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : 2000
Duration : 42mn 52s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 118 MiB (9%)
Alignment : Split accross interleaves
Interleave, duration : 500 ms (14.99 video frames)
Interleave, preload duration : 500 ms

2) MP4 from ffmpeg

Complete name : C:\Users\yun\Videos\Ep02 - The Train Job.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom
File size : 1.33 GiB
Duration : 42mn 53s
Overall bit rate : 4 455 Kbps
Writing application : Lavf52.50.0

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 42mn 53s
Bit rate mode : Variable
Bit rate : 4 096 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.066
Stream size : 1.22 GiB (91%)
Writing library : x264 core 67 r1165M 6841c5e
Encoding settings : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=6 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=0 / keyint=250 / keyint_min=25 / scenecut=40 / rc=abr / bitrate=4096 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00

Audio
ID : 2
Format  : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : ac-3
Duration : 42mn 52s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 118 MiB (9%)

3) MP4 from VRD TVS 4 QuickstreamFix

Complete name : C:\Users\yun\Videos\Ep02 - The Train Job (02).mp4
Format : MPEG-4
Format profile : Base Media / Version 2
Codec ID : mp42
File size : 1.33 GiB
Duration : 42mn 46s
Overall bit rate : 4 454 Kbps
Encoded date : UTC 2010-11-21 21:45:43
Tagged date : UTC 2010-11-21 21:45:43

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 42mn 46s
Bit rate mode : Variable
Bit rate : 4 069 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.065
Stream size : 1.22 GiB (91%)
Language : English
Encoded date : UTC 2010-11-21 21:45:43
Tagged date : UTC 2010-11-21 21:45:43

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Codec ID : ac-3
Duration : 42mn 46s
Bit rate mode : Constant
Bit rate : 384 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 16 bits
Stream size : 117 MiB (9%)
Language : English
Encoded date : UTC 2010-11-21 21:45:43
Tagged date : UTC 2010-11-21 21:45:43


----------



## Andrea4

> I don't use the Windows Firewall, but there should be some settings where you can allow programs through the firewall. In streambaby's case it should be java.exe and ffmpeg.exe and port 7290.


Ok. Got jave.exe and ffmpeg.exe added to exceptions. Not sure what to do for the port. It wants a name, port number (which I know is 7290) and if the protocol is TCP or UDP.


----------



## orangeboy

Andrea4 said:


> Ok. Got jave.exe and ffmpeg.exe added to exceptions. Not sure what to do for the port. It wants a name, port number (which I know is 7290) and if the protocol is TCP or UDP.


You could probably just give a name of "Streambaby", port 7290, protocol TCP. I fired up Streambaby on my laptop and issued the command: netstat -a, and found:



Code:


Active Connections

  Proto  Local Address          Foreign Address             State
  TCP    d610-laptop:7290       d610-laptop.domain.local:0  LISTENING

Not exactly relevant or directed at the OP, but may come in handy, I wrote a Windows batch file that expands on what's found in the netstat command, by issuing TASKLIST and WMIC commands. It gives the "Image Name" which would show up in Task Manager, the Process ID, the port number, the protocol used, the IP address, and probably most handy, the Executable Path of the process:



Code:


::Portlist.bat
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION

IF "&#37;1" NEQ "" GOTO %1

:Listening
ECHO.
ECHO Ports listening:
ECHO Image Name            PID  Port  Protocol         Address Executable Path
ECHO -------------------- ---- ----- --------- --------------- -------------------------------------------------
FOR /F "tokens=1-3,7 delims=: " %%a IN ('NETSTAT -ano^|FINDSTR /I "LISTENING"') DO (
    SET protocol=         %%a
    SET protocol=!protocol:~-9!
    SET address=         %%b
    SET address=!address:~-15!
    SET port=     %%c
    SET port=!port:~-5!
	SET p_id=%%d
	SET p_id=    !p_id:~0,4!
	SET p_id=!p_id:~-4!
    FOR /F "tokens=1* delims==" %%u IN ('WMIC Process WHERE "ProcessId=%%d" GET ExecutablePath /FORMAT:LIST') DO (
        IF "%%v" NEQ "" SET ExecutablePath=%%v
    )
    FOR /F "tokens=1* delims=:" %%y IN ('TASKLIST /V /FI "PID eq %%d" /FO "LIST"') DO (
        SET var=%%y
        SET var=!var: =!
        SET value=%%z
        SET value=!value: =!                    
        SET value=!value:~0,20!
        SET !var!=!value!
    )
    ECHO.!ImageName! !p_id! !port! !protocol! !address! !ExecutablePath!
)

:Used
ECHO.
ECHO Ports in use:
ECHO Image Name            PID  Port  Protocol         Address Executable Path
ECHO -------------------- ---- ----- --------- --------------- -------------------------------------------------
FOR /F "tokens=1-3,7 delims=: " %%a IN ('NETSTAT -ano^|FINDSTR /I "ESTABLISHED"') DO (
    SET protocol=         %%a
    SET protocol=!protocol:~-9!
    SET address=         %%b
    SET address=!address:~-15!
    SET port=     %%c
    SET port=!port:~-5!
	SET p_id=%%d
	SET p_id=    !p_id:~0,4!
	SET p_id=!p_id:~-4!
    FOR /F "tokens=1* delims==" %%u IN ('WMIC Process WHERE "ProcessId=%%d" GET ExecutablePath /FORMAT:LIST') DO (
        IF "%%v" NEQ "" SET ExecutablePath=%%v
    )
    FOR /F "tokens=1* delims=:" %%y IN ('TASKLIST /V /FI "PID eq %%d" /FO "LIST"') DO (
        SET var=%%y
        SET var=!var: =!
        SET value=%%z
        SET value=!value: =!                    
        SET value=!value:~0,20!
        SET !var!=!value!
    )
    ECHO.!ImageName! !p_id! !port! !protocol! !address! !ExecutablePath!
)

:Hung
SET search_string=LISTENING ESTABLISHED Active Connections Proto Local Address Foreign State PID UDP
ECHO.
ECHO Ports that are hung:
ECHO Image Name            PID  Port  Protocol           State Executable Path
ECHO -------------------- ---- ----- --------- --------------- -------------------------------------------------
FOR /F "tokens=1-3,6,7 delims=: " %%a IN ('NETSTAT -ano^|FINDSTR /V /I "%search_string%"') DO (
    SET protocol=         %%a
    SET protocol=!protocol:~-9!
    SET address=         %%b
    SET address=!address:~-15!
    SET port=     %%c
    SET port=!port:~-5!
	SET state=               %%d
    SET state=!state:~-15!
	SET p_id=%%e
	SET p_id=    !p_id:~0,4!
	SET p_id=!p_id:~-4!
    IF /I %%d EQU 0 (
        FOR /F "tokens=1* delims==" %%u IN ('WMIC Process WHERE "ProcessId=%%e" GET Name /FORMAT:LIST') DO (
        SET ExecutablePath=%%v
        )
    )
    IF /I %%d NEQ 0 (
        FOR /F "tokens=1* delims==" %%u IN ('WMIC Process WHERE "ProcessId=%%e" GET ExecutablePath /FORMAT:LIST') DO (
            IF "%%v" NEQ "" SET ExecutablePath=%%v
        )
    )
    FOR /F "tokens=1* delims=:" %%y IN ('TASKLIST /v /FI "PID eq %%e" /FO "LIST"') DO (
        SET var=%%y
        SET var=!var: =!
        SET value=%%z
        SET value=!value: =!                    
        SET value=!value:~0,20!
        SET !var!=!value!
    )
    ECHO.!ImageName! !p_id! !port! !protocol! !state! !ExecutablePath!
)

EXIT /B


----------



## Andrea4

> You could probably just give a name of "Streambaby", port 7290, protocol TCP. I fired up Streambaby on my laptop and issued the command: netstat -a, and found:


Did that with the port. Still didn't connect. Will doing the rest of that help someone figure out why it won't connect?


----------



## orangeboy

Andrea4 said:


> Did that with the port. Still didn't connect. Will doing the rest of that help someone figure out why it won't connect?


No, not really. What that batch does is give (what I think) is a more detailed look at what ports are doing what, and perhaps why. The plain ole' netstat command gives some information that is useful. Add some commandline switches, and it becomes more useful, to an extent. That batch file uses the netstat switches "-ano", which says "give all connections using number form (in place of computer or port names), and include the process ID that owns that port." The batch just gives additional information based on that process ID, such as the name of the program, and where that program lives on the harddrive (key pieces if you suspect a trojan/virus/malware program has setup a server on your computer without your knowledge.)

I don't have Vista (still on XP), but in my Windows Firewall, there's an Advanced tab that allows you to create a firewall log. Maybe you could enable that log (if you have that option), try using Stream Baby, and disable that log. There may be something that gets caught in the log that would explain everything?!


----------



## Andrea4

> I don't have Vista (still on XP), but in my Windows Firewall, there's an Advanced tab that allows you to create a firewall log. Maybe you could enable that log (if you have that option), try using Stream Baby, and disable that log. There may be something that gets caught in the log that would explain everything?!


Ok. To get to the log settings on Vista doesn't seem as easy as it does on XP. Don't really know if it matters how I got to them, but I did. I can see that it made a log when I tried to use Streambaby. But when I try to open the txt file it tells me Access is Denied! Ugh!


----------



## windracer

I'm thinking you've got other issues besides just streambaby not working ...


----------



## Andrea4

windracer said:


> I'm thinking you've got other issues besides just streambaby not working ...


Like what? I think Streambaby worked before because I didn't have the firewall on..but that's bad.


----------



## windracer

I was just referring to all of these "access denied" messages you keep getting.


----------



## orangeboy

Maybe this will (somewhat) help? "Troubleshoot "access denied" when opening files or folders"


----------



## Andrea4

Ok..I think I got it now. Under the firewall settings, I unchecked the box that said Block all incoming connections. Then when I ran Streambaby a box came up about blocking Java. I unblocked it and it worked! Maybe now it really is unblocked? I'm pretty much an idiot because now it says Inbound connections that do not have an exception are blocked. So was I not even allowing the exceptions before? I should be good with these settings right?


----------



## orangeboy

I don't use Windows Firewall, but it sounds like "Inbound connections that do not have an exception are blocked" is a good thing.


----------



## Andrea4

Ok! Thanks everyone for your help! It probably took way longer then it needed to. Sorry! 

Kind of off topic but, 

if you don't use Windoes Firewall, what do you use? 

And I'm not sure what to do about the access denied stuff. When I looked at the properties of that file, it said all users were allowed so i don't get it! I'll try to get it figured out at some point if i have to.


----------



## windracer

Sounds like you got it, whew!


----------



## KOP22

Will have to give this a try.


----------



## orangeboy

Andrea4 said:


> Kind of off topic but,
> 
> if you don't use Windoes Firewall, what do you use?


For security reasons, I'm not at liberty to say.


----------



## dalawson

dalawson said:


> I've had streambaby working on my TiVo HD for quite a while and have not had a problem. I recently added a premiere box and I can't get streambaby to show up. When I look under "Music, Photos & Showcases" there isn't a streambaby option. I know the streambaby service is up and running, because my tivo HD can still use streambaby.
> 
> Do I need to do something special for streambaby to show up on the premiere? I have "Allow transfers" and "Enable video downloads" both checked on my tivo.com account for both of my tivos. My streambaby.ini file is the default except for my shares (both ip address and port are commented out).
> 
> Any other suggestions? I have pytivo working on the new premiere box, so streambaby is my last thing to figure out.


I turned on debug logging yesterday, and it looks like streambaby is seeing both tivos, but streambaby only shows up on the tivo HD (tivo shows up with the name of Lawson even though it's "Home Theater" on tivo.com). Any clue why streambaby wouldn't show up in the "Music, Photos & Showcases" menu on the tivo premiere?



Code:


11/22/10 17:01:57 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
11/22/10 17:01:57 Main: MDNS: http://192.168.0.101:7290/streambaby/
11/22/10 17:01:57 Main: streambaby ready & listening.
11/22/10 17:01:57 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
11/22/10 17:02:03 TiVoListener: addService: Brother HL-2070N series
11/22/10 17:02:03 TiVoListener: Updating service: _http._tcp.local. (Brother HL-2070N series)
11/22/10 17:02:03 TiVoListener: resolveService: _http._tcp.local. (Brother HL-2070N series)
11/22/10 17:02:03 TiVoListener: addService: Lawson
11/22/10 17:02:03 TiVoListener: Updating service: _http._tcp.local. (Lawson)
11/22/10 17:02:03 TiVoListener: resolveService: _http._tcp.local. (Lawson)
11/22/10 17:02:03 TiVoListener: jmDns found TiVo: Lawson, tsn: XXXXXXXXXXXXXX
11/22/10 17:02:52 TiVoListener: addService: Family Room
11/22/10 17:02:52 TiVoListener: Updating service: _http._tcp.local. (Family Room)
11/22/10 17:02:52 TiVoListener: resolveService: _http._tcp.local. (Family Room)
11/22/10 17:02:52 TiVoListener: jmDns found TiVo: Family Room, tsn: XXXXXXXXXXXXXX

Edit: I'm thinking it might be a multicast problem with an old WAP I'm using. Going to see if I can find a long enough ethernet cord to test if it works when hardwired.


----------



## shelleye

windracer said:


> Sounds like you got it, whew!


Many thanks to you for hanging in and trouble-shooting this problem. I just started using streambaby (thanks to WMcBrine and others on this board who pointed me in that direction) and was having a tough time getting it to run on windows7 64 bit. (I could run the bat file but not the service) By reading through your patient dialogue, I was able to solve my problems. I was very touched by how hard you worked, as I often am by the volunteer efforts on this forum.

For those trying to install StreamBaby as a service under windows 7 64 bit, the secret, for me, seems to be that it HAD to be extracted in the Programs x86 folder, not in the root directory, as I had originally set it up. I don't know enough about programming to understand why, but I suspect that this forced it to find and run the proper java version (32 not 64 bit) when running as a service.



PS Seems as if the OP has vanished from the thread. Does this mean streambaby will (eventually) be no more? Pity, if so, since I just discovered it.


----------



## dalawson

dalawson said:


> Edit: I'm thinking it might be a multicast problem with an old WAP I'm using. Going to see if I can find a long enough ethernet cord to test if it works when hardwired.


I removed the old Buffalo wireless gaming adapter I was using and flashed an old linksys WRT54G with the latest version of DD-WRT. Then I configured it as a client bridge and now streambaby is working perfectly on both of my tivos!


----------



## wombat94

Hi all... I am wondering if anyone else has seen something like this.

I am using streambaby to server videos from my WHS v1 box to two Tivo Premieres.

I have pyTivo metadata files for my videos (mostly from MetaGenerator, but some manually created - that doesn't appear to be part of the issue).

Here's my problem. When I run Streambaby interactively from a login session on the server, I get full display of the metadata on the playing screen with no problems - including the description, episode number, original air date, etc.

If I run streambaby as a service, set to use the same user account and password I use when running it interactively, everything works fine with Streambaby - except, I get no display of metadata in the Play screen... I can tell the metadata is being read, because the episode title is being displayed instead of the filename, but there is no info shown.

Here is an excerpt from the streambaby log as a service:



Code:


12/08/10 07:02:15 SelectionScreen: code=6 rawcode=16778246
12/08/10 07:02:18 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Mad Men - Smoke Gets in Your Eyes</h1><p>While Don struggles to control his problematic love life, he tries to keep the agency from losing a big tobacco account.</p><p><br>Original Air Date: 07/19/2007<br>Episode #: 1</p><p>Jon Hamm, January Jones, Elisabeth Moss</p></div></body></html>
12/08/10 07:02:18 VideoModuleHelper: GetVidInfo: file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4
12/08/10 07:02:19 FFmpegJavaVideoModule: vidDur:2919978
12/08/10 07:02:19 FFmpegJavaVideoModule: VideoInfo:
uri: file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4, Container: mp4, Duration: 2919.978 seconds
Video: h264 1920x1080 5000.0 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: aac 48000HZ 2 channels
12/08/10 07:02:19 HostContext: key=mpos:file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/08/10 07:02:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/08/10 07:02:19 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/08/10 07:02:19 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/08/10 07:02:19 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/08/10 07:02:19 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:28)
12/08/10 07:02:19 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 28, size:1896850)
12/08/10 07:02:19 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 36, size:108)
12/08/10 07:02:19 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 144, size:24)
12/08/10 07:02:19 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 168, size:1211757)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 176, size:92)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 268, size:1211621)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 276, size:32)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 308, size:33)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 341, size:1211548)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 349, size:20)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 369, size:36)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 377, size:28)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 405, size:1211484)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 413, size:188)
12/08/10 07:02:19 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 429, size:172)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 601, size:288208)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 288809, size:280052)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 568861, size:94636)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 663497, size:131712)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 795209, size:343848)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 1139057, size:2812)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.UnknownAtom(115,100,116,112): SdtpAtom (offset: 1141869, size:70020)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 1211889, size:36)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 1211897, size:28)
12/08/10 07:02:19 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 1211925, size:684842)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 1211933, size:92)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 1212025, size:684720)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 1212033, size:32)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1212065, size:33)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 1212098, size:684647)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 1212106, size:16)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 1212122, size:36)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 1212130, size:28)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 1212158, size:684587)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 1212166, size:103)
12/08/10 07:02:19 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 1212182, size:87)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 1212269, size:24)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1212293, size:547516)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1759809, size:40)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 1759849, size:136896)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 1896745, size:22)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 1896753, size:14)
12/08/10 07:02:19 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 1896767, size:111)
12/08/10 07:02:19 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 1896775, size:103)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1896787, size:33)
12/08/10 07:02:19 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 1896820, size:58)
12/08/10 07:02:19 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 1896828, size:50)
12/08/10 07:02:19 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1896836, size:42)
12/08/10 07:02:19 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 1896878, size(LRG):2905904346)
12/08/10 07:02:19 MP4StreamFactory$2: DBG: moov size 1896842
12/08/10 07:02:19 MP4StreamFactory$2: DBG: mdat size 2905904330
12/08/10 07:02:19 MP4StreamFactory$2: DBG: sampleNum 1
12/08/10 07:02:19 MP4StreamFactory$2: DBG: new key frame 1
12/08/10 07:02:19 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/90000) adjTimePos(0/90000)
12/08/10 07:02:19 MP4StreamFactory$2: DBG: trackType Snd trackTime: 1.92153582E14 adjustTime: 0.0 mediaTime(9223372036854775807/48000) adjTimePos(0/90000)
12/08/10 07:02:19 MP4StreamFactory$2: DBG: Movie time 2919 sec, cut at 0.0sec
12/08/10 07:02:19 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
12/08/10 07:02:19 MP4StreamFactory$2: DBG: media time 0
12/08/10 07:02:19 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/08/10 07:02:19 MP4StreamFactory$2: 	DBG: chunk 1
12/08/10 07:02:19 MP4StreamFactory$2: DBG: cutDuration 262792530
12/08/10 07:02:19 MP4StreamFactory$2: DBG: new time 0.0
12/08/10 07:02:19 MP4StreamFactory$2: DBG: media time 0
12/08/10 07:02:19 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/08/10 07:02:19 MP4StreamFactory$2: 	DBG: chunk 1
12/08/10 07:02:19 MP4StreamFactory$2: DBG: cutDuration 262798080
12/08/10 07:02:19 MP4StreamFactory$2: DBG: new time 0.0
12/08/10 07:02:19 MP4StreamFactory$2: DBG: moov chunk 1896894
12/08/10 07:02:19 MP4StreamFactory$2: DBG: cut moov chunk 1896894
12/08/10 07:02:19 MP4StreamFactory$2: DBG: updateAmount 70052
12/08/10 07:02:19 MP4StreamFactory$2: DBG: movie skip 0
12/08/10 07:02:19 MP4StreamFactory$2: DBG: Cut Movie time 2919 sec 
12/08/10 07:02:19 VideoModuleHelper: quality setting is above quality of video, streaming normally
12/08/10 07:02:20 HostContext: key=mpos:file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/08/10 07:02:20 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/08/10 07:02:20 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/08/10 07:02:20 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/08/10 07:02:20 VideoModuleHelper: quality setting is above quality of video, streaming normally
12/08/10 07:02:21 ButtonScreen: action=pop
12/08/10 07:02:21 SelectionScreen: focusOn entry=Mad Men - Smoke Gets in Your Eyes
12/08/10 07:02:22 SelectionScreen: focusOn entry=Mad Men - Smoke Gets in Your Eyes
12/08/10 07:02:22 SelectionScreen: action=pop
12/08/10 07:02:22 SelectionScreen: focusOn entry=Season 1
12/08/10 07:02:23 SelectionScreen: focusOn entry=Season 1
12/08/10 07:02:23 SelectionScreen: action=pop

and here is an excerpt from the streambaby log navigating to the same video with streambaby running interactively:



Code:


12/07/10 22:28:27 SelectionScreen: code=6 rawcode=16778246
12/07/10 22:28:29 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>Mad Men - Smoke Gets in Your Eyes</h1><p>While Don struggles to control his problematic love life, he tries to keep the agency from losing a big tobacco account.</p><p><br>Original Air Date: 07/19/2007<br>Episode #: 1</p><p>Jon Hamm, January Jones, Elisabeth Moss</p></div></body></html>
12/07/10 22:28:31 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=293]
12/07/10 22:28:31 VideoModuleHelper: GetVidInfo: file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4
12/07/10 22:28:32 FFmpegJavaVideoModule: vidDur:2919978
12/07/10 22:28:32 FFmpegJavaVideoModule: VideoInfo:
uri: file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4, Container: mp4, Duration: 2919.978 seconds
Video: h264 1920x1080 5000.0 fps
  PixAspect: 1.0, Aspect: 1.7777778
Audio: aac 48000HZ 2 channels
12/07/10 22:28:32 HostContext: key=mpos:file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/07/10 22:28:32 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/07/10 22:28:32 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/07/10 22:28:32 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/07/10 22:28:32 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/07/10 22:28:32 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:28)
12/07/10 22:28:32 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 28, size:1896850)
12/07/10 22:28:32 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 36, size:108)
12/07/10 22:28:32 MP4StreamFactory$2:  mp4.util.atom.IodsAtom(105,111,100,115): IodsAtom (offset: 144, size:24)
12/07/10 22:28:32 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 168, size:1211757)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 176, size:92)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 268, size:1211621)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 276, size:32)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 308, size:33)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 341, size:1211548)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 349, size:20)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 369, size:36)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 377, size:28)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 405, size:1211484)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 413, size:188)
12/07/10 22:28:32 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 429, size:172)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 601, size:288208)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 288809, size:280052)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 568861, size:94636)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 663497, size:131712)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.CttsAtom(99,116,116,115): CttsAtom (offset: 795209, size:343848)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 1139057, size:2812)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.UnknownAtom(115,100,116,112): SdtpAtom (offset: 1141869, size:70020)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.EdtsAtom(101,100,116,115): EdtsAtom (offset: 1211889, size:36)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.ElstAtom(101,108,115,116): ElstAtom (offset: 1211897, size:28)
12/07/10 22:28:32 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 1211925, size:684842)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 1211933, size:92)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 1212025, size:684720)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 1212033, size:32)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1212065, size:33)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 1212098, size:684647)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 1212106, size:16)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 1212122, size:36)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 1212130, size:28)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 1212158, size:684587)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 1212166, size:103)
12/07/10 22:28:32 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(109,112,52,97): Mp4aAtom (offset: 1212182, size:87)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 1212269, size:24)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1212293, size:547516)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1759809, size:40)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.Co64Atom(99,111,54,52): Co64Atom (offset: 1759849, size:136896)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 1896745, size:22)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.UnknownAtom(110,97,109,101): NameAtom (offset: 1896753, size:14)
12/07/10 22:28:32 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 1896767, size:111)
12/07/10 22:28:32 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 1896775, size:103)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1896787, size:33)
12/07/10 22:28:32 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 1896820, size:58)
12/07/10 22:28:32 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 1896828, size:50)
12/07/10 22:28:32 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1896836, size:42)
12/07/10 22:28:32 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 1896878, size(LRG):2905904346)
12/07/10 22:28:32 MP4StreamFactory$2: DBG: moov size 1896842
12/07/10 22:28:32 MP4StreamFactory$2: DBG: mdat size 2905904330
12/07/10 22:28:32 MP4StreamFactory$2: DBG: sampleNum 1
12/07/10 22:28:32 MP4StreamFactory$2: DBG: new key frame 1
12/07/10 22:28:32 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/90000) adjTimePos(0/90000)
12/07/10 22:28:32 MP4StreamFactory$2: DBG: trackType Snd trackTime: 1.92153582E14 adjustTime: 0.0 mediaTime(9223372036854775807/48000) adjTimePos(0/90000)
12/07/10 22:28:32 MP4StreamFactory$2: DBG: Movie time 2919 sec, cut at 0.0sec
12/07/10 22:28:32 MP4StreamFactory$2: 	DBG: ts 90000 cut at 0.0
12/07/10 22:28:32 MP4StreamFactory$2: DBG: media time 0
12/07/10 22:28:32 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/07/10 22:28:32 MP4StreamFactory$2: 	DBG: chunk 1
12/07/10 22:28:33 MP4StreamFactory$2: DBG: cutDuration 262792530
12/07/10 22:28:33 MP4StreamFactory$2: DBG: new time 0.0
12/07/10 22:28:33 MP4StreamFactory$2: DBG: media time 0
12/07/10 22:28:33 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/07/10 22:28:33 MP4StreamFactory$2: 	DBG: chunk 1
12/07/10 22:28:33 MP4StreamFactory$2: DBG: cutDuration 262798080
12/07/10 22:28:33 MP4StreamFactory$2: DBG: new time 0.0
12/07/10 22:28:33 MP4StreamFactory$2: DBG: moov chunk 1896894
12/07/10 22:28:33 MP4StreamFactory$2: DBG: cut moov chunk 1896894
12/07/10 22:28:33 MP4StreamFactory$2: DBG: updateAmount 70052
12/07/10 22:28:33 MP4StreamFactory$2: DBG: movie skip 0
12/07/10 22:28:33 MP4StreamFactory$2: DBG: Cut Movie time 2919 sec 
12/07/10 22:28:33 VideoModuleHelper: quality setting is above quality of video, streaming normally
12/07/10 22:28:33 HostContext: key=mpos:file:////server/videos/TV/Mad%20Men/Season%201/Mad%20Men%20S01E01.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/07/10 22:28:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/07/10 22:28:33 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/07/10 22:28:33 HostContext: compKey=7460001903FF5C0-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/07/10 22:28:33 VideoModuleHelper: quality setting is above quality of video, streaming normally
12/07/10 22:28:40 ButtonScreen: code=19 rawcode=16779795
12/07/10 22:28:40 PlayScreen: code=19 rawcode=16779795
12/07/10 22:28:42 ButtonScreen: action=pop
12/07/10 22:28:42 SelectionScreen: focusOn entry=Mad Men - Smoke Gets in Your Eyes
12/07/10 22:28:42 SelectionScreen: focusOn entry=Mad Men - Smoke Gets in Your Eyes

There aren't any errors I can see in the two versions, the only significant difference I can see is that this line is missing from the service version of the log

12/07/10 22:28:31 CobraRenderer$3: ParentPanelPref:java.awt.Dimension[width=1002,height=293]

It appears the renderer that creates the text to display isn't being called, but I can't figure out why.

Can anyone give me any pointers - I'm guessing something isn't set properly in paths or in terms of my INI file, but I can't figure out what.

Thanks for your help.

Ted


----------



## cbomba

I am running Streambaby on OpenSuse 11.2. I am using pyTivo (TheBayer) and Streambaby. I like Streambaby better for video so I am only using TheBayer to stream music and publish pictures on the Tivo. When I download media I use the script MKVtoMP4 to convert it to a usable format. Sometimes the output is displayed correctly on my TV and sometime it is not. When I download the media I get the 720p version since my TV will not do 1080p. I am attaching the output from mediainfo for a movie I recently tried playing through Streambaby. The move probably should of had black boxes at the top and bottom but for some reason it was displayed fullscreen meaning it was stretched to fit the screen and I was missing information as well the picture looked very vertical. DVD's (VOB) that I play through Streambaby don't have this problem.



> Format : MPEG-4
> Format profile : Base Media / Version 2
> Codec ID : mp42
> File size : 3.56 GiB
> Duration : 1h 49mn
> Overall bit rate : 4 674 Kbps
> Encoded date : UTC 2010-12-03 22:14:03
> Tagged date : UTC 2010-12-03 22:27:02
> Writing application : mp4creator 1.6.1d
> 
> Video
> ID : 1
> Format : AVC
> Format/Info : Advanced Video Codec
> Format profile : [email protected]
> Format settings, CABAC : Yes
> Format settings, ReFrames : 5 frames
> Codec ID : avc1
> Codec ID/Info : Advanced Video Coding
> Duration : 1h 49mn
> Bit rate mode : Variable
> Bit rate : 4 223 Kbps
> Width : 1 280 pixels
> Height : 544 pixels
> Original height : 536 pixels
> Display aspect ratio : 2.35:1
> Original display aspect ratio : 2.35:1
> Frame rate mode : Constant
> Frame rate : 23.976 fps
> Color space : YUV
> Chroma subsampling : 4:2:0
> Bit depth : 8 bits
> Scan type : Progressive
> Bits/(Pixel*Frame) : 0.253
> Stream size : 3.22 GiB (90%)
> Language : English
> Encoded date : UTC 2010-12-03 22:14:03
> Tagged date : UTC 2010-12-03 22:20:09
> 
> Audio
> ID : 2
> Format : AC-3
> Format/Info : Audio Coding 3
> Codec ID : ac-3
> Duration : 1h 49mn
> Bit rate mode : Constant
> Bit rate : 448 Kbps
> Channel(s) : channel0
> Sampling rate : 0
> Compression mode : Lossy
> Stream size : 349 MiB (10%)
> Language : English
> Encoded date : UTC 2010-12-03 22:26:16
> Tagged date : UTC 2010-12-03 22:27:01


My Streambaby.ini file:



> dir.1=/local/DVD
> dir.1.name=My Movies
> dir.2=/local/TV
> dir.2.name=My TV Shows
> dir.3=/local/Videos
> dir.3.name=My Videos
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> ip=192.168.10.25
> # port to use
> port=7290
> # Tivo Username and Passowrd
> tivo.username=xxxxxxxxx
> tivo.password=xxxxxxxxx
> # Change title from Stream, Baby, Stream
> title=My Media
> # FFMPEG Path
> ffmpeg.path=/usr/local/lib/ffmpeg
> # List of formats mp4module should attempt to stream
> mp4mod.streamformats=mp4,h264,*;mkv,*,*;avi,h264,*


I can post the output from Streambaby as well if that would help. If I watch these videos on my PC they display correctly.

Thanks, 
Chris


----------



## dlfl

cbomba,

Your problem may be the 1280x544 dimensions. Here is a note from the StreamBaby video compatibility page:


> NOTE 5: For h264 playback, the Tivo decoder has a bug with the aspect ratio used to display any 1280 based video that is not 1280x720 exactly. So for example 1280x720 displays fine but 1280x544 does not. 1920 based video does not suffer from the same kind of problem.


----------



## cbomba

dlfl said:


> cbomba,
> 
> Your problem may be the 1280x544 dimensions. Here is a note from the StreamBaby video compatibility page:


What is the best solution to this? Can Streambaby adjust this automatically or what program can I use to fix the dimensions?


----------



## dlfl

dlfl said:


> cbomba,
> 
> Your problem may be the 1280x544 dimensions. Here is a note from the StreamBaby video compatibility page:





cbomba said:


> What is the best solution to this? Can Streambaby adjust this automatically or what program can I use to fix the dimensions?


If you're using mkv2tivomp4.bat, you probably aren't afraid to do some command line experimenting. Try this:

ffmpeg -i input.mp4 -vcodec copy -acodec copy -vf pad=0:88:1280:720:black -o output.mp4

You have a copy of ffmpeg as part of your StreamBaby installation.

This should run fast. The -vf pad is a relatively new option for padding in ffmpeg, replacing -padtop, -padbottom, -padleft, -padright syntax. This could be a problem depending on how old the ffmpeg version is.

The ffmpeg help for padding is here.

I'm not sure this will work -- combining padding with -vcodec copy may not be possible.


----------



## teddykgb715

Hey guys,

Sorry if this is in this thread, I searched and didn't see it.

How does streambaby look at Metadata?

All of my movies have metadata provided by Media Center Master (which is a great program by the way) that I use primarily on my HTPC. Does the tivo see metadata inside the container (in this case MKV) or does it see metadata stored outside the container (in the folder with the MKV)? I just got my Tivo and Comcast is coming tomorrow to hook up the card but I wanted to play with this tonight and was curious about this.

Thanks!

Ted


----------



## Hyrax

I beleive the only container that provides metadata to tivo is the TIVO container. What you need to do with MPG or MP4 files is provide a text file with the exact same name as the media file plus a .txt extension.

So if you've got a media file called _my_recording.mp4_, you need to provide a file called _my_recording.mp4.txt_.


----------



## teddykgb715

Hyrax said:


> I beleive the only container that provides metadata to tivo is the TIVO container. What you need to do with MPG or MP4 files is provide a text file with the exact same name as the media file plus a .txt extension.
> 
> So if you've got a media file called _my_recording.mp4_, you need to provide a file called _my_recording.mp4.txt_.


Thanks for the info. Probably won't be doing that manually for all of them so I'll have to just make do with the title!


----------



## arrarrgee

Could some one tell me how can i download streambaby to my TiVo..A newbie here..Pls help


Yoav said:


> Yay!
> 
> I'm installing Apple's (soon to be official?) version of 1.6. I'll tell you how it works out. But if you can get it to just work on 1.5, you'll make a lot of mac users happy. Java ships with the base OS, but the version it ships with is 1.5. Most of the 1.6 ports rely on X11 or other things.
> 
> What I'm saying is since we mac users like the "install and run" option, a lot of people simply won't even try the app if it requires a bunch of external installs first...
> 
> The good news: It (seems to) run fine with java 1.6 on a mac. So far it seems to be working perfectly with the videos I've tried.. yay.
> 
> If it can be made to work under 1.5, would you mind it I include it as a streamer option for pyTivoX (thereby rendering the program name misleading -- oh well). That way people can configure it with a gui, and install it with one click...?


----------



## arrarrgee

Does it work on a TiVo Premiere?



KOP22 said:


> Will have to give this a try.


----------



## windracer

arrarrgee said:


> Does it work on a TiVo Premiere?


Yep.



arrarrgee said:


> Could some one tell me how can i download streambaby to my TiVo..A newbie here..Pls help


You don't install it on your TiVo ... you run it on a PC (or Mac) and then your TiVo connects to it. Best place to start is the getting started document on the wiki and then come back and ask specific questions.

Welcome to the forum!

_edit:_ oops, looks like I was tricked into replying to a spammer.


----------



## arrarrgee

Nope..me not a spammer...a newbie whoz got his TiVo recently and has no clue about it...learning from the masters ;=)



windracer said:


> Yep.
> 
> You don't install it on your TiVo ... you run it on a PC (or Mac) and then your TiVo connects to it. Best place to start is the getting started document on the wiki and then come back and ask specific questions.
> 
> Welcome to the forum!
> 
> _edit:_ oops, looks like I was tricked into replying to a spammer.


----------



## windracer

Ok, sorry. It was just your generic post activity looked like someone trying to get up to the number of posts where they are allowed to post links.


----------



## arrarrgee

No issues...Could you also help me with finding an app (if there is one) using which i could project my desktop on to my screen..Thx in advance..me at work now...can't wait to get to home and try out streambaby..Thx a lot for the wiki link



windracer said:


> Ok, sorry. It was just your generic post activity looked like someone trying to get up to the number of posts where they are allowed to post links.


----------



## arrarrgee

and how does streambaby compare to pyTivo? are these same functional wise? or is there any diff..could someone throw some light pls


----------



## Hyrax

teddykgb715 said:


> Thanks for the info. Probably won't be doing that manually for all of them so I'll have to just make do with the title!


I use a program called MetaGenerator that takes away most of the pain.


----------



## windracer

arrarrgee said:


> Could you also help me with finding an app (if there is one) using which i could project my desktop on to my screen.


Galleon has an app that will show you your desktop on your TiVo, but you can't interact with it or control it. I'm not aware of any app for the TiVo that will let you do that.



arrarrgee said:


> and how does streambaby compare to pyTivo? are these same functional wise? or is there any diff..could someone throw some light pls


There are technical differences, but the big one is that streambaby allows you to _stream_ your stored videos to your TiVo. With pyTivo, you are _transferring_ a copy of the video onto your TiVo. You can still play it while it's transferring with pyTivo, but you can't fast-forward ahead like you can with streambaby.

I run them both (_and_ Galleon).


----------



## arrarrgee

Thx Windracer



windracer said:


> Galleon has an app that will show you your desktop on your TiVo, but you can't interact with it or control it. I'm not aware of any app for the TiVo that will let you do that.
> 
> There are technical differences, but the big one is that streambaby allows you to [/i]stream[/i] your stored videos to your TiVo. With pyTivo, you are _transferring_ a copy of the video onto your TiVo. You can still play it while it's transferring with pyTivo, but you can't fast-forward ahead like you can with streambaby.
> 
> I run them both (_and_ Galleon).


----------



## arrarrgee

All...i installed streambaby and it was working perfectly fine..until i tried to install Galleon...Galleon wasnt able to recognize my TiVo and now even streambaby isnt working..could someone help me pls


----------



## windracer

IIRC, Galleon and streambaby use the same port by default (7288). If you go into streambaby.ini you can change the default so they can run side by side.


----------



## arrarrgee

could you pls tell me which port should i use...currently my ini file looks like this

#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Could you also pls let me know why Galleon wasnt able to recognise my TiVo..was it because Streambaby was running? Thx much for your help



windracer said:


> IIRC, Galleon and streambaby use the same port by default (7288). If you go into streambaby.ini you can change the default so they can run side by side.


----------



## jbernardis

For most apps the port number is immaterial as long as it's unique. There are some reserved port numbers, butthe main thing is to make sure they are unique.

Windracer says that the default port for Galleon is 7288, and since I have very little experience with this app, I just accept that as true. What you are showing, though, looks like a bunch of comments to me - at least that's how I interpret the '#' characters. If I am right, then the line '#port=7290' is actually a comment doing nothing, and you end up using the default of 7288.

Try removing the '#' character and restart the process. It should come up on 7290 and hopefully you'll be OK.


----------



## windracer

arrarrgee said:


> Could you also pls let me know why Galleon wasnt able to recognise my TiVo..was it because Streambaby was running? Thx much for your help


Most likely. I run streambaby on port 7289. Just uncomment that line in your .ini file by removing the # and them change the port number accordingly. You should then be able to run both together.


----------



## ebf

Is it possible to limit which shares show up on which TiVo like with pyTiVo?


----------



## ebf

ebf said:


> Is it possible to limit which shares show up on which TiVo like with pyTiVo?


Looks like it is not specifically possible, but this work around does the trick for me:



kearygriffin said:


> You can set separate passwords on the directories. So for example in the INI:
> 
> 
> Code:
> 
> 
> dir.1=c:\MensMovies
> dir.1.name=Mens Movies
> dir.1.password=men
> dir.2=c:\WomensMovies
> dir.2.name=Womens Movies
> dir.2.password=women
> dir.3=c:\MoviesWeAllLike
> dir.3.name=Movies for all
> dir.3.password=men,women
> 
> Now when connect to streambaby from TiVo #1 it will ask for a password and enter "men". This will allow that tivo to access dir.1 & dir.3. The password will be remembered when you disconnect, so it won't ask again when TiVo #1 reconnects.
> 
> Do the same with TiVo #2, but enter "women" as the password and it will let you access dir.2 and dir.3
> 
> You can press the "clear" button from (I believe...) from the initial directory selection menu of streambaby and it will let you enter a new password.
> 
> Note: dir.3.password=men,women does not really need to be set, as if you leave out that line dir.3 will be accessible to anyone regardless of the password. However, since there is at least one directory that does not require a password when you first connected to streambaby it wouldn't prompt for a password, and you would just see dir.3. You could then press "clear" which would allow you to enter either "men" or "women" as the password.
> 
> I hope this all makes sense... I think the important things to remember is that:
> 1. clear from the main streambaby directory menu brings you to the password screen. (If you don't go there automatically)
> 2. Streambaby remembers the last password a particular TiVo (by serial number) used, and defaults to using it again the next time you connect.
> 
> Keary


----------



## moxyman

Hey Guys,
There used to be an article which showed you step by step how to set up streambaby on an HP server. It was hosted on drop.io but they have been shut down. I was wondering if anybody had it and could send it to me, or send me a link to its location. Id really appreciate it, as it was the only one which was step by step for my exact system. Thanks!


----------



## rfryar

Has anyone else had issues with MP4 files that have Image/Description metadata added?

I have many MP4s that used to be completely playable. However I got sick of using the TXT files to maintain metadata as my other devices do not use the pyTivo format.

I ran across a tool called MetaX that easily allows you to place Metadata into the MP4 files. Streambaby reads this data just fine and properly shows the information and image in the selection screen. Great.

However any show that has this metadata in it fails to stream. It just sits displaying zero minutes. If I skip it will skip to the X minute mark and again just sit there like no data is being streamed to the tivo.

Now I know that these files worked prior to having Metadata. Also what is weird is that they also USED to work even with metadata until just recently. Neither of my TiVoHDs can play these files. Other MP4 files that do not have metadata work fine now.

Here is the Debug log from one of these files.. 


Code:


12/27/10 10:40:34 HostContext: key=mpos:file:/E:/Videos/Parents/10ThingsIHateAboutYou.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/27/10 10:40:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
12/27/10 10:40:34 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/27/10 10:40:34 HostContext: compKey=65200018046333A-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
12/27/10 10:40:34 ViewScreen: goto position: 0, vidlen: 5849216
12/27/10 10:40:34 ViewScreen: Position not in buffer, starting new stream
12/27/10 10:40:34 Application: Already initialized, not re-initing.
12/27/10 10:40:34 Application: Already initialized, not re-initing.
12/27/10 10:40:35 ViewScreen: Openening stream at position: 0(0 secs)
12/27/10 10:40:35 VideoModuleHelper: quality setting is above quality of video, streaming normally
12/27/10 10:40:35 MP4StreamFactory$2: mp4.util.atom.FtypAtom(102,116,121,112): FtypAtom (offset: 0, size:32)
12/27/10 10:40:35 MP4StreamFactory$2: mp4.util.atom.FreeAtom(102,114,101,101): FreeAtom (offset: 32, size:8)
12/27/10 10:40:35 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 40, size:1596781952)
12/27/10 10:40:35 MP4StreamFactory$2: mp4.util.atom.MdatAtom(109,100,97,116): MdatAtom (offset: 1596781992, size:35)
12/27/10 10:40:35 MP4StreamFactory$2: mp4.util.atom.MoovAtom(109,111,111,118): MoovAtom (offset: 1596782027, size:1928901)
12/27/10 10:40:35 MP4StreamFactory$2:  mp4.util.atom.MvhdAtom(109,118,104,100): MvhdAtom (offset: 1596782035, size:108)
12/27/10 10:40:35 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 1596782143, size:1124598)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 1596782151, size:92)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 1596782243, size:1124478)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 1596782251, size:32)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1596782283, size:45)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 1596782328, size:1124393)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.VmhdAtom(118,109,104,100): VmhdAtom (offset: 1596782336, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 1596782356, size:36)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 1596782364, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 1596782392, size:1124329)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 1596782400, size:149)
12/27/10 10:40:35 MP4StreamFactory$2:       mp4.util.atom.Avc1Atom(97,118,99,49): Avc1Atom (offset: 1596782416, size:133)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 1596782549, size:24)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StssAtom(115,116,115,115): StssAtom (offset: 1596782573, size:2260)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1596784833, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1596784861, size:560932)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 1597345793, size:560928)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.TrefAtom(116,114,101,102): TrefAtom (offset: 1597906721, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.ChapAtom(99,104,97,112): ChapAtom (offset: 1597906729, size:12)
12/27/10 10:40:35 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 1597906741, size:731556)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 1597906749, size:92)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 1597906841, size:731456)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 1597906849, size:32)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1597906881, size:45)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 1597906926, size:731371)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.SmhdAtom(115,109,104,100): SmhdAtom (offset: 1597906934, size:16)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 1597906950, size:36)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 1597906958, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 1597906986, size:731311)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 1597906994, size:63)
12/27/10 10:40:35 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(97,99,45,51): AcX453Atom (offset: 1597907010, size:47)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 1597907057, size:24)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1597907081, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1597907109, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 1597907129, size:731168)
12/27/10 10:40:35 MP4StreamFactory$2:  mp4.util.atom.UdtaAtom(117,100,116,97): UdtaAtom (offset: 1598638297, size:72163)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.moov.udta.MetaAtom(109,101,116,97): MetaAtom (offset: 1598638305, size:72155)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1598638317, size:34)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.moov.udta.meta.IlstAtom(105,108,115,116): IlstAtom (offset: 1598638351, size:72109)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(45,45,45,45): X45X45X45X45Atom (offset: 1598638359, size:87)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(45,45,45,45): X45X45X45X45Atom (offset: 1598638446, size:1079)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprtnamAtom(169,110,97,109): CprtnamAtom (offset: 1598639525, size:50)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639533, size:42)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(169,65,82,84): CprtARTAtom (offset: 1598639575, size:103)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprtalbAtom(169,97,108,98): CprtalbAtom (offset: 1598639678, size:45)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639686, size:37)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprtgenAtom(169,103,101,110): CprtgenAtom (offset: 1598639723, size:32)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639731, size:24)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprtdayAtom(169,100,97,121): CprtdayAtom (offset: 1598639755, size:34)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639763, size:26)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.TvsnAtom(116,118,115,110): TvsnAtom (offset: 1598639789, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639797, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.TvesAtom(116,118,101,115): TvesAtom (offset: 1598639817, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639825, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(115,111,110,109): SonmAtom (offset: 1598639845, size:50)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.DescAtom(100,101,115,99): DescAtom (offset: 1598639895, size:188)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598639903, size:180)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(108,100,101,115): LdesAtom (offset: 1598640083, size:576)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CprttooAtom(169,116,111,111): CprttooAtom (offset: 1598640659, size:35)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598640667, size:27)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(104,100,118,100): HdvdAtom (offset: 1598640694, size:25)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.StikAtom(115,116,105,107): StikAtom (offset: 1598640719, size:25)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598640727, size:17)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.UnknownAtom(99,110,73,68): CnIDAtom (offset: 1598640744, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.moov.udta.meta.ilst.CovrAtom(99,111,118,114): CovrAtom (offset: 1598640772, size:69688)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DataAtom(100,97,116,97): DataAtom (offset: 1598640780, size:69680)
12/27/10 10:40:35 MP4StreamFactory$2:  mp4.util.atom.TrakAtom(116,114,97,107): TrakAtom (offset: 1598710460, size:468)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.TkhdAtom(116,107,104,100): TkhdAtom (offset: 1598710468, size:92)
12/27/10 10:40:35 MP4StreamFactory$2:   mp4.util.atom.MdiaAtom(109,100,105,97): MdiaAtom (offset: 1598710560, size:368)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MdhdAtom(109,100,104,100): MdhdAtom (offset: 1598710568, size:32)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.HdlrAtom(104,100,108,114): HdlrAtom (offset: 1598710600, size:33)
12/27/10 10:40:35 MP4StreamFactory$2:    mp4.util.atom.MinfAtom(109,105,110,102): MinfAtom (offset: 1598710633, size:295)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.GmhdAtom(103,109,104,100): GmhdAtom (offset: 1598710641, size:76)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.DinfAtom(100,105,110,102): DinfAtom (offset: 1598710717, size:36)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.DrefAtom(100,114,101,102): DrefAtom (offset: 1598710725, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:     mp4.util.atom.StblAtom(115,116,98,108): StblAtom (offset: 1598710753, size:175)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StsdAtom(115,116,115,100): StsdAtom (offset: 1598710761, size:75)
12/27/10 10:40:35 MP4StreamFactory$2:       mp4.util.atom.UnknownAtom(116,101,120,116): TextAtom (offset: 1598710777, size:59)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.SttsAtom(115,116,116,115): SttsAtom (offset: 1598710836, size:24)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StszAtom(115,116,115,122): StszAtom (offset: 1598710860, size:20)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StscAtom(115,116,115,99): StscAtom (offset: 1598710880, size:28)
12/27/10 10:40:35 MP4StreamFactory$2:      mp4.util.atom.StcoAtom(115,116,99,111): StcoAtom (offset: 1598710908, size:20)
12/27/10 10:40:35 MP4StreamFactory$2: DBG: moov size 1928893
12/27/10 10:40:35 MP4StreamFactory$2: DBG: mdat size 27
12/27/10 10:40:35 MP4StreamFactory$2: DBG: sampleNum 1
12/27/10 10:40:35 MP4StreamFactory$2: DBG: new key frame 1
12/27/10 10:40:35 MP4StreamFactory$2: DBG: trackType Vid (stts) trackTime: 0.0 adjustTime: 0.0 mediaTime(0/24000) adjTimePos(0/24000)
12/27/10 10:40:35 MP4StreamFactory$2: DBG: trackType Snd trackTime: 0.0 adjustTime: 0.0 mediaTime(0/48000) adjTimePos(0/24000)
12/27/10 10:40:35 MP4StreamFactory$2: DBG: Movie time 5849 sec, cut at 0.0sec
12/27/10 10:40:35 MP4StreamFactory$2: 	DBG: ts 1000 cut at 0.0
12/27/10 10:40:35 MP4StreamFactory$2: DBG: media time 0
12/27/10 10:40:35 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/27/10 10:40:35 MP4StreamFactory$2: 	DBG: chunk 1
12/27/10 10:40:35 MP4StreamFactory$2: DBG: cutDuration 5848676
12/27/10 10:40:35 MP4StreamFactory$2: DBG: new time 0.0
12/27/10 10:40:35 MP4StreamFactory$2: DBG: media time 0
12/27/10 10:40:35 MP4StreamFactory$2: 	DBG: sampleNum 1 sync frame 1
12/27/10 10:40:35 MP4StreamFactory$2: 	DBG: chunk 1
12/27/10 10:40:35 MP4StreamFactory$2: DBG: cutDuration 5849216
12/27/10 10:40:35 MP4StreamFactory$2: DBG: new time 0.0
12/27/10 10:40:35 MP4StreamFactory$2: DBG: moov chunk 48
12/27/10 10:40:35 MP4StreamFactory$2: DBG: cut moov chunk 48
12/27/10 10:40:35 MP4StreamFactory$2: DBG: updateAmount 1594853527
12/27/10 10:40:35 MP4StreamFactory$2: DBG: movie skip 0
12/27/10 10:40:35 MP4StreamFactory$2: DBG: Cut Movie time 5849 sec 
12/27/10 10:40:35 NamedStream: Registering named stream: e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:36 Listener: http=HttpRequest /streambaby/e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:36 Listener: path=/streambaby/e7e98dae-987e-446f-af22-1637b91253d1.stream uri=/streambaby/
12/27/10 10:40:36 Listener: 
12/27/10 10:40:36 Listener: 192.168.1.15 e7e98dae-987e-446f-af22-1637b91253d1.stream HTTP GET - to factory /streambaby/
12/27/10 10:40:36 StreamBabyStream$StreamBabyStreamFactory: uri=e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:36 NamedStream: Getting mapped stream for named stream: e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:36 NamedStream: Getting mapped stream for named stream: e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:38 NamedStream: DeRegistering named stream: e7e98dae-987e-446f-af22-1637b91253d1.stream
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_top.png
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar.png
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_shuttle_bottom.png
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_marker.png
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_tick.png
12/27/10 10:40:48 StreamBabyStream$StreamBabyStreamFactory: uri=com/tivo/hme/bananas/images720/shuttlebar_mode_play.png
12/27/10 10:40:48 NewStatusBar: state=true

Thanks,

Rick


----------



## reneg

moxyman said:


> Hey Guys,
> There used to be an article which showed you step by step how to set up streambaby on an HP server. It was hosted on drop.io but they have been shut down. I was wondering if anybody had it and could send it to me, or send me a link to its location. Id really appreciate it, as it was the only one which was step by step for my exact system. Thanks!


Just in case anyone else is looking for how to install streambaby (or pyTivo) on a Windows Home Server (WHS), http://www.tivocommunity.com/tivo-vb/showthread.php?p=8291440#post8291440


----------



## GeekDaddy

I seem to be stuck with my Steambaby install on my linux box. It seems to run fine from the log file as well as the status, but it never shows up under MP&S. 

I've disabled IPv6 on the 2 Vista PC's on the same network - no help. I've checked and the linux box has no firewall. 

I know HME works since I have Harmonium and it works fine. Any ideas?


----------



## GeekDaddy

Oops, forgot to attach the log file:

12/28/10 08:13:32 StreamBabyConfig: WorkingDir: /storage/streambaby/native
12/28/10 08:13:32 StreamBabyConfig: StreamBabyDir: /storage/streambaby
12/28/10 08:13:32 StreamBabyConfig: CurDir: /storage/streambaby/native
12/28/10 08:13:33 FFmpegJavaConfig$1: Loading avutil, default: avutil
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded: /usr/lib/libavutil.so.50.32.3
12/28/10 08:13:33 FFmpegJavaConfig$1: Loading avcodec, default: avcodec
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded: /usr/lib/libavcodec.so.52.93.0
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3431680)
12/28/10 08:13:33 FFmpegJavaConfig$1: Loading avformat, default: avformat
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded: /usr/lib/libavformat.so.52.84.0
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3429376)
12/28/10 08:13:33 FFmpegJavaConfig$1: Loading swscale, default: swscale
12/28/10 08:13:33 FFmpegJavaConfig$1: Loaded: /usr/lib/libswscale.so.0.12.0
12/28/10 08:13:33 FFmpegJavaConfig$1: Marking libswscale as available.
12/28/10 08:13:34 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
12/28/10 08:13:34 FFmpegExeVideoModule: FFmpegPath: ffmpeg
12/28/10 08:13:34 FFmpegExeVideoModule: FFmpegExeModule: Loaded
12/28/10 08:13:34 StreamBabyMain: STARTING StreamBaby v0.29...
12/28/10 08:13:34 Main: args= start=true
12/28/10 08:13:34 Main: args= [email protected]
12/28/10 08:13:35 Listener: [email protected] [email protected]
12/28/10 08:13:35 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
12/28/10 08:13:35 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
12/28/10 08:13:35 Listener: name=/streambaby/
12/28/10 08:13:35 Listener: 
12/28/10 08:13:35 Listener: added factory
12/28/10 08:13:35 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
12/28/10 08:13:35 Main: MDNS: http://192.168.1.7:7290/streambaby/
12/28/10 08:13:35 Main: streambaby ready & listening.
12/28/10 08:13:35 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
12/28/10 08:13:40 TiVoListener: addService: vortexbox
12/28/10 08:13:40 TiVoListener: Updating service: _http._tcp.local. (vortexbox)
12/28/10 08:13:40 TiVoListener: resolveService: _http._tcp.local. (vortexbox)
12/28/10 08:13:40 TiVoListener: addService: Upstairs
12/28/10 08:13:40 TiVoListener: Updating service: _http._tcp.local. (Upstairs)
12/28/10 08:13:40 TiVoListener: resolveService: _http._tcp.local. (Upstairs)
12/28/10 08:13:40 TiVoListener: jmDns found TiVo: Upstairs, tsn: 652000180419658
12/28/10 08:13:40 TiVoListener: addService: Downstairs
12/28/10 08:13:40 TiVoListener: Updating service: _http._tcp.local. (Downstairs)
12/28/10 08:13:40 TiVoListener: resolveService: _http._tcp.local. (Downstairs)
12/28/10 08:13:40 TiVoListener: jmDns found TiVo: Downstairs, tsn: 65201118074BFAD


----------



## dlfl

rfryar said:


> Has anyone else had issues with MP4 files that have Image/Description metadata added?
> 
> I have many MP4s that used to be completely playable. However I got sick of using the TXT files to maintain metadata as my other devices do not use the pyTivo format.
> 
> I ran across a tool called MetaX that easily allows you to place Metadata into the MP4 files. Streambaby reads this data just fine and properly shows the information and image in the selection screen. Great.
> 
> However any show that has this metadata in it fails to stream. It just sits displaying zero minutes. If I skip it will skip to the X minute mark and again just sit there like no data is being streamed to the tivo.
> .........


I think a likely explanation for this is that after MetaX inserts the metadata, the file is no longer "optimized for http streaming". This optimization has something to do with the location of the "moov" atom. Anyway, MetaX is based on the mp4v2 library, which I have experimented with. I found that after it inserted tags, the files were no longer "optimized" and I had to run the mp4v2 function that performs that optimization before the files would stream to TiVo. Note that this optimization isn't required just to play the videos on your PC --just for streaming.

Now I don't know if Dan Hinsley (author of MetaX for Windows) programmed MetaX to perform this optimization or not. I would suggest you simply contact him **here** and ask -- he seems to be pretty friendly.

Optimizing for HTTP streaming is done automatically by VideoReDo when it creates a mpeg4 file and it is done with the -O option in HandBrake. I think you can do it using either mp4box or mp4creator. Also, I've found that when you use *atomicParsley* to insert mp4 metadata, it does NOT disturb the http streaming optimization -- if it was there to begin with. (Or maybe it performs the optimization step automatically after it inserts the tags.) You can find all these programs I've mentioned via Googling.


----------



## rfryar

Hmm MetaX is doing worse than that.. It makes the video invalid as far as MP4box is concerned, not on all the MP4s but most it seems..



Code:


E:\Videos\Parents>mp4box -info Armageddon.mp4
[iso file] Read Box "text" failed (Invalid IsoMedia File)
[iso file] Read Box "stsd" failed (Invalid IsoMedia File)
[iso file] Read Box "stbl" failed (Invalid IsoMedia File)
[iso file] Read Box "minf" failed (Invalid IsoMedia File)
[iso file] Read Box "mdia" failed (Invalid IsoMedia File)
[iso file] Read Box "trak" failed (Invalid IsoMedia File)
[iso file] Read Box "moov" failed (Invalid IsoMedia File)
Error opening file Armageddon.mp4: Invalid IsoMedia File

FFMPEG reads the file fine though..


Code:


Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Armageddon.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    title           : Armageddon
    author          : Bruce Willis, Ben Affleck, Clark Heathcliffe Brolly, Steve
 Buscemi, Ken Hudson Campbell, Keith David, Billy Bob Thornton
    genre           : Action & Adventure,,
    year            : 1998
    description     : When an asteroid the size of Texas is headed for Earth the
 world's best deep core drilling team is sent to nuke the rock from the inside.
    synopsis        : After New York City is damaged by hundreds of small meteor
ites, NASA discovers an asteroid the size of Texas is on a collision course with
 Earth. They recruit the best deep core driller in the world, Harry Stamper, to
train astronauts who will go to the asteroid, drill into the center and detonate
 a nuclear warhead. Harry says he can't train men how to drill in ten days, so h
e brings in his own team of roughnecks to learn to become astronauts and get the
 job done. One of his team is the fianc of his own daughter.
  Duration: 02:30:46.37, start: 0.000000, bitrate: 2386 kb/s
    Stream #0.0(und): Video: h264, yuv420p, 720x272 [PAR 323:360 DAR 19:8], 1998
 kb/s, 47.90 fps, 23.98 tbr, 24k tbn, 47.95 tbc
    Stream #0.1(und): Audio: ac3, 48000 Hz, 6 channels, s16, 384 kb/s
    Stream #0.2(und): Subtitle: text / 0x74786574

Here is the MP4Box data from one that works..


Code:


E:\Videos\Parents>mp4box -info AngelInTheFamily.mp4
* Movie Info *
        Timescale 1000 - Duration 01:28:08.951
        Fragmented File no - 2 track(s)
        File Brand isom - version 512
        Created: GMT (null)
File has no MPEG4 IOD/OD

iTunes Info:
        Name: Angel in the Family
        Artist: Meredith Baxter; Ronny Cox; Natasha Gregson Wagner; Tracey Needh
am; Tess Harper
        Album: AngelInTheFamily
        Genre: Family
        Created: 2004-12-18
        Encoder Software: Lavf52.33.0
        Cover Art: JPEG File

Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 01:28:08.950
Media Info: Language "Undetermined" - Type "vide:avc1" - 158510 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 848 x 480 - Profile Baseline @ Level 1.3
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 848 x 480
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 01:28:07.776
Media Info: Language "Undetermined" - Type "soun:ac-3" - 165243 samples
        AC3 stream - Sample Rate 48000 - 5.1 channel(s) - bitrate 384000

Damn, it was a really nice way to easily get images and metadata on the MP4s. Now I have to "quick stream fix" all the damaged MP4s to strip the bad data on over 300 movies.. UGG.

Rick


----------



## treat2day

arrarrgee said:


> and how does streambaby compare to pyTivo? are these same functional wise? or is there any diff..could someone throw some light pls


I am a big fan of Streambaby for the direct streaming feature.

I now push my video to TiVo faster using my router USB.

No need for computer---Recently I purchased the Netgear Dual Band Router and it is DLNA-certifiedstream videos, photos, and music to your HDTV

WNDR3700 is ReadyDLNA, which means any media files in the USB hard drive connected to the USB port of the WNDR3700 can now be viewed and played in any UPnP


----------



## dlfl

rfryar said:


> Hmm MetaX is doing worse than that.. It makes the video invalid as far as MP4box is concerned, not on all the MP4s but most it seems..
> .........
> Damn, it was a really nice way to easily get images and metadata on the MP4s. Now I have to "quick stream fix" all the damaged MP4s to strip the bad data on over 300 movies.. UGG.
> ........


Assuming VRD can read your "damaged" files, VAP (link in signature) can automate VRD QSF's. Also, it will read metadata from input files (using AtomicParsley for MPEG4 files) and will insert the metadata in the output file using AP. However any artwork (images) will be lost and AP doesn't do "long description", which may be what ffmpeg was calling "synopsis".

If you have questions about VAP, please post in the VRD VAP sub-forum or in a new thread here, so as not to clutter up this thread.


----------



## dlfl

rfryar said:


> Hmm MetaX is doing worse than that.. It makes the video invalid as far as MP4box is concerned, not on all the MP4s but most it seems..
> .........
> Damn, it was a really nice way to easily get images and metadata on the MP4s. Now I have to "quick stream fix" all the damaged MP4s to strip the bad data on over 300 movies.. UGG.
> 
> Rick


Check out ***this post***


----------



## stalemate

Hey guys, I am hoping someone can help me with some streambaby troubles I am having. I used to use streambaby about a year ago and everything was working fine. I didn't use it for about a year and now I'm having some trouble.

My setup:
TivoHD
iMac running Snow Leopard
streambaby is running on the iMac and was installed as a bundle with the latest version of pytivox (1.3)

All my media is found just fine, and the stream to the tivo keeps up just fine (no rebuffering or anything), but there is "interference" in the video as it streams. It gets very blocky/pixely, kind of like when an OTA HDTV signal is borderline and is cutting out. It isn't just once in a while, it is constantly throughout the whole video.

So far I've only tried mkv files of TV episodes downloaded through torrent sites. I know the files are fine because I can watch them on my computer or stream them to my boxee machine no problem, but when watching them on the tivo via StreamBaby they are basically unwatchable.

Any ideas? I don't know if there are config settings I can tweak or if I should try dropping a different version of streambaby into the pytivox folder or any other suggestions. A year ago when I used to do this it was all working fine. The only thing that has changed is I upgraded to a new mac and now have snowleopard instead of leopard and I had to reinstall pytivox to get the new version recently.


----------



## stalemate

Bump for the weekday crowd.


----------



## dlfl

stalemate said:


> ........So far I've only tried mkv files of TV episodes downloaded through torrent sites. I know the files are fine because I can watch them on my computer or stream them to my boxee machine no problem, but when watching them on the tivo via StreamBaby they are basically unwatchable.
> 
> Any ideas?........


Well ... one idea: Try a different source. 

Files can play fine on a computer but still not stream well. I don't know about mkv files but .mp4 and .m4v files can fail to stream properly because they are not "optimized for http streaming", which has something to do with placement of the "moov" atom.


----------



## stalemate

More info.... I tried with an avi file and it did the same thing.

The mkv files stream fine to my iPad using air video and boxee also plays them fine.

I am going to try the beta of ptivox and see how that does.


----------



## stalemate

Same problem with streaming with pytivox 1.4.1b


Going to try pushing the file to the TiVo with pytivox classic and take stream baby out of the mix.


----------



## stalemate

Same issue with pytivox classic, no streaming involved.

I am pretty much clueless at this point, going to try rebooting the TiVo to see if that might make some difference.


----------



## stalemate

Rebooting the TiVo seems to have fixed it.


----------



## stalemate

Rebooting the TiVo seems to have fixed it.


----------



## boredsox38

Does any one have any settings they can share? I am using Aimersoft DRM Media Converter to move my files over to MP4 format. When I convert over an SD video it will convert great with no trans-coding on the CPU and playback is perfect. For some reason I cannot get the correct settings to an HD video. It is consistently trans-coding on the CPU and it causes a bottleneck because the CPU is not fast enough. Any thoughts, I have followed the guide on google for file formats but something is causing it to no be compatible and forcing a trans-code. Thanks!


----------



## rfryar

boredsox38 said:


> Does any one have any settings they can share?


The Video Compatibility guide on the wiki has the codec and bitrates that are supported natively and that require no transcoding to play.

http://code.google.com/p/streambaby/wiki/video_compatibility

Rick


----------



## elenaran

has anybody had any luck getting .mts (AVCHD) files to play on streambaby? i don't understand why it doesn't play - it works on ffmpeg/ffplay but doesn't work under streambaby


----------



## boredsox38

Hey Rick, I have used the Video Compatibility guide and set all of the settings per guide. I am wondering if it is something in Aimersoft that cannot be adjusted. Anyone else had any success with Aimersoft on the HD side?


----------



## superflysocal

Does the premiere allow streambaby to handle mkv files any better than tivo HD?

what about mp4 with multichannel aac? will it stream it natively without transcoding and have proper center channel on a premiere?


----------



## synch22

wow where have i been. Had S3 since launch and an HD but never bothered to look into these stream programs, just used the PS3 for that. It was a chore turnign on another machine and getting various controllers. Downloaded this today and it works like a charm...thanks!


----------



## jcthorne

superflysocal said:


> Does the premiere allow streambaby to handle mkv files any better than tivo HD?
> 
> what about mp4 with multichannel aac? will it stream it natively without transcoding and have proper center channel on a premiere?


Tivo Premiere does not navitly handle MKV containers.

The Premiere does not have the abiltiy to ENCODE ac3 5.1 audio on the fly so no, it cannot convert aac multichannel to ac3 mutlichannel to output the 5.1 audio on the optical or hdmi digial audio port. Premiere CAN read AAC format and output 2 channels of it as PCM. Very few recievers or televisions would understand a multichannel AAC stream if tivo did send it out the digital audio port so why would they?

The premiere MAY handle .ts files but no one has figured out how to send them yet.


----------



## larrs

I had streambaby on another computer last year and it worked fine. I put it on my HTPC and I am now having the following issue:

First, I had the issuse with no java, but added the path to my java.exe file in the .bat file and it seems to be working properly to that point ("ready & listening"). I then edited the dir.1= to dir.1=z:\My Tivo Recordings in the .ini file.

However, over at one of my new Tivo Premieres, when I select "stream, baby, stream" I get a please wait for about 5 minutes and then a time out to try again later (actually http failure).

Do I possibly have something wrong?


----------



## larrs

Andrea4 said:


> Ok duh! Found the native folder, extracted ffmpeg to it. Still not working. I can still see "stream baby, stream" under Music, Photos, & More, but without the slate icon? I guess in front. When I go to it, it stays on the Please wait.. screen for a while and then I get HTTP failure (Http connection error: (0x50005).


By the way, this is exactly the behavior i am seeing. So, I read the thread and have opened the proper port and added ffmpeg to the exceptions list (java was already there). I also made sure that unlike the original poster, I am not blocking all access. I will try when I get home and see if it is now behaving and report back.

Thanks for the great resource thread...


----------



## larrs

...on what to try next. I am still getting the timeout (see above post) and I also see no icon next to streambaby on the menu in my tivo.

I did open the port and made sure FFMpeg.exe and java are in the exceptions list for Windows Firewall. I am getting the same behavior as the earlier poster I referenced above except they were also having administrative rights issues with their computer and I am not. (I am, however, like that poster, using Vista 64).

If I turn Windows Firewall off on the PC, streambaby works fine.


----------



## larrs

OK, duh, I found that there is an entry for Java in my exceptions list that was not allowed. It was not java.exe but something called java binary something...

It now connects fine. Hope this helps someone else.


----------



## superflysocal

jcthorne said:


> Tivo Premiere does not navitly handle MKV containers.
> 
> The Premiere does not have the abiltiy to ENCODE ac3 5.1 audio on the fly so no, it cannot convert aac multichannel to ac3 mutlichannel to output the 5.1 audio on the optical or hdmi digial audio port. Premiere CAN read AAC format and output 2 channels of it as PCM. Very few recievers or televisions would understand a multichannel AAC stream if tivo did send it out the digital audio port so why would they?
> 
> The premiere MAY handle .ts files but no one has figured out how to send them yet.


What I meant about the aac multichannel is this...last time i checked, if you try to natively (no reencoding) stream a mp4 with multichannel aac (5.1), streambaby and tivo plays it with sound decoded down to 2 channel, but there is no audio from the "center" channel that is encoded, thus making it worthless since there is no "dialog". The workaround was forcing streambaby to reencode to a lowerbitrate video which forces an audio reencode as well. I was told this was due to how the tivo handled mp4 + multichannel aac and not streambabies fault. So i was just wondering if the premiere changed this compared to the series 3, and also if reencoding mkv's with streambaby on a premiere gives better results than series 3 (too many video stutters with my tivoHD when playing mkv through streambaby), since it has a better processor.


----------



## jcthorne

When you attempt to play a multichannel AAC file through tivo, it simply sends the front right and left channels as pcm out the digital and analog sound ports. It cannot decode the aac and re-encode it to multichannel ac3 on the fly. The spdif and hdmi standards do not handle multichannel aac nor do most playback devices. 

I would be nice if Tivo could re-encode it on the fly to ac3 but it does not have an encoder chip to do so. Premiere and TivoHD act the same in this regard.


Neither tivoHD nor Premiere handle mkv files at all. Streambaby attemps to re-encode them to mpeg2 onthe fly. Need serious hardware to do that for HD video in real time while handleing other overhead to get the stream to the tivo. Its your server that is limited here. The Premiere does have much faster network capabilites so if your server can recode to mpeg2 fast enough, the premiere may indeed play streamed mkvs 'better'.


----------



## Stormspace

Installed this last night and I must say for an HME app it's fast! I am seeing one issue though and was wondering if it might be hardware related. It's a 1.8Ghz duron running Galleon, KMTTG, and is configured as a file server with two external 1TB drives. 

When I try to start the stream the application appears to hang. How long should it take before the show starts playing? All files I've tried so far are mpeg2.


----------



## superflysocal

jcthorne said:


> When you attempt to play a multichannel AAC file through tivo, it simply sends the front right and left channels as pcm out the digital and analog sound ports. It cannot decode the aac and re-encode it to multichannel ac3 on the fly. The spdif and hdmi standards do not handle multichannel aac nor do most playback devices.
> 
> I would be nice if Tivo could re-encode it on the fly to ac3 but it does not have an encoder chip to do so. Premiere and TivoHD act the same in this regard.
> 
> Neither tivoHD nor Premiere handle mkv files at all. Streambaby attemps to re-encode them to mpeg2 onthe fly. Need serious hardware to do that for HD video in real time while handleing other overhead to get the stream to the tivo. Its your server that is limited here. The Premiere does have much faster network capabilites so if your server can recode to mpeg2 fast enough, the premiere may indeed play streamed mkvs 'better'.


Ok, i just noticed that natively streaming an mp4 file with multichannel aac results in audio just find including voice from center channel with a premiere. On a TivoHD, you will not hear audio from center channel and thus no conversation. So looks like this is fixed with premiere. MKV results are the same from both premiere and tivoHD because like you said, is due to your server and not the machines.


----------



## jcthorne

Kool. We are learning new features and bug fixes in the Premiere all the time.

Has anyone tried pushing a non-streaming mp4 (IE with the mov atom still at the end) to a premiere? If this worked, mkv's could be remuxed on the fly to mp4 rather than transcoded to mpeg2. Little birdie told me it was worth trying against 14.7 firmware but needs programming in streambaby or pytivo to try.


----------



## moyekj

jcthorne said:


> Kool. We are learning new features and bug fixes in the Premiere all the time.
> 
> Has anyone tried pushing a non-streaming mp4 (IE with the mov atom still at the end) to a premiere? If this worked, mkv's could be remuxed on the fly to mp4 rather than transcoded to mpeg2. Little birdie told me it was worth trying against 14.7 firmware but needs programming in streambaby or pytivo to try.


 Tried mp4 with moov atom at end of file with my Premiere using the streambaby raw file technique (and video/mp4 mime type) and no dice unfortunately, so moov atom at front of file is still required. Once I ran qt-faststart on it then the raw technique worked fine.
I haven't tested to see if the 1.1 GB stream buffer limit is still there for Premiere but I assume that hasn't changed either... EDIT. Just confirmed the 1.1 GB stream buffer limit is still there. i.e. Not much improvement on the streaming front from what I can see - push is still a better option.


----------



## jcthorne

Thanks for trying the mp4. Guess the birdie was mistaken and got my hopes up. I'll let my source know. Have no idea where that could go...or not.


Would it be possible to have an option in streambaby to ONLY allow push from the menus? This is a WAF issue since effectivly the stream option really does not work for our movie files.


----------



## moyekj

jcthorne said:


> Would it be possible to have an option in streambaby to ONLY allow push from the menus? This is a WAF issue since effectivly the stream option really does not work for our movie files.


 I think Keary is satisfied with current version and has no plans for further updates/enhancements, and hasn't checked in here for a while. The push option is already there and provides a fairly nice way to initiate a push from TiVo itself, so either teach the W to not use "play" button or dig into the source code to change things such that "play" actually initiates a push instead. Wouldn't be too hard to do but I don't have motivation/reason to do it. In fact these days I mostly just pull video from TiVos and very rarely go the other way.


----------



## superflysocal

jcthorne said:


> Kool. We are learning new features and bug fixes in the Premiere all the time.
> 
> Has anyone tried pushing a non-streaming mp4 (IE with the mov atom still at the end) to a premiere? If this worked, mkv's could be remuxed on the fly to mp4 rather than transcoded to mpeg2. Little birdie told me it was worth trying against 14.7 firmware but needs programming in streambaby or pytivo to try.


btw, I have always wondered about this...why doesnt streambaby transcode mkv to mp4 instead of mpeg, since mp4 plays so well natively. Can you elaborate more on this mov atom thing?


----------



## moyekj

superflysocal said:


> btw, I have always wondered about this...why doesnt streambaby transcode mkv to mp4 instead of mpeg, since mp4 plays so well natively. Can you elaborate more on this mov atom thing?


 Simply put: the mp4 container has a bunch of metadata type information about the stream which TiVo needs access to in order to play. The information is able to reside at the end of the file or the beginning of the file in mp4 container specs. If you are streaming, obviously the information has to be at the beginning of the file, but for TiVo regardless of streaming or pushing it has to be at the beginning.

Now the problem is that information is not finalized by the encoder until AFTER the full encode completes, therefore transcoding on the fly to mp4 container is not feasible.

The mpeg2 transport stream container on the other hand does not need such information and is able to carry a large variety of audio/video combinations, therefore transcoding on the fly to that container offers promise to overcome the above problem. However it does not seem to be possible to feed mpeg2 transport stream container (even with mpeg2 video + AC3 audio) back to TiVo, or at least nobody has figured out how to do it. Hence mpeg2 program stream still remains the only format that can be transcoded to on fly for TiVo playback purposes, or you have to prepare the full TiVo compliant mp4 encoded file before hand such that no transcoding is needed.


----------



## sigpop

elenaran said:


> has anybody had any luck getting .mts (AVCHD) files to play on streambaby? i don't understand why it doesn't play - it works on ffmpeg/ffplay but doesn't work under streambaby


I can't get it to work with .mts files either. I have StreamBaby installed on a Windows Home Server as a service. It plays some old .mpg files fine, but not my .mts files. I'm also having problems getting it to play some recently copied .avi files made by Windows Movie Maker from an older DV vid cam.

I'm not overly experienced in vid file formats, converting/streaming, etc, and I don't pretend to know how StreamBaby works. Do I need to manually grab some codecs so it can properly convert the vids on the fly to something Tivo can play?

Tivo Premiere, hardwired to my network
StreamBaby running as a service on WHS (Intel e8500, 4 GB RAM, GB ethernet)

*edit

The .mts files don't even show up on screen to select for playing.

When trying to play the .avi file, here is my .log file:

01/27/11 24:17:31 Listener: added factory
01/27/11 24:17:31 Main: streambaby ready & listening.
01/28/11 12:52:57 Listener: 192.168.31.111 icon.png HTTP GET - to factory /streambaby/
01/28/11 12:53:01 Factory: HME receiver connected
01/28/11 12:53:30 Listener: connection to receiver closed
01/28/11 12:53:30 Factory: HME receiver disconnected
01/28/11 12:53:33 Factory: HME receiver connected
01/28/11 12:53:51 Listener: 192.168.31.111 956ba5eb-c2ce-4cd0-b5eb-6398bc64848d.stream HTTP GET - to factory /streambaby/
01/28/11 12:54:21 Listener: 192.168.31.111 956ba5eb-c2ce-4cd0-b5eb-6398bc64848d.stream HTTP GET - to factory /streambaby/
01/28/11 12:54:39 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error
01/28/11 12:55:09 Listener: connection to receiver closed
01/28/11 12:55:09 Factory: HME receiver disconnected


----------



## j_mosk

Everything was running great.. until.. I don't know honestly.

I have a Tivo Gen4 and a Gen3. Neither can see StreamBaby, but StreamBaby sees THEM.

Here is what I have tried / verified:
1. Ensured my Win7 firewall was off.
2. Changed Streambaby's bat file to use 32-bit Java as per another thread I found:


Code:


"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5

3. Turned on Streambaby logging.

When I unplug the TiVo network cable and plug it back in.. StreamBaby logs that it can see the Gen3 named .. Upstairs2.

But the TiVo has no StreamBaby option.

Open to ideas. Thanks in advance.

-

01/28/11 17:14:02 StreamBabyConfig: WorkingDir: "C:\CREATE_SERVER\streambaby-0.27"
01/28/11 17:14:02 StreamBabyConfig: StreamBabyDir: C:\CREATE_SERVER\streambaby-0.27
01/28/11 17:14:02 StreamBabyConfig: CurDir: C:\CREATE_SERVER\streambaby-0.27\native
01/28/11 17:14:03 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded: C:\CREATE_SERVER\streambaby-0.27\native\avutil-49.dll
01/28/11 17:14:03 FFmpegJavaConfig$1: Loading avcodec, default: avcodec-52
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded: C:\CREATE_SERVER\streambaby-0.27\native\avcodec-52.dll
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded avCodec version: 52 (3409408)
01/28/11 17:14:03 FFmpegJavaConfig$1: Loading avformat, default: avformat-52
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded: C:\CREATE_SERVER\streambaby-0.27\native\avformat-52.dll
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded avFormat version: 52 (3413761)
01/28/11 17:14:03 FFmpegJavaConfig$1: Loading swscale, default: swscale-0
01/28/11 17:14:03 FFmpegJavaConfig$1: Loaded: C:\CREATE_SERVER\streambaby-0.27\native\swscale-0.dll
01/28/11 17:14:03 FFmpegJavaConfig$1: Marking libswscale as available.
01/28/11 17:14:03 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/28/11 17:14:03 FFmpegExeVideoModule: FFmpegPath: C:\CREATE_SERVER\streambaby-0.27\native\ffmpeg.exe
01/28/11 17:14:03 FFmpegExeVideoModule: FFmpegExeModule: Loaded
01/28/11 17:14:03 StreamBabyMain: STARTING StreamBaby v0.29...
01/28/11 17:14:03 Main: args= start=true
01/28/11 17:14:04 Main: args= [email protected]
01/28/11 17:14:04 Listener: [email protected] [email protected]
01/28/11 17:14:05 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
01/28/11 17:14:05 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/28/11 17:14:05 Listener: name=/streambaby/
01/28/11 17:14:05 Listener: 
01/28/11 17:14:05 Listener: added factory
01/28/11 17:14:05 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
01/28/11 17:14:05 Main: MDNS: http://192.168.2.10:7290/streambaby/
01/28/11 17:14:05 Main: streambaby ready & listening.
01/28/11 17:14:05 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
01/28/11 17:15:56 TiVoListener: addService: UPSTAIRS2
01/28/11 17:15:56 TiVoListener: Updating service: _http._tcp.local. (UPSTAIRS2)
01/28/11 17:15:56 TiVoListener: resolveService: _http._tcp.local. (UPSTAIRS2)
01/28/11 17:15:56 TiVoListener: jmDns found TiVo: UPSTAIRS2, tsn: <removed for posting>


----------



## japdlp

Hello. I'm having trouble getting Streambaby working on a Linux system. I've got Streambaby running with normal looking startup output, but when I go to "Music, Photos, & Showcases" on my TivoHD, I can't see Streambaby at all. Before trying Streambaby on Linux, I tried it on Windows on the same network connected to the same router and everything worked fine.

Here is the Streambaby output I'm getting on Linux with debugging enabled in simplelog.properties. I get all of this output at startup of Streambaby and don't get anything extra when I try to connect from the Tivo:



Code:


DiskStation> jamvm -jar jbin/streambaby.jar
Initializing StreamBaby v0.29...
02/02/11 20:46:38 StreamBabyConfig: WorkingDir: /volume1/public/streambaby
02/02/11 20:46:38 StreamBabyConfig: StreamBabyDir: /volume1/public/streambaby
02/02/11 20:46:38 StreamBabyConfig: CurDir: /volume1/public/streambaby
02/02/11 20:46:39 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
02/02/11 20:46:39 FFmpegExeVideoModule: FFmpegPath: ffmpeg
02/02/11 20:46:39 FFmpegExeVideoModule: FFmpegExeModule: Loaded
02/02/11 20:46:39 StreamBabyMain: STARTING StreamBaby v0.29...
02/02/11 20:46:39 Main: args= start=true
02/02/11 20:46:39 Main: args= loader=java.lang.ClassLoader$1{urls=[file:/volume1/public/streambaby/jbin/streambaby.jar], parent=null}
02/02/11 20:46:40 Listener: [email protected] [email protected]
02/02/11 20:46:40 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]]
02/02/11 20:46:40 Listener: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
02/02/11 20:46:40 Listener: name=/streambaby/
02/02/11 20:46:40 Listener:
02/02/11 20:46:40 Listener: added factory
02/02/11 20:46:40 Main: factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream]
02/02/11 20:46:40 Main: MDNS: 192.168.1.18:7290/streambaby/
02/02/11 20:46:40 Main: streambaby ready & listening.
02/02/11 20:46:40 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
02/02/11 20:46:45 TiVoListener: addService: DiskStation
02/02/11 20:46:45 TiVoListener: Updating service: _http._tcp.local. (DiskStation)
02/02/11 20:46:45 TiVoListener: resolveService: _http._tcp.local. (DiskStation)
02/02/11 20:46:45 TiVoListener: addService: TIVOHD
02/02/11 20:46:45 TiVoListener: Updating service: _http._tcp.local. (TIVOHD)
02/02/11 20:46:45 TiVoListener: resolveService: _http._tcp.local. (TIVOHD)
02/02/11 20:46:45 TiVoListener: jmDns found TiVo: TIVOHD, tsn: xxxxxxxxxxxxxxxx

Please ignore the FFmpegJavaVideoModule warning for now unless you know it is related to my problem. My understanding is that it should not be causing this problem and that I should be able to get Streambaby working even with that warning.

I can enter <IP_address_of_Linux_machine>:7290/streambaby/icon.png in a web browser and it successfully displays the icon. So the HTTP aspect of Streambaby seems to be running fine on the Linux box and there doesn't seem to be any firewall or anything getting in the way.

*Does anyone have any idea what might be going on with my installation?* Perhaps something is interfering with the Tivo "discovering" Streambaby running on the Linux system? I'm not very familiar with Linux, so I might be missing something simple.

In the interest of full disclosure, this is not a typical Linux installation. I'm trying to get this running on a Synology DS109 network accessible storage device (synology.com/us/products/DS109/index.php). This model happens to be running an ARM processor. The Linux installation already has FFmpeg installed and I installed jamVM (jamvm.sourceforge.net) as the Java JRE. So far things seem to be working better than I expected, but now I'm kinda stumped.

I would really appreciate any pointers anyone can provide.

Thanks!


----------



## epstewart

Hi,

I am experiencing a problem when using the Streambaby that comes with pyTivoX version 1.3. On my TiVo Series 3  but not on my TiVo Premiere or TiVo HD  when I stream video from my Mac running Mac OS X 10.5.8 "Leopard," I see a picture that is shifted to the right so that about 1/3 of the 16:9 picture is chopped off!

The videos I have been seeing this happen with are made by ImTOO HD Video Converter 6 at 960x540 resolution and are intended for Apple TV compatibility. They were originally transferred from my TiVo Premiere to my iMac and edited there. I play them through my TiVo when I want to see the associated .srt files containing closed captions.

The same files show up just fine on my two other TiVos, connected to two other TVs.

My TiVo Series 3 that is connected to a Sony HDTV plays all other TV signals properly. The Sony exhibits no such problem with any of its other inputs, either.

Changing the TiVo's aspect ratio from Panel to Full makes no difference to the weird screen-shift problem I see with pyTivoX/Streambaby videos.

Does anyone have any idea what's causing the problem and what to do about it? Thanks in advance ...


----------



## epstewart

epstewart said:


> Hi,
> 
> I am experiencing a problem when using the Streambaby that comes with pyTivoX version 1.3. On my TiVo Series 3  but not on my TiVo Premiere or TiVo HD  when I stream video from my Mac running Mac OS X 10.5.8 "Leopard," I see a picture that is shifted to the right so that about 1/3 of the 16:9 picture is chopped off!
> 
> The videos I have been seeing this happen with are made by ImTOO HD Video Converter 6 at 960x540 resolution and are intended for Apple TV compatibility. They were originally transferred from my TiVo Premiere to my iMac and edited there. I play them through my TiVo when I want to see the associated .srt files containing closed captions.
> 
> The same files show up just fine on my two other TiVos, connected to two other TVs.
> 
> My TiVo Series 3 that is connected to a Sony HDTV plays all other TV signals properly. The Sony exhibits no such problem with any of its other inputs, either.
> 
> Changing the TiVo's aspect ratio from Panel to Full makes no difference to the weird screen-shift problem I see with pyTivoX/Streambaby videos.
> 
> Does anyone have any idea what's causing the problem and what to do about it? Thanks in advance ...


I posted the question above about why some of my pyTivoX/Streambaby videos are getting shifted and/or widened on the TV screen so that a large portion of the right side of the film frame and/or picture gets chopped off. I think I've figured out what the problem is ...

The affected videos were made by ImTOO HD Video Converter 6 with 960x540 resolution and intended mainly for an Apple TV. I used ImTOO's Zoom: Full (keep aspect ratio) setting. It (I believe) encodes the video anamorphically by squeezing it in and letting the output device (OD) unsqueeze it.

To do that it uses (again, I believe) something called "pixel aspect ratio" or PAR to tell the OD the pixels it's getting are not square. The OD is supposed to honor that by widening the displayed frame but keeping the intended less-than-1:1 PAR intact.

The TiVo Series 3 apparently is not properly honoring PAR. My TiVo HD and TiVo Premiere  both of them later models than the Series 3  apparently do honor PAR properly.

The Series 3, when in its own Panel aspect ratio, keeps the picture squeezed in while cutting off the right side within the confined display frame.

When in its own Full aspect ratio, it stretches the picture way too much, so its right side goes well beyond the right side of the screen.

So the Series 3 knows to stretch the picture, but it does not know that the original pixels were squeezed during encoding and so must have their squeezed pixel aspect ratio honored.

Again, the TiVo HD and the TiVo Premiere handle all of this correctly. The Series 3 does not.


----------



## distortedimage

Hey guys. When I run Streambaby from the batch file it works fine and runs like clockwork.

When I try and run it from a service though it doesn't work at all.

When the service is running, streambaby.bat says that it's already in use.

I can use the stop and start commands (service) and it still doesn't work.

This is using Windows 7 Ultimate (64bit).

Any thoughts? Because it's working fine from the batch file directly, I'm assuming it doesn't have to do with the java incompatibility.


----------



## orangeboy

Hi,

I've been transcoding several of my videos into h264/ac3/mp4 format. However, some of the older videos (30-40 years old!) I have are silent, and don't have an audio stream. When I try to use Streambaby, I see ffmpeg fire up, transcoding the video into mpeg2. To prevent this, do all I need to do is add this to the ini file?



Code:


mp4mod.streamformats=mp4,h264,ac3;mp4,h264,none


----------



## moyekj

orangeboy said:


> Hi,
> 
> I've been transcoding several of my videos into h264/ac3/mp4 format. However, some of the older videos (30-40 years old!) I have are silent, and don't have an audio stream. When I try to use Streambaby, I see ffmpeg fire up, transcoding the video into mpeg2. To prevent this, do all I need to do is add this to the ini file?
> 
> 
> 
> Code:
> 
> 
> mp4mod.streamformats=mp4,h264,ac3;mp4,h264,none


 My guess is trying to use mp4 container without audio probably just won't work. As a test though you can have Streambaby bypass the normal checks using the .raw & .raw.fmt method. For example if you have a file called test.mp4 rename it to test.raw and then add a file called test.raw.fmt with only 1 line with following mime type:
video/mp4


----------



## orangeboy

moyekj said:


> My guess is trying to use mp4 container without audio probably just won't work. As a test though you can have Streambaby bypass the normal checks using the .raw & .raw.fmt method. For example if you have a file called test.mp4 rename it to test.raw and then add a file called test.raw.fmt with only 1 line with following mime type:
> video/mp4


Thanks! The .raw+.raw.fmt worked well. No transcoding by ffmpeg was attempted.


----------



## orangeboy

Is there an ffmpeg setting to specify during transcoding so I don't need "mp4module.interleave=false" in the streambaby.ini file? I receive 0xffff errors if I don't specify "mp4module.interleave=false" with playback of some files...


----------



## AsSiMiLaTeD

distortedimage said:


> Hey guys. When I run Streambaby from the batch file it works fine and runs like clockwork.
> 
> When I try and run it from a service though it doesn't work at all.
> 
> When the service is running, streambaby.bat says that it's already in use.
> 
> I can use the stop and start commands (service) and it still doesn't work.
> 
> This is using Windows 7 Ultimate (64bit).
> 
> Any thoughts? Because it's working fine from the batch file directly, I'm assuming it doesn't have to do with the java incompatibility.


I have this same issue and am on the same OS if anyone can help


----------



## orangeboy

AsSiMiLaTeD said:


> I have this same issue and am on the same OS if anyone can help


http://code.google.com/p/streambaby/wiki/debugging_problems
Setting up debugging in the log may show what the problem is. I have zero experience with Windows 7, but see if you can set the Service to run under your credentials. By default, the older Windows OS' would run under a "Local System" account, which may not have the proper file permissions. The .bat file when executed runs with your credentials, so setting the Service to do the same may clear things up.


----------



## bricem

I'm not sure if you're taking enhancement requests, but could you update the Tanuki service wrapper to the latest version? That way users could have a fairly simple way to setup streambaby as a daemon/server that starts on boot.


----------



## bluehz

What have I got to do to get embedded MP4 metadata working again. I swear at some point it worked - but it no longer works. I have tried several methods of writing the tags (AtomicParsley, iTunes, etc) and nothing seems to work. I checked my .ini file for possible culprits but don't see anything there either.

Can anyone offer advice on where I might look next for a resolution.


----------



## superflysocal

larrs said:


> By the way, this is exactly the behavior i am seeing. So, I read the thread and have opened the proper port and added ffmpeg to the exceptions list (java was already there). I also made sure that unlike the original poster, I am not blocking all access. I will try when I get home and see if it is now behaving and report back.
> 
> Thanks for the great resource thread...


I had this problem also. I fixed it by opening the port in Windows firewall (whichever one you specify or default one)


----------



## mphtrilogy

i can't get my 2nd directory (TIVO-RECORDINGS) to read, any help:

here is the config file:


> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=M:\
> dir.1.name=\TCM-MOVIES
> #dir.2=L:\
> #dir.2.name=\TIVO-RECORDINGS
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290


thanks for the help!!


----------



## orangeboy

dir.x should be the location of the files you want to serve.
dir.x.name should be the name that you want to have appear in the TiVo.

While there's nothing wrong with have both dir.1 and dir.2 pointing to "M:\", both entries will simply point to the same location.

Here's an example that may be close to what you want to achieve:


Code:


dir.1=M:\TCM-MOVIES
dir.1.name=Movies recorded from TCM
dir.2=M:\TIVO-RECORDINGS
dir.2.name=Other TiVo recordings


----------



## mphtrilogy

orangeboy said:


> dir.x should be the location of the files you want to serve.
> dir.x.name should be the name that you want to have appear in the TiVo.
> 
> While there's nothing wrong with have both dir.1 and dir.2 pointing to "M:\", both entries will simply point to the same location.
> 
> Here's an example that may be close to what you want to achieve:
> 
> 
> Code:
> 
> 
> dir.1=M:\TCM-MOVIES
> dir.1.name=Movies recorded from TCM
> dir.2=M:\TIVO-RECORDINGS
> dir.2.name=Other TiVo recordings


I have two external hard drives, one with TCM one with TIVO

I tried this as you said, but still only get the first directory TCM on M, I am not reading the L Directory, do I have this config right?:


> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=M:\TCM-MOVIES
> dir.1.name=Movies recorded from TCM
> dir.2=L:\TIVO-RECORDINGS
> dir.2.name=Other TiVo recordings
> 
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290


----------



## mphtrilogy

mphtrilogy said:


> I have two external hard drives, one with TCM one with TIVO
> 
> I tried this as you said, but still only get the first directory TCM on M, I am not reading the L Directory, do I have this config right?'
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> dir.1=M:\TCM-MOVIES
> dir.1.name=Movies recorded from TCM
> dir.2=L:\TIVO-RECORDINGS
> dir.2.name=Other TiVo recordings
> 
> # Ip address to bind to
> # most people don't need to change this.
> #ip=192.168.1.37
> # port to use
> #port=7290:


Am i typing the config file wrong? i'm not too strong in this area, so any help would be appreciated. I have two external hard drives, one M, one L. Am I missing something? I am getting the M Drive, but not the L drive.

Help?

thankyou...


----------



## mphtrilogy

mphtrilogy said:


> Am i typing the config file wrong? i'm not too strong in this area, so any help would be appreciated. I have two external hard drives, one M, one L. Am I missing something? I am getting the M Drive, but not the L drive.
> 
> Help?
> 
> thankyou...


Found the problem, I added a space between directories, seemed to work!!!

thankyou!!


----------



## rrr22777

How do I play DVD's backed up using DVDShrink?


----------



## bowlingblogger

I re-author DVDs and select the main movie, making sure not to split the VOBs into 1GB chunks (in preferences). I then change the resulting file's extension from .vob to .mpg and place it in my StreamBaby watched folder and then I can watch it just like a regular .mpg.


----------



## rrr22777

bowlingblogger said:


> I re-author DVDs and select the main movie, making sure not to split the VOBs into 1GB chunks (in preferences). I then change the resulting file's extension from .vob to .mpg and place it in my StreamBaby watched folder and then I can watch it just like a regular .mpg.


Thank for the tip on renaming the file. I will try that but when I used DVDShrink to create a single file I have no audio. I know there are thousands of DVD backup softwares. Any recommedations to make this less painfull?


----------



## Stuxnet

rrr22777 said:


> Any recommedations to make this less painfull?


VOB2MPG will stitch together the VOBs from your (unprotected) DVD. Very simple. DVDFab8 will do that as well... and notably, someone recently posted a simple DOS-level command to join VOBs into a common file.

Re: DVD Shrink... did you select the audio tracks you wanted when you reauthored the DVD?


----------



## bowlingblogger

Hmm, that's odd--I've never had a problem with the audio when using the method I described. I would suggest after dragging the main movie over to the left in the re-author tab that you preview it to see if you can hear the sound...if you can, but then you can't hear it when you try to play it later on with Streambaby, I would think that something was awry with your Streambaby installation. Just a guess, though...I could be wrong.


----------



## ncfoster

I am sorry if this has been asked before, but when I use StreamBaby to stream back shows from my PC to my Tivo Premiere, the shows rebuffer pretty much every 15 minutes. Is this an inherent flaw? Is there a workaround? Any likely problems on my end that I could work with? The shows are downloaded, decrypted, and left alone. I believe I had one independently obtained MP4 file that may not have exhibited this behavior, but I will have to double-check that.

I wanted to re-encode everything in MP4 format, but the slowness of that process and the poor results I got have left me leaving things alone for now.


----------



## orangeboy

ncfoster said:


> I am sorry if this has been asked before, but when I use StreamBaby to stream back shows from my PC to my Tivo Premiere, the shows rebuffer pretty much every 15 minutes. Is this an inherent flaw? Is there a workaround? Any likely problems on my end that I could work with? The shows are downloaded, decrypted, and left alone. I believe I had one independently obtained MP4 file that may not have exhibited this behavior, but I will have to double-check that.
> 
> I wanted to re-encode everything in MP4 format, but the slowness of that process and the poor results I got have left me leaving things alone for now.


Streambaby has access to a 1.1GB buffer. It is when that buffer fills that you see the interruption.


----------



## Phantom Gremlin

ncfoster said:


> I am sorry if this has been asked before, but when I use StreamBaby to stream back shows from my PC to my Tivo Premiere, the shows rebuffer pretty much every 15 minutes. Is this an inherent flaw? Is there a workaround?


Perhaps you should *download* to your TiVo instead of *streaming* to your TiVo.

I don't know the particulars of your situation, so my advice can only be generic. I use a Mac to run a program called pyTivoX. This software runs as a "server" which allows me to download shows to my TiVo HD for viewing. After download a show is local, and so doesn't need to re-buffer at 1 GB intervals.

I'm not really sure what the advantages or disadvantages of my approach are. You should probably read some other threads in this forum.


----------



## ncfoster

I have been intending to do PyTivo, but this was a lot quicker to get working, and other than the rebuffering, it has met my needs. I am guessing that will be the solution. I just wanted to know whether there was any point in trying to fix this on Streambaby. Thanks.


----------



## moyekj

ncfoster said:


> I have been intending to do PyTivo, but this was a lot quicker to get working, and other than the rebuffering, it has met my needs. I am guessing that will be the solution. I just wanted to know whether there was any point in trying to fix this on Streambaby. Thanks.


 It's not a Streambaby bug but rather a TiVo limitation. It's the same method that TiVo YouTube HME application streams to your TiVo and there is probably a dedicated disk partition being used which defines the buffer limit. Probably the only way to solve this issue is perhaps using WinMFS type utility that increases the particular disk partition that is used for this buffer. For the adventurous types that are familiar with WinMFS type utility it may be worth exploring the different partitions for an S3 TiVo for example to see if there is one that is ~ 1GB in size or so.


----------



## Stuxnet

FWIW, you can watch while pytivo is transferring... so although you're not technically "streaming", there's little difference other than the program is being stored on your tivo hdd, and there's no disruption for "rebuffering".


----------



## ncfoster

moyekj said:


> It's not a Streambaby bug but rather a TiVo limitation. It's the same method that TiVo YouTube HME application streams to your TiVo and there is probably a dedicated disk partition being used which defines the buffer limit. Probably the only way to solve this issue is perhaps using WinMFS type utility that increases the particular disk partition that is used for this buffer. For the adventurous types that are familiar with WinMFS type utility it may be worth exploring the different partitions for an S3 TiVo for example to see if there is one that is ~ 1GB in size or so.


Interesting. I would think if this was non-trivial, someone might have figured it out by now, but I appreciate the suggestion.



Stuxnet said:


> FWIW, you can watch while pytivo is transferring... so although you're not technically "streaming", there's little difference other than the program is being stored on your tivo hdd, and there's no disruption for "rebuffering".


I was aware of that, thanks. I agree that it is probably better, especially in light of this issue of which I was previously unaware.


----------



## wmcbrine

moyekj said:


> and there is probably a dedicated disk partition being used which defines the buffer limit.


I don't have evidence, but I doubt that. I've always suspected that one could resize the buffer in the stream creation request, if one knew the proper parameters to pass. For TiVo, it's not an issue, because the YouTube vids are much smaller than that, and Netflix streaming uses a different (seemingly bufferless) method. However, it's possible that TiVo already does it. No one has ever actually sniffed the YouTube HME traffic (it's SSL'd) and published the results, AFAIK.


----------



## Iluvatar

wmcbrine said:


> I don't have evidence, but I doubt that. I've always suspected that one could resize the buffer in the stream creation request, if one knew the proper parameters to pass. For TiVo, it's not an issue, because the YouTube vids are much smaller than that, and Netflix streaming uses a different (seemingly bufferless) method. However, it's possible that TiVo already does it. No one has ever actually sniffed the YouTube HME traffic (it's SSL'd) and published the results, AFAIK.


I have always thought as well that when streaming we should be able to purge/flush the buffer without the user having to experience the pause and reset of the stream. Do you know if any testing work has been done with other streaming protocols that may better support this such as rtmp/rtmpe?

Maybe once Hulu comes out we can get a fresh take on the streaming aspect.


----------



## moyekj

Iluvatar said:


> Maybe once Hulu comes out we can get a fresh take on the streaming aspect.


 Doubt it will be much different than the Netflix application - i.e. Little to no buffering and SSL encrypted communications. (There is a little buffering for Netflix since if you pull the network cord while streaming Netflix you get a few seconds of video before error).


----------



## rage777

I can't seem to get streambaby to work. I am running Windows 7 with a Tivo Premiere. I can see streambaby from the Tivo, but when I select it I just get the "Please Wait" message from Tivo. I looked at the streambaby logs with the log level at warn, but it still doesn't say anything. There are no errors in the log, so I am not sure what is going on. Is there some port that should be open for streambaby to work?


----------



## bowlingblogger

I had the same problem, which I fixed by creating an exception in Windows Firewall for inbound connections on TCP port 7290. I learned this from this post from BrianVeg in this thread after much scouring!

EDIT: Although this post refers to Windows Home Server, I had to do this for my W7x64 installation.


----------



## wingnut144

I just found the streambaby application, and it seems to work fine, so far.....I do have some questions, and if anyone knows the answers I'd appreciate it!

2 things......is there a way to get movie covers to show up on the tivo, in the movie list? Like album art?

The other, I'm getting a error when I stop a movie and go back to the main folder, in the streambaby app window that's running, I'm seeing:



Code:


StreamBabyStream[#1,uri=null] warning: resource 3891 not found.
StreamBabyStream[#1,uri=null] warning: resource 3891 not found.
04/08/11 07:36:51 Listener: 192.168.0.5 I/O Exception handling  HTTP GET 10f922a
d-26a4-4f55-9915-c9016ba5904f.stream: Connection reset by peer: socket write error

Anyone have any ideas? Is the software still being worked on? New versions, etc???


----------



## rrr22777

Is there a way to select the audio track? My DVD's I backed up using DVDFab seem to have directories commentary on one track and the movie audio on another.


----------



## martyscholes

rrr22777 said:


> Is there a way to select the audio track? My DVD's I backed up using DVDFab seem to have directories commentary on one track and the movie audio on another.


I have seen that before too and I am no expert.

That said, my DVD rips have several audio streams encoded, and I think the pyTivo/Streambaby -> Tivo process blindly uses the first available audio stream. If that first stream is pre-Roman Latin, then that's what you will hear.

I am getting more and more annoyed at how difficult the studios are making it to watch the damn DVD. It is becoming harder and harder to do the moral thing and rip my own DVD. These days, they have actually made it *easier* to torrent a movie.

Silly me, I keep trying to be ethical about this, and it is costing me a lot of time an aggravation.


----------



## arolson101

I'm trying to setup my videos (mp4s) with all embedded metadata, and so far it works great, except that when videos are pushed to the tivo they don't show up in groups. I see there's code in InternalPush.java to set the seriesTitle based on the metadata, and I think that the problem is that the seriesTitle isn't set except when it reads a pyTivo txt file. It looks like the TVSHOW atom would be appropriate for this purpose, and it is being read from the mp4 (MP4MetaDataModule.java), but then I don't follow once it goes into the transform() function. I think that all I need to do is edit meta-html.xsl, but I'm not sure in what way. Could someone help?

Thanks!
-ARO

Edit: also need help with episodeTitle


----------



## rrr22777

martyscholes said:


> I have seen that before too and I am no expert.
> 
> That said, my DVD rips have several audio streams encoded, and I think the pyTivo/Streambaby -> Tivo process blindly uses the first available audio stream. If that first stream is pre-Roman Latin, then that's what you will hear.
> 
> I am getting more and more annoyed at how difficult the studios are making it to watch the damn DVD. It is becoming harder and harder to do the moral thing and rip my own DVD. These days, they have actually made it *easier* to torrent a movie.
> 
> Silly me, I keep trying to be ethical about this, and it is costing me a lot of time an aggravation.


Well thats what was odd. My first audio track was the normal movie and the second audio track was the directors commentary. Actually I did get streambaby to choose the first track. pyTivo downloaded the movie with second audio track.

Just like many others I am just trying to backup DVD's to make them easier to watch. What backup program creates a single file with no degradation in video quality and works best with streambaby?


----------



## martyscholes

rrr22777 said:


> What backup program creates a single file with no degradation in video quality and works best with streambaby?


I find that k9copy under Linux does a decent job. I don't do any transcoding, just dump the raw mpeg2 video to a single file, along with all of the audio tracks.


----------



## aadam101

I've tried a couple of times to get this running on my PC and have never been able to do it. I was always fairly happy with Tivo Desktop so I didn't put much effort into it. Well today, I tried streambaby and finally got it installed properly (it was a java issue) and I LOVE IT! I wish I did this a long time ago!


----------



## drcos

Posted an issue about captions, specifically that hypertext (italics, etc) are not being translated correctly and display in the caption (i.e. _What?_). The text in the SRT files is being displayed without formatting. Anyone here with ideas?

Also the txt info files thing is great once you learn the codes. If you have a bonked-up field, nothing displays. (I use http://pytivo.sourceforge.net/wiki/index.php/Metadata for reference.)

My only real complaint is the 1.1GB buffer is annoying, especially with HD material where it might rebuffer every 8-12 minutes.

Otherwise, you guys rock and thanks!
_(streambaby 0.29 on Ubuntu 11.04 to TiVo S3)_


----------



## aadam101

Is it possible to delete a video using the streambaby app? If I press "clear" it prompts me for a password but there is no password on the shared drive that it streams from.


----------



## rfryar

aadam101 said:


> Is it possible to delete a video using the streambaby app? If I press "clear" it prompts me for a password but there is no password on the shared drive that it streams from.


Yes, On the Movie info screen, scroll down and select the line with the "More" on the right, move right and you should see a delete menu.

Rick


----------



## ignavia

I hate enormous threads like this... you can't really search them properly.

Anyhow, I want to use Streambaby to play ripped DVDs. I realize that it can play VOB files natively, but I don't really get the whole VOB file thing. Also, most of what I want to play are TV DVDs, so multiple episodes per disc. I could use handbrake to rip each episode to an MP4 or something, but handbrake runs like crap on my PC.

I'm already using DVD Fab HD to rip, so I have the VOB files. I guess my main question is, what do I do with them? How do I figure out what episode is what?

Thanks, and sorry if this was already answered (I saw an answer on page 25, but it was only talking about ripping...)


----------



## aadam101

rfryar said:


> Yes, On the Movie info screen, scroll down and select the line with the "More" on the right, move right and you should see a delete menu.
> 
> Rick


Thanks. I found it. When I try to delete it gives me an error message and closes the app. When I re-open the app the file is deleted.


----------



## drcos

I don't know that I would want to be able to delete from the TiVo.
I set (and would recommend)
streambaby.delete = false
in my streambaby.ini file to remove this option.

I can't get background.image to work, I get an HTTP crash when I access it from the TiVo.


----------



## rfryar

ignavia said:


> I'm already using DVD Fab HD to rip, so I have the VOB files. I guess my main question is, what do I do with them? How do I figure out what episode is what?


I rip all my movies/shows using DVDFab as well. However I take a step further and use DVD Ripper to convert them to H264/AC3 MP4s. (Acutally the best profile I found is MKV, then I use one more tool to remux into MP4)

Finally I use a tool to place MP4 metadata into each video including album art. This along with a nice naming convention gives me easy access through streambaby with cover art and descriptions.

Rick


----------



## klyde

I read that you can push videos with streambaby. I just installed it and can stream but can not find out how to push movies so the movie is on the Tivo HD. How can I push movies?


----------



## jpascone

They play fine on my PC using Quicktime but I received a "Failed to Open Stream" message on my set. 

I receive the following messages in my streambaby.log file:
05/04/11 23:55:05 ZipGeneratingPreview$GenThread: Generation Error creating zip pvw: C:\Program Files\Streambaby\cache\01 The Curse of Dethklok.m4v-131094948-d41d8cd98f00b204e9800998ecf8427e.pvw.tmp
05/04/11 23:55:05 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error

Any help?

Thanks!
JP


----------



## moyekj

klyde said:


> I read that you can push videos with streambaby. I just installed it and can stream but can not find out how to push movies so the movie is on the Tivo HD. How can I push movies?


You have set your tivo username & password in .ini file:
tivo.username=...
tivo.password=...
Then after you restart streambaby you get option to push.


----------



## klyde

that did it, I never read that on the streambaby web page, maybe I missed it.
thanks


----------



## oldskoolboarder

I have PyTivo running on my Mac Mini (C2D, 2GHz, 8 GB RAM) and it's been running fine to both my Tivos.

At some point, I checked the operation of Streambaby and it was working on my HD Tivo. I could access it from the Showcase menu. Last night, I tried and it was gone. I have rebooted PyTivo and it doesn't show up. I will try to reboot the Tivo as well, but wondering if anyone had this happen and what you did to fix it.

Thanks.


----------



## windracer

pyTivo is a separate application from streambaby, so I wouldn't expect restarting pyTivo to affect streambaby.


----------



## wmcbrine

He probably means pyTivo*X*, which does include Streambaby.


----------



## windracer

Ah, missed the Mac Mini part. Oops.


----------



## Tekzel

Ok, been fighting this problem for a while now, searching high and low but haven't found a solution. 

I'm running Streambaby 0.29, normally on a Windows Home Server 2011 server, but now on my Windows 7 Ultimate 64bit workstation while the server is down. My Tivo is a Series 3 HD. On both systems I get this exact same behavior in Streambaby: Whether running as a service or in console mode, when I first start it up it shows on the Tivo for a short time, probably 5-10 minutes, but I haven't timed it. While it's showing, I can go in and use it just fine and can watch videos for hours, but if I then leave the app, or if I wait too long to try it initially, it is gone from the HME apps list. If I restart the service, or restart the app in console mode, it shows up for a short while and I can use it. Any time I want to watch videos on my Tivo I have to restart the service first. I did make a rule in the firewall on both the server and the workstation to get it working initially. I have tried running it as everything from system account to different user accounts.

Anyone have an idea what might be causing this?


----------



## reneg

Tekzel said:


> Ok, been fighting this problem for a while now, searching high and low but haven't found a solution.
> 
> I'm running Streambaby 0.29, normally on a Windows Home Server 2011 server, but now on my Windows 7 Ultimate 64bit workstation while the server is down. My Tivo is a Series 3 HD. On both systems I get this exact same behavior in Streambaby: Whether running as a service or in console mode, when I first start it up it shows on the Tivo for a short time, probably 5-10 minutes, but I haven't timed it. While it's showing, I can go in and use it just fine and can watch videos for hours, but if I then leave the app, or if I wait too long to try it initially, it is gone from the HME apps list. If I restart the service, or restart the app in console mode, it shows up for a short while and I can use it. Any time I want to watch videos on my Tivo I have to restart the service first. I did make a rule in the firewall on both the server and the workstation to get it working initially. I have tried running it as everything from system account to different user accounts.
> 
> Anyone have an idea what might be causing this?


Not sure what's causing it, but I had something like this happen and worked around it by running the Abyss web server on the PC and following the information in this post: http://www.tivocommunity.com/tivo-vb/showthread.php?p=7487199#post7487199


----------



## Tekzel

reneg said:


> Not sure what's causing it, but I had something like this happen and worked around it by running the Abyss web server on the PC and following the information in this post: http://www.tivocommunity.com/tivo-vb/showthread.php?p=7487199#post7487199


Grand. The ONLY machine that I keep on all the time that could serve this purpose is my WHS2011 box that also serves up the videos. I can't get it to serve the file, I get some cryptic error message: "HTTP Error 404.17 - Not Found The requested content appears to be script and will not be served by the static file handler." I tried to find a fix, but nothing out there worked and I got tired of messing with it.

I guess I'll stick to restarting the service whenever I want to watch videos. Why can't anything ever be simple??? :/ Thanks for your reply though!


----------



## rrr22777

Nearest I can tell all mkv's are failing. Divx and other movie types play fine. Attached is the debug log. I tried increasing -Xmx256m to Xmx512m but dont think that is the problem because it fails as soon as I hit play. Can someone help?


----------



## DETN8R

Placing a SRT file with an MKV file does not work. Any recommendations?


----------



## wingnut144

I'm curious if the original developer or anyone is planning on updating Streambaby?

Anyone have any ideas if something is in the works??


----------



## justrick

Total Streambaby (and TiVo) noob here. Java is definitely installed (I did it manually to make sure), but when I try to run Streambaby, I get a "Java not recognized" error in the DOS window. Any thoughts?

Thanks!


----------



## noseph

wingnut144 said:


> I'm curious if the original developer or anyone is planning on updating Streambaby?
> 
> Anyone have any ideas if something is in the works??


Just curious, why do you think Streambaby needs updating? I have had no issues with Streambaby in the several years I have been using it on my S3.


----------



## tomm1079

noseph said:


> Just curious, why do you think Streambaby needs updating? I have had no issues with Streambaby in the several years I have been using it on my S3.


I personally would just like to see HD menu's but other then that see no other issues.


----------



## c-collins

Okay what am I doing wrong here:

Here is the message I get when I start it up:

Initializing StreamBaby v0.29...
05/21/11 20:32:38 StreamBabyMain: Unable to rename first-run script.
05/21/11 20:32:38 Listener: added factory
05/21/11 20:32:38 Main: streambaby ready & listening.

Here is my .ini File:
#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\Public\Public Tivo Recordings
dir.1.name=Videos

#dir.2=/media/disk
#dir.2.name=External Drive

# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290


----------



## wingnut144

Just because there seems to be a lot of unsolved issues on the offical Streambaby site that aren't being addressed.......

I would like to know how to get images (movie covers) to show in the list and/or description of the movies I have on my server...... I can get the meta description and such, but haven't found a way to display the image of the movie.



noseph said:


> Just curious, why do you think Streambaby needs updating? I have had no issues with Streambaby in the several years I have been using it on my S3.


----------



## tomm1079

unless someone takes to updating it i dont think it will be updated.

I would love to see metadata and folder images plus HD menus with it. I dont think we will see it anytime soon unless one of the few guys who still program for tivo do it.


----------



## zeke009

justrick said:


> Total Streambaby (and TiVo) noob here. Java is definitely installed (I did it manually to make sure), but when I try to run Streambaby, I get a "Java not recognized" error in the DOS window. Any thoughts?
> 
> Thanks!


You may need to edit the bat file to point to the Java executable. I had to do this for the setup I have on Windows Home Server 2011.

Example: "C:\Program Files (x86)\Java\jre6\bin\java.exe"


----------



## Rick in LA

I recently took a bedroom Series 2 out of the rotation, replacing it with the former living room Tivo HD which was, in turn, replaced by a new Premiere. Ahhh, the Circle of Life...

Anyhoo, despite renaming the FORMER living room device as "Bedroom" under DVR Preferences, Streambaby continues to see it as "Living room" for push purposes and sees the new Premiere as "Living room(2)." 

I can't imagine what else I can do at Tivo.com. Could the problem be on Streambaby's end?


----------



## windracer

Does the renamed box actually show its new name under System Information? You might need to force a few connections from the TiVo for it to "take" and then restarting streambaby should pick up the new name as well.


----------



## Rick in LA

Yep, multiple restarts of Tivo and SB sorted it. Thanks.


----------



## jctivo

Please help. I had streambaby working for several years and now my tivo won't recognize Streambaby anymore. I don't see the option in the music, videos, menu option. 

I have a series 3. I have tried rebooting the computers and tivo but no luck.

I tried tivo desktop as well on a laptop with windows 7 (64 bit) and desktop with vista and that didn't work.

On the new install of streambaby on windows 7 laptop (with eset software), my error is : unable to load ffmepg native libraries

I put streambaby here:
C:\streambaby-0.29

I have this file in that folder: ffmpeg-dist.tar.bz2

I tried unzipping it but no luck. 

Is this my problem? Please help.

I did just install dar.fm recently don't know if that screwed anything up or not.

I really need this to work because I put photo music videos of my kids together and that keeps them dancing and busy for 20-40 minutes making my life much easier. Of course, I have tried to put some new ones together and then push them to my tivo but alas, I can't.

PLEASE HELP a parent in need.

I'm a computer programmer but I would easily pay for an app like this as it has in the past made my life so much easier.

thank you in advance,
jctivo


----------



## moyekj

jctivo, I think you need to install 32-bit JRE (Java) instead of 64-bit as this applications uses 32-bit ffmpeg libraries for making thumbnails.


----------



## jctivo

I really appreciate the help.

I installed that new java that you told me to.

Do I need to point it somehow in the .bat file?
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


here is my log:
05/30/11 14:49:52 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
05/30/11 14:49:53 Listener: added factory
05/30/11 14:49:53 Main: streambaby ready & listening.


----------



## jctivo

I also tried editing the path but no luck in the environment variables


----------



## moyekj

I would suggest now that you have 32 bit java installed, simply unzip streambaby-0.29.zip in a brand new directory. The first time you launch streambaby.bat it should connect and download the ffmpeg binaries it needs under the "native" folder. Then things should work normally. Make sure if you have any firewall active that it is not blocking Java.

Also remember you need to have streambaby.ini edited with at least 1 valid path to where your videos are located. The "#" character is a comment, so you should have dir.1 uncommented and pointing to a valid path on your PC.


----------



## jctivo

I reinstalled to a new directory on my desktop which worked a week ago and it now works. Thanks! jctivo

PS and the push worked as well so my parenting just got a bunch easier! THANKS!


----------



## KidSquid

Hello All -

Hoping someone can shed some light on my challenge. I am new to StreamBaby...old to Tivo.

I installed StreamBaby on a network machine (Win7) and my Tivo's can see and access the directory structure just fine. I have ripped a test DVD "Thomas the Train" for the kiddo using Make MKV on a MAC. The MKV plays fine in PLEX and when I attempt to play it on a networked Tivo via StreamBaby I receive the error message "Incompatible Video Stream".

It was my impression that StreamBaby could read and transcode MKV's to the Tivo...can anyone suggest what I might be overlooking?

Many thanks,

Squid


----------



## KidSquid

I was able to get things working.....

It seems the MKV's I was making on the MAC were not able to be read by StreamBaby on the PC. A little weird I thought.....but when I put StreamBaby in verbose debug mode I saw that StreamBaby could not determine the container type. I assumed that a MKV would be a dual binary and could be viewed accross the different OS's but I guess not.

I installed MakeMKV on the PC...reripped and eveything played as it should.

One question though - is there a way to get metadata for the Rip so I don;t have 12 files 0.mkv, 1.mkv, 2.mkv etc? Is there a way to get title and chapter info?

Thanks,

Squid


----------



## jcthorne

KidSquid said:


> I was able to get things working.....
> 
> It seems the MKV's I was making on the MAC were not able to be read by StreamBaby on the PC. A little weird I thought.....but when I put StreamBaby in verbose debug mode I saw that StreamBaby could not determine the container type. I assumed that a MKV would be a dual binary and could be viewed accross the different OS's but I guess not.
> 
> I installed MakeMKV on the PC...reripped and eveything played as it should.
> 
> One question though - is there a way to get metadata for the Rip so I don;t have 12 files 0.mkv, 1.mkv, 2.mkv etc? Is there a way to get title and chapter info?
> 
> Thanks,
> 
> Squid


Are you ripping from a dvd? If so, rip to one large vob and then do the conversion. Mp4 would be better than mkv as it will stream to the tivo without transcoding. If this does not answer your question, what are the '12 files' ?


----------



## KidSquid

> Are you ripping from a dvd?


Yes...



> If so, rip to one large vob and then do the conversion.


If I do this will I have DVD Menu's I will need to navigate?



> Mp4 would be better than mkv as it will stream to the tivo without transcoding


What effect will this have on quality....expecially on Blu-Ray?



> what are the '12 files'


I believe the 12 files are the chapters of content from the DVD. What brought me to this point is MakeMKV just titles the files 0-12.mkv so by looking at the filenames you get no idea of what you are going to get when you play. I guess I could open each up watch and rename but I was hoping there would be some kind of metadata lookup....should I be looking at another option?

Thanks for your help from a fellow Houstonian! :up:


----------



## tomm1079

Ok i love streambaby. I prefer it over the other solutions cause it allows me to stream files (i dont like moving files to my Tivo if i can avoid it). I have all my files sitting on a Windows home server and i just discovered last night that i can add metadata and get it to show up in Streambaby. I got normal metadata to show up using metagenerator but then i found this: 

# Added metadata parsing. Metadata is displayed on "Play" screen and when pressing the info button while playing

* Metadata is looked for in the form "filename.mpg.xxx" where xxx the metadata extension.
* Metadata is looked for in the same directory of the video file, or in a subdirectory of the directory where the main file is called .meta
* Metadata supported:
* .txt files- Either a pyTivo metadata file or a standard txt file (autodetected)
* .html
* .xml
* .gif, .png, .jpg: Use as straight images. New config property info.preserveaspect=true to control if img is allowed to be stretched 

This leads me to believe i can add images also. I tried an images as filename.jpg and folder.jpg in the same folder as the MKV but it didnt show up anywhere. What do i need to do to get the image to show up in streambaby.

Thanks,


----------



## tomm1079

I wanted to post this since i had to dig deep for this. Special thanks to dlfl for putting me on the correct path in the other thread.

Here is a WORKING txt file for streambaby metadata. This is a metagenerator file that just has an image : tag added.

*Note: The image tag must be all lowercase and you need a space before and after the colon*. I have the text file and the movie file in the same directory so i just needed to add:

image : Expendables.jpg



Code:


title : The Expendables
movieYear : 2010
description : Barney (Sylvester Stallone) leads a ragtag band of hired guns charged with overthrowing a South American despot, a job no official military unit is willing to touch. But once on the ground, the team learns there's more to the mission than they were told. Their next move determines whether they survive -- or are, indeed, expendable. Jason Statham, Mickey Rourke, Dolph Lundgren and Jet Li round out a stellar cast.
isEpisode : false
starRating : x5
mpaaRating : R4
vProgramGenre : Action & Adventure
vProgramGenre : Action Thrillers
vProgramGenre : Military Action & Adventure
vDirector : Sylvester Stallone
vActor : Sylvester Stallone
vActor : Jason Statham
vActor : Jet Li
vActor : Dolph Lundgren
vActor : Eric Roberts
vActor : Randy Couture
vActor : Steve Austin
vActor : David Zayas
vActor : Giselle Iti
vActor : Charisma Carpenter
vActor : Gary Daniels
vActor : Terry Crews
vActor : Mickey Rourke
image  : Expendables.jpg

Hope this helps! Now to try to get a metagenerator that also does images!

How to get metadata images working in streambaby


----------



## orangeboy

tomm1079 said:


> Hope this helps! Now to try to get a metagenerator that also does images!


Nice. In "pyTivoMetaThis", would adding something like this work?



Code:


if "cover" in movie.keys():
    <do something>

I was looking at imdbpy, and saw that "key" that refers to "cover url". The <do something> above would most likely be a http file request.


----------



## dlfl

tomm1079 said:


> I wanted to post this since i had to dig deep for this. Special thanks to dlfl for putting me on the correct path in the other thread.
> 
> Here is a WORKING txt file for streambaby metadata. This is a metagenerator file that just has an image : tag added.
> 
> [*Note: The image tag must be all lowercase*] and you need a space before and after the colon. I have the text file and the movie file in the same directory so i just needed to add:
> 
> image : Expendables.jpg
> .......
> Hope this helps! Now to try to get a metagenerator that also does images!
> 
> How to get metadata images working in streambaby


And thank you, tomm1079 ! I wasted a lot of time trying to get this to work and then finally noticed the part in your post about the image tag having to be all lower case, which was what I had wrong. I swear I've seen it specified as being capitalized several places in this thread!

I've been playing with the MetaGenerator code and it's trivially easy to dump JPG (or other image formats if preferable) files of the cover art it retrieves. I haven't been able to contact the program's primary author yet, but I think there will be a revised version one way or another. 

What I will program unless someone has other suggestions is the meta image will be a JPG created in the same folder as the video (with the pyTivo metadata file) with the name .<ext>.jpg and the appropriate image tag line will be included in the pyTivo metadata file. This will be an option -- operation without the image stuff will still be there.


----------



## orangeboy

Frak. I've commented on "gmd's python metadata generator", while I think you guys have been talking about MasterCephus' "MetaGenerator Version 2".


----------



## rmassey

Newbie here, sorry I have not read all 80 pages of this post yet....

I have SB installed and working, but it sees all my .mkv files as folders and then reports 'No entries in this directory'. .avi and .mpg seem to play fine, but not .mkvs. 

Did I miss a basic setting to configure use with .mkv files?


----------



## tomm1079

I put that note in cause i spent HOURS trying to get it that night. Pretty much all night and i read page 20 to 80 of this thread. I just made it bold for everyone else so hopefully they will notice it.

Good to hear about the MetaGenerator code. I did put in the other thread you might want to allow different sizes (user defined if possible). I think the VideoMgr uses a different size then streambaby. Also streambaby has CSS constraints (which i removed cause i didnt like them).



dlfl said:


> And thank you, tomm1079 ! I wasted a lot of time trying to get this to work and then finally noticed the part in your post about the image tag having to be all lower case, which was what I had wrong. I swear I've seen it specified as being capitalized several places in this thread!
> 
> I've been playing with the MetaGenerator code and it's trivially easy to dump JPG (or other image formats if preferable) files of the cover art it retrieves. I haven't been able to contact the program's primary author yet, but I think there will be a revised version one way or another.
> 
> What I will program unless someone has other suggestions is the meta image will be a JPG created in the same folder as the video (with the pyTivo metadata file) with the name .<ext>.jpg and the appropriate image tag line will be included in the pyTivo metadata file. This will be an option -- operation without the image stuff will still be there.


----------



## tomm1079

orangeboy said:


> Frak. I've commented on "gmd's python metadata generator", while I think you guys have been talking about MasterCephus' "MetaGenerator Version 2".


i didnt even know their was other ones 

im going to go check it out also...


----------



## orangeboy

tomm1079 said:


> i didnt even know their was other ones
> 
> im going to go check it out also...


For what it's worth, I've been using TheAmigo's version.


----------



## dlfl

tomm1079 said:


> ....Good to hear about the MetaGenerator code. I did put in the other thread you might want to allow different sizes (user defined if possible). I think the VideoMgr uses a different size then streambaby. Also streambaby has CSS constraints (which i removed cause i didnt like them).


If possible to satisfy all app needs it would be nice (simpler) to output fixed image sizes -- or even better if the apps didn't care about the size, which seems to be true of StreamBaby -- although an approximate 2:3 portrait aspect ratio is best for SB.

What other apps would use this system, and what image size constraints does each have?


----------



## tomm1079

dlfl said:


> If possible to satisfy all app needs it would be nice (simpler) to output fixed image sizes -- or even better if the apps didn't care about the size, which seems to be true of StreamBaby -- although an approximate 2:3 portrait aspect ratio is best for SB.
> 
> What other apps would use this system, and what image size constraints does each have?


I personally only use streambaby so i cant answer the other questions. Hopefully someone will chime in the other thread.


----------



## jpascone

Big Fan of Stream Baby. Never had a problem with it.. Just got back from a business trip and can no longer find "Stream Baby Stream" under music, photo and showcases. I may have installed some OS updates on my trip and tweaked a few things here and there but am not sure what could have broken my beloved Streambaby. Launches fine, I run as application not as service and and am promptly presented with the following but that's as far as I get:

Initializing StreamBaby v0.29...
07/19/11 02:07:58 Listener: added factory
07/19/11 02:07:58 Main: streambaby ready & listening.

I have started a fresh install, I right click and run batch file as admin. Running Server 2008 totally current, have disabled firewall, tried older build (.27), fresh out ideas. Any help would be appreciated.

streambaby.ini
#
# ./streambaby --help for more configuration file options
#
dir.1=c:\fujitsu
dir.1.name=Fujitsu
dir.2=C:\Users\Jeffrey\Downloads
dir.2.name=Downloads
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

streambaby.log
07/19/11 02:07:58 Listener: added factory
07/19/11 02:07:58 Main: streambaby ready & listening.

folder contents:

C:\Program Files\StreamBaby>dir
Volume in drive C has no label.
Volume Serial Number is 0E1E-18DB

 Directory of C:\Program Files\StreamBaby

07/19/2011 01:44 AM .
07/19/2011 01:44 AM ..
07/19/2011 01:40 AM assets
07/19/2011 01:40 AM extra
07/19/2011 01:44 AM 3,615,072 ffmpeg-dist.tar.bz2
07/19/2011 01:40 AM jbin
07/19/2011 01:40 AM lib
07/19/2011 01:44 AM native
07/19/2011 01:44 AM scripts
01/22/2010 12:28 PM 516 simplelog.properties
01/22/2010 12:28 PM 118 streambaby
01/22/2010 12:28 PM 196 streambaby.bat
07/19/2011 01:43 AM 272 streambaby.ini
07/19/2011 02:11 AM 98 streambaby.log
07/19/2011 01:40 AM stylesheets
6 File(s) 3,616,272 bytes
9 Dir(s) 3,510,648,832 bytes free

C:\Program Files\StreamBaby>

Thanks!


----------



## wmcbrine

Did you try rebooting the TiVo?


----------



## jpascone

wmcbrine said:


> Did you try rebooting the TiVo?


I am very sorry to report that did not work. Pytivo works without a hitch but is not ideal, I do not have cable so I rely on Streambaby more heavily then most. Any other suggestions are greatly appreciated.
Thanks,
Jeffrey


----------



## jpascone

After disabling the 2 virtual NICs it sprang back to life! Stream Baby Stream!


----------



## tomm1079

jpascone said:


> After disabling the 2 virtual NICs it sprang back to life! Stream Baby Stream!


if you reenable them make sure you set the IP in the config file

ip=192.168.1.37


----------



## bdruth

Greetings. We have been using streambaby w/ pyTivoX since our S2 died and we switched to a Premiere. Been working quite nicely until I upgraded to Lion (OS X 10.7). I've managed to get ffmpeg installed separately (using Homebrew: http://mxcl.github.com/homebrew/ and following this issue: https://github.com/mxcl/homebrew/issues/#issue/6278). Changed the path to ffmpeg in streambaby-user.ini and that seems to be OK.

My main issue at this point is that it doesn't seem like the mDNS broadcast to the TiVo is working ... streambaby.log looks fine:



> Thu 2011/07/28 23:28:14.686| |main|Main|factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - Macbook2-2.local]
> Thu 2011/07/28 23:28:14.686| |main|Main|MDNS: http://172.16.2.150:7290/streambaby/
> Thu 2011/07/28 23:28:14.687| |main|Main|streambaby ready & listening.
> Thu 2011/07/28 23:28:14.687| |main|Main|mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,pyTivoX - Macbook2-2.local] port=7290
> Thu 2011/07/28 23:28:15.077| |pool-1-thread-1|TiVoListener|addService: TiVo Premiere
> Thu 2011/07/28 23:28:15.077| |pool-1-thread-1|TiVoListener|Updating service: _http._tcp.local. (TiVo Premiere)
> Thu 2011/07/28 23:28:15.078| |pool-1-thread-1|TiVoListener|resolveService: _http._tcp.local. (TiVo Premiere)
> Thu 2011/07/28 23:28:15.078| |pool-1-thread-1|TiVoListener|jmDns found TiVo: TiVo Premiere, tsn: 74600019046EF24
> Thu 2011/07/28 23:28:15.081| |pool-1-thread-1|TiVoListener|resolveService: _http._tcp.local. (TiVo Premiere)
> Thu 2011/07/28 23:28:15.081| |pool-1-thread-1|TiVoListener|jmDns found TiVo: TiVo Premiere, tsn: 74600019046EF24


But no go in Showcases. I found that if I run



> man mDNS -R "streambaby" _tivo-hme._tcp . 7290 path=/streambaby/


from a Terminal.app window, it shows up and everything works (this was the only way I was able to verify the recompile of ffmpeg was OK).

I'm not quite sure what's going wrong - any thoughts would be appreciated. At this point, I'll probably just remember to run the mDNS command manually when I restart my computer or logout/login.



> > java -version
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)


----------



## bdruth

FYI, here's the LaunchDaemon .plist I ended up creating for registering the service on computer startup.

/Library/LaunchDaemons/streambaby.tivohme.plist


> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
> <plist version="1.0">
> <dict>
> <key>Label</key>
> <string>local.tivohme.bonjour</string>
> <key>ProgramArguments</key>
> <array>
> <string>/usr/bin/dns-sd</string>
> <string>-R</string>
> <string>Streambaby</string>
> <string>_tivo-hme._tcp</string>
> <string>.</string>
> <string>7290</string>
> <string>path=/streambaby/</string>
> </array>
> <key>LowPriorityIO</key>
> <true/>
> <key>RunAtLoad</key>
> <true/>
> <key>KeepAlive</key>
> <true/>
> </dict>
> </plist>


Run this from a Terminal.app window to launch it (it'll startup automatically the next time you reboot):


> sudo launchctl load /Library/LaunchDaemons/streambaby.tivohme.plist


----------



## rhambus

BrianVeg said:


> I figured it out. WHS by default blocks all incoming connections. I created a rule in the Windows FW to allow inbound TCP connections to Port 7290 on the Private Network (LAN). Don't remember having to do that on W7.
> 
> It appears that Streambaby works great on WHS v2 or VAIL. I will post again if I find anything else.


BrianVeg,

Were you able to get it working as a service on Windows Home Server 2011 (Vail)? I opened 7290 incoming and Streambaby now works if I start it manually, but when I used the batch file to create the service, it didn't work. Did you do anything special?


----------



## tomm1079

I wanted to further organize my metadata. Right now i have all my metadata in the same folder as the video. I want to move it to a metadata folder. According to the changelog i can.

http://code.google.com/p/streambaby/wiki/ChangeLog

Anyone have any clue how i can do this? It says:
"Metadata is looked for in the same directory of the video file, or in a subdirectory of the directory where the main file is called .meta "

What does that mean "in a subdirectory of the directory where the mail file is called .meta? Windows doesnt allow you to just call a file .meta and i tried to do filename.meta and that didnt work either. Any ideas?


----------



## philipf13

I have the Streambaby on my Tivo menu. Where do I put the videos I want to stream.
Thanx,
Philip


----------



## windracer

tomm1079 said:


> What does that mean "in a subdirectory of the directory where the mail file is called .meta? Windows doesnt allow you to just call a file .meta and i tried to do filename.meta and that didnt work either. Any ideas?


You're on the right track, but in Windows you can't create the folder through Explorer. You'll need to do it from a command prompt (mkdir .meta) so it allows the leading period.

So yeah, create a .meta folder in each video directory and then drop your metadata.txt and image files into that folder.

Like Linux, Windows will hide folders that start with a dot so you won't see the folders in Explorer either, but you can type them into the address bar at the top (so, if you're in C:\Videos, just type to add \.meta at the end and press Enter and Explorer will change into that directory). It's a pain in Windows, but very doable.


----------



## windracer

philipf13 said:


> I have the Streambaby on my Tivo menu. Where do I put the videos I want to stream.


You put them in the folder(s) you specified in your streambaby.ini file.


----------



## guarh

tomm1079 said:


> if you reenable them make sure you set the IP in the config file
> 
> ip=192.168.1.37


Thanks for the tip, I had upgraded my motherboard, so new NIC with the same IP and Tivo was not able to see the streambaby server at all. After specifying the IP it's working again.
Thanks


----------



## MrGolden

tomm1079 said:


> What does that mean "in a subdirectory of the directory where the mail file is called .meta? Windows doesnt allow you to just call a file .meta and i tried to do filename.meta and that didnt work either. Any ideas?


You create a FOLDER called ".meta" inside the folder with all of your video files, then you can place all of your metadata files in the .meta folder.

Some versions of Windows or Windows Explorer won't let you create a folder (directory) beginning with period, but there are work-arounds. It's been a while since I did it, but I think I had to use the command prompt.


----------



## bradtsg

I am having some serious issues. I haven't used my Tivo and stream baby since I replaced my router back in July. I purchased an ASUS RT-N56U Wireless N router. For the life of me I can't get my desktop to show up Tivo using this router. I have tried disabling the firewall and enabling multicast. I hooked my old router back up and it still popped in my in Tivo's list. Desktop PC: Wired / Tivo is connected wireless via Tivo G adapter.


Here is my config for streambaby-svn-r262.

#
# ./streambaby --help for more configuration file options
#

quality.highestabr=384
quality.highres=1080
quality.select=true
trimextensions=true
sort.filename=true


dir.1=M:\Burned\Tv Series
dir.1.name=Desktop Videos
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.112
# port to use
#port=7290
title=Brads Videos


----------



## moyekj

Comment out the ip setting in the ini file unless you know for sure it's set to the proper IP of your computer.


----------



## bradtsg

moyekj said:


> Comment out the ip setting in the ini file unless you know for sure it's set to the proper IP of your computer.


I'll give that another shot but I think I have tried that as well. I know for sure thats my IP address from IPCONFIG and setting up a reservation for it on my router.

Does the router have to have multicast enabled? I am wondering if the firmware is buggy and even when I turn it on that its still actually off....


----------



## jamming1

Stream Baby Stream will no longer show up on my Tivo that is connected via wireless connection. I can see my other Tivo, connect to Video on Demand, transfer via Tivo Desktop and BitTorrent client.

I have reset and rebooted my router, tivo and PC. Turned off firewall on Windows machine.

Looked on the forum but didn't see anything that helped. I have no idea where to start the troubleshooting process and any help is appreciated.


----------



## xyth

If you are running it as a service under windows, did you try stopping and then restarting the StreamBaby service? Occasionally my Tivo won't see the service across my network, and the service seems to be running. A quick stop and start clears that up every time.


----------



## bradtsg

bradtsg said:


> I am having some serious issues. I haven't used my Tivo and stream baby since I replaced my router back in July. I purchased an ASUS RT-N56U Wireless N router. For the life of me I can't get my desktop to show up Tivo using this router. I have tried disabling the firewall and enabling multicast. I hooked my old router back up and it still popped in my in Tivo's list. Desktop PC: Wired / Tivo is connected wireless via Tivo G adapter.
> 
> Here is my config for streambaby-svn-r262.
> 
> #
> # ./streambaby --help for more configuration file options
> #
> 
> quality.highestabr=384
> quality.highres=1080
> quality.select=true
> trimextensions=true
> sort.filename=true
> 
> dir.1=M:\Burned\Tv Series
> dir.1.name=Desktop Videos
> # Ip address to bind to
> # most people don't need to change this.
> ip=192.168.1.112
> # port to use
> #port=7290
> title=Brads Videos


Well it ended up being router related. I rolled back the firmware then upgraded it again. I did all my settings from scratch again and it is now seeing it without any issues.


----------



## jamming1

jamming1 said:


> Stream Baby Stream will no longer show up on my Tivo that is connected via wireless connection. I can see my other Tivo, connect to Video on Demand, transfer via Tivo Desktop and BitTorrent client.
> 
> I have reset and rebooted my router, tivo and PC. Turned off firewall on Windows machine.
> 
> Looked on the forum but didn't see anything that helped. I have no idea where to start the troubleshooting process and any help is appreciated.


I put my old router back and now it works with only my Tivo WLAN adapter and wired connection. If I put my wireless bridge on and connect via wired cable it won't come up. Any thoughts?


----------



## BarryD99

I've downloaded, expanded and installed Streambaby but get the following message when I run the bat file:

"Unable to load FFmeg native libraries."

I can see there is a tar file that contains ffmeg, but I can't unzip it.

I have put my copy of ffmeg.exe in the same folder as well as adding a path in the ini file. I've tried several iterations of the path name.

Still get the same message, but Streambaby appears to be working ok with my Series 3.

Please see attachments

Do I need to do anything?

Thanks


----------



## Iluvatar

BarryD99 said:


> I've downloaded, expanded and installed Streambaby but get the following message when I run the bat file:
> 
> "Unable to load FFmeg native libraries."
> 
> I can see there is a tar file that contains ffmeg, but I can't unzip it.
> 
> I have put my copy of ffmeg.exe in the same folder as well as adding a path in the ini file. I've tried several iterations of the path name.
> 
> Still get the same message, but Streambaby appears to be working ok with my Series 3.
> 
> Please see attachments
> 
> Do I need to do anything?
> 
> Thanks


It's been awhile since I have used Streambaby but I seem to remember that being just a general notice that it can't find the default ffmpeg libraries.

It seems you have replaced them with an all in one static ffmpeg.exe and properly pointed to it so as long as everything seems good I would just ignore it.


----------



## BarryD99

Iluvatar:

Thanks for your input.


----------



## cptcrunch

I'm having some problems with meta data. I use sickbeard to download the meta data to a .meta folder within the season folder. The filename is correct video.avi.txt, however when I try to play the file, Stream Baby doesn't work. I can see the folder structure, and after I select the file I see the Please Wait... screen, and nothing else.

Here is my config file:

#
# ./streambaby --help for more configuration file options
#

dir.1=D:\TV
dir.1.name=TV
dir.2=D:\Movies
dir.2.name=Movies
dir.3=D:\News
dir.3.name=News
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290
title=1TivoStream
sort.filename=false
meta.vidinfo.disable=false
quality.select=true
quality.highestvbr=8000
use.title.cachedonly=false

I tried searching this thread and couldn't find anyone with the same problem. The videos play fine if I delete the .meta folder.

Here is the log



Code:


Initializing StreamBaby v0.29...
10/06/11 23:42:49 Listener: added factory
10/06/11 23:42:49 Main: streambaby ready & listening.
log after close : initContext version=49
10/06/11 23:42:51 Factory: HME receiver connected
java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, but class was expected        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)
at org.lobobrowser.util.gui.FontFactory.createFont_Impl(FontFactory.java
:180) at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:127)
 at org.lobobrowser.util.gui.FontFactory.getFont(FontFactory.java:98)
 at org.lobobrowser.html.style.StyleSheetRenderState.<clinit>(StyleSheetR
enderState.java:43) at org.lobobrowser.html.domimpl.NodeImpl.<clinit>(NodeImpl.java:39) at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(Docume
ntBuilderImpl.java:143) at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRender
er.java:113) at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataView
er.java:86) at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:8
4) at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScre
en.java:98) at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java
:88) at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
10/06/11 23:45:23 Listener: connection to receiver closed
10/06/11 23:45:23 Factory: HME receiver disconnected
log after close : initContext version=49
10/06/11 23:45:34 Factory: HME receiver connected
java.lang.NoClassDefFoundError: Could not initialize class org.lobobrowser.html.domimpl.HTMLDocumentImpl        at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(Docume
ntBuilderImpl.java:143)        at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRender
er.java:113)        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataView
er.java:86)        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:8
4)        at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScre
en.java:98)        at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java
:88)        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

Any advice?


----------



## windracer

What does one of your metadata files look like? My guess is that there's something in the file (maybe HTML code?) that streambaby's parser doesnt' like.


----------



## cptcrunch

Here is the meta .txt



Code:


title : Extreme Engineering
seriesTitle : Extreme Engineering
episodeTitle : The Snohvit Arctic Gas Processing Platform
episodeNumber : 1
isEpisode : true
description : Europe's first liquefied natural gas plant sits on a floating platform. The platform was transported by ship from southern Spain to the coast of Norway.
seriesId : SH566553
callsign : Discovery
originalAirDate : 2005-10-19T00:00:00Z
vActor : Joseph Giotta
starRating : 3.4
vProgramGenre : Documentary

I'll mention that SickBeard is download the metadata for the TiVo and XBMC. So I have a .meta folder and a metadata folder all in each season folder.


----------



## lpwcomp

Is there something I need to do to get Streambaby to work on a Win2K system? It comes up fine but doesn't show up on any of my TiVos.


----------



## snsumner

I tried to uses ffmpeg 0.8.5 and got the following errors when I tried to startup streambaby



Code:


Running StreamBaby...
wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Community Edition 3.3.1
wrapper  |   Copyright (C) 1999-2008 Tanuki Software, Inc.  All Rights Reserved.
wrapper  |     
wrapper  |
wrapper  | Launching a JVM...
jvm 1    | WrapperManager: Initializing...
jvm 1    | Initializing StreamBaby v0.29...
jvm 1    | WrapperSimpleApp:
jvm 1    | WrapperSimpleApp: Encountered an error running main:
jvm 1    | WrapperSimpleApp: java.lang.NoClassDefFoundError: net/sf/ffmpeg_java/v53/AVFormatLibrary
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule.initialize(FFmpegJavaVideoModule.java:117)
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.modules.VideoModuleHelper.addModule(VideoModuleHelper.java:49)
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.config.StreamBabyConfig.processModules(StreamBabyConfig.java:630)
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.config.StreamBabyConfig.processConfiguration(StreamBabyConfig.java:730)
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.config.StreamBabyConfig.readConfiguration(StreamBabyConfig.java:788)
jvm 1    | WrapperSimpleApp:    at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:71)
jvm 1    | WrapperSimpleApp:    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
jvm 1    | WrapperSimpleApp:    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
jvm 1    | WrapperSimpleApp:    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
jvm 1    | WrapperSimpleApp:    at java.lang.reflect.Method.invoke(Unknown Source)
jvm 1    | WrapperSimpleApp:    at org.tanukisoftware.wrapper.WrapperSimpleApp.run(WrapperSimpleApp.java:236)
jvm 1    | WrapperSimpleApp:    at java.lang.Thread.run(Unknown Source)
jvm 1    | WrapperSimpleApp: Caused by: java.lang.ClassNotFoundException: net.sf.ffmpeg_java.v53.AVFormatLibrary
jvm 1    | WrapperSimpleApp:    at java.net.URLClassLoader$1.run(Unknown Source)
jvm 1    | WrapperSimpleApp:    at java.security.AccessController.doPrivileged(Native Method)
jvm 1    | WrapperSimpleApp:    at java.net.URLClassLoader.findClass(Unknown Source)
jvm 1    | WrapperSimpleApp:    at java.lang.ClassLoader.loadClass(Unknown Source)
jvm 1    | WrapperSimpleApp:    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
jvm 1    | WrapperSimpleApp:    at java.lang.ClassLoader.loadClass(Unknown Source)
jvm 1    | WrapperSimpleApp:    at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:24)
jvm 1    | WrapperSimpleApp:    at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:15)
jvm 1    | WrapperSimpleApp:    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
jvm 1    | WrapperSimpleApp:    ... 12 more
wrapper  | <-- Wrapper Stopped




Code:


ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers
  built on Oct  7 2011 16:16:34 with gcc 4.5.2
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/man --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --enable-libdc1394 --enable-libgsm --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-amrwbenc --enable-libvpx --enable-libx264 --enable-runtime-cpudetect --enable-vaapi --disable-vdpau --enable-memalign-hack --enable-pthreads --enable-x11grab --enable-bzlib --enable-zlib --enable-shared --enable-static --disable-debug --extra-cflags='-I/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/include -DRUNTIME_CPUDETECT' --extra-ldflags='-L/tmp/build/tmp-ffmpeg/ffmpegdeps/usr/lib -lssl -lcrypto -lz -lusb'
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  7. 0 / 53.  7. 0
  libavformat  53.  4. 0 / 53.  4. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
ffmpeg 0.8.5
libavutil    51.  9. 1 / 51.  9. 1
libavcodec   53.  7. 0 / 53.  7. 0
libavformat  53.  4. 0 / 53.  4. 0
libavdevice  53.  1. 1 / 53.  1. 1
libavfilter   2. 23. 0 /  2. 23. 0
libswscale    2.  0. 0 /  2.  0. 0
libpostproc  51.  2. 0 / 51.  2. 0

Appears the issue is with the ffmpeg-java-sb.jar library. I suspect the developer of Streambaby need to modify it to support this version of ffmpeg. I guess I'll stay at 0.6.1 until a new version is available.


----------



## aymanme

Hi, I am running streambaby on a Linux box and I've successfully run it with both my S3 and my HD. My problem is that I can't get them _both_ to work without restarting the application. They always both show up in the Tivo menu, but one of them (I think it is the one that I access last) will pause for few seconds and then say the connection was closed before the first menu ever appears. Any ideas? I don't see anything in the logs for the failing unit. The only odd thing is that it complains about being unable to rename the "first run" or similar and the following exception (of which I am unsure of the source).
10/18/11 19:10:35 Listener: connection to receiver closed
10/18/11 19:10:35 Factory: HME receiver disconnected
10/18/11 19:10:35 Listener: Unexpected error: java.lang.NullPointerException
10/18/11 19:10:35 Listener: java.lang.NullPointerException
at javax.imageio.ImageIO.write(ImageIO.java:1523)
at com.tivo.hme.bananas.ScaledImageElement.getScaledImage(ScaledImageElement.java:115)
at com.tivo.hme.bananas.ScaledImageElement.createResource(ScaledImageElement.java:78)
at com.tivo.hme.bananas.BSkinPlus$Element.getResource(BSkinPlus.java:150)
at com.tivo.hme.bananas.BSkinPlus.get(BSkinPlus.java:112)
at com.tivo.hme.bananas.BKeyboardPlus$SkinKeyboard.<init>(BKeyboardPlus.java:1150)
at com.tivo.hme.bananas.BKeyboardPlus.<init>(BKeyboardPlus.java:127)
at com.unwiredappeal.tivo.streambaby.PasswordScreen.<init>(PasswordScreen.java:17)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.first(StreamBabyStream.java:126)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.init(StreamBabyStream.java:83)
at com.tivo.hme.bananas.BApplicationPlus.handleEvent(BApplicationPlus.java:383)
at com.unwiredappeal.tivo.streambaby.StreamBabyStream.handleEvent(StreamBabyStream.java:380)
at com.tivo.hme.sdk.HmeObject.postEvent(HmeObject.java:102)
at com.tivo.hme.sdk.Resource.postEvent(Resource.java:100)
at com.tivo.hme.sdk.Application.dispatchEvent(Application.java:827)
at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:162)
at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
at java.lang.Thread.run(Thread.java:619)

10/18/11 19:10:35 Listener: 192.168.1.45 icon.png HTTP GET - to factory /streambaby/


----------



## showpony

I run Stream Baby as a service. It has worked flawlessly in the past (well, one or 2 stop and restarts), but that has changed. And the stop and restart give me the following Error 1067 (see attached screen shot).
The streambaby.bat file runs it fine and I get it to show up on both of my tivos.

I have stopped, restarted; I have uninstalled, reinstalled, redownloaded the files and overwritten the existing files in the extras folder, all to no avail. 

Any ideas? It's the sudden stop of functionality that worries me. 
I did update my Java on my system to 1.7
Would this matter?

Thanks everyone !!


----------



## Phantom Gremlin

showpony said:


> And the stop and restart give me the following Error 1067 (see attached screen shot).


I'm not in any position to help you. However, you might get more assistance from those in the know if you did actually attach a screen shot. OTOH, maybe "Error 1067" is all the information that is needed.


----------



## showpony

Phantom Gremlin said:


> I'm not in any position to help you. However, you might get more assistance from those in the know if you did actually attach a screen shot. OTOH, maybe "Error 1067" is all the information that is needed.


Thanks. I can't seem to locate that error code anywhere. Not sure if it is java related or something else.
If anyone needs more info to try and help figure this out, just ask and I'll be happy to get it. 
Thanks everyone!


----------



## rmbeatty

I have used Streambaby for years, but now I am having trouble. I recently moved all my videos to a Synology NAS. Streambaby is installed as a service on my PC (not the NAS) I can usually watch a video on my TIVO, but then when done I go back to the main menu and there are no videos in the folder. It doesn't matter if i back all the way out of the menus, or restart the service, etc. It just dosen't come back. If i go back tomorrow or much later, it will be back. Any ideas? Thanks.


----------



## noseph

rmbeatty said:


> I have used Streambaby for years, but now I am having trouble. I recently moved all my videos to a Synology NAS. Streambaby is installed as a service on my PC (not the NAS) I can usually watch a video on my TIVO, but then when done I go back to the main menu and there are no videos in the folder. It doesn't matter if i back all the way out of the menus, or restart the service, etc. It just dosen't come back. If i go back tomorrow or much later, it will be back. Any ideas? Thanks.


I have been streaming from a Synology NAS for several years and have not had any issues. I am not running StreamBaby as a service however. As I recall I had some issues and decided it was just as easy to run StreamBaby from the Startup folder in Windows. The only issue I have run into is that if my HTPC reboots I need to run Explorer and click on the mapped drive for my videos to ensure connectivity to the NAS, once that is accomplished I can close Explorer.


----------



## TheWGP

Hrmm... let me look at this a bit more.


----------



## rfryar

Just wanted to send a note to those people who enjoy watching the Blu-Ray movies they _OWN_ on their Tivos through Streambaby (or pyTivo).

I routinely convert my Blu-Rays to MP4 at around 8M/sec video bitrates and store on my media server. This allows me to watch all my HD movies on one of my many HD Tivos.

Recently I reencoded a movie that contains Cinavid audio protection. For those unfamiliar this is an encoding on the audio tracks of a movie. Well it seems that the Tivo Premiere blocks this stream.

Worse is that when it blocks it completely breaks the YouTube streaming that the Tivo uses, and if you try to push/pull the video to the Tivo, it continually downloads the first byte and never stops until you reboot.

So I just wanted to let those people be aware not to try to transfer a Cinavid show to the Tivo or you will have to reboot the device.

Rick


----------



## jcthorne

Currnet versions of AnyDVD properly decodes Cinevid encoded audio when you recode for Tivo.


----------



## noseph

I believe that the current version of DVDFab Blu-ray Ripper also decodes correctly.


----------



## dredwing

cptcrunch said:


> I'm having some problems with meta data. I use sickbeard to download the meta data to a .meta folder within the season folder. The filename is correct video.avi.txt, however when I try to play the file, Stream Baby doesn't work. I can see the folder structure, and after I select the file I see the Please Wait... screen, and nothing else.
> ...
> 
> Any advice?


Which version of java are you using?

Initially, I hadn't noticed that your message reports the same exception I was getting. It appears that the current version of Streambaby (or one of the libraries it uses) is not compatible with the most recent version of java.

This is while running under Windows 7 Pro, 64 bit (with 32 bit JRE). In case this is relevant, the video files are mpeg2 (downloaded from Tivo, and run through TiVoDecode via kmttg), and metadata is in the corresponding *.mpg.txt files created by kmttg.

With


> java version "1.6.0_29"
> Java(TM) SE Runtime Environment (build 1.6.0_29-b11)
> Java HotSpot(TM) Client VM (build 20.4-b02, mixed mode, sharing)


Streambaby is working OK for me.

With


> java version "1.7.0"
> Java(TM) SE Runtime Environment (build 1.7.0-b147)
> Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode, sharing)


Streambaby fails when attempting to display program information. I can select streambaby from the "Music, Photos and Showcases" screen, select the directory corresponding to dir.1, navigate to various show folders, and see the episodes available for each show. When one of the available episodes is selected, the TiVo displays the standard "Please Wait ..." graphic and hangs, while on the PC, the following exception is thrown:



Code:


java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, but class was expected

        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)
        at org.lobobrowser.util.gui.FontFactory.createFont_Impl(FontFactory.java:180)
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:127)
        at org.lobobrowser.util.gui.FontFactory.getFont(FontFactory.java:98)
        at org.lobobrowser.html.style.StyleSheetRenderState.<clinit>(StyleSheetRenderState.java:43)
        at org.lobobrowser.html.domimpl.NodeImpl.<clinit>(NodeImpl.java:39)
        at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(DocumentBuilderImpl.java:143)
        at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRenderer.java:113)
        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataViewer.java:86)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:84)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScreen.java:98)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java:88)
        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

The exception info is displayed in the console, but not captured in the streambaby.log file.

More specifically, it does seem to be the processing of metadata (while using java 7) that causes the problem. Cptcrunch had indicated that the video played correctly if the meta directory was deleted. Currently, my metadata files are in the same directory as the mpg file, but when I renamed one of the *.mpg.txt files, I was also able to select and then stream the corresponding video (but without the description, original air date, etc.) Selecting one of the videos for which the *.mpg.txt file was present resulted in the "Please wait ..." message on TiVo and the above exception (while using Java 7).

I have no idea whether this is due more to a problem with streambaby or with java 7, but it does appear that staying with java 6 avoids the problem for now.


----------



## Phantom Gremlin

jcthorne said:


> Currnet versions of AnyDVD properly decodes Cinevid encoded audio when you recode for Tivo.





noseph said:


> I believe that the current version of DVDFab Blu-ray Ripper also decodes correctly.


I've only been following the general story about Cinavia, not the details. However, it's not a question of "decoding", that's not the nature of the scheme.

*Cinavia stops audio playback* when it detects the embedded copy protection information in it. *So far there is no crack.* The only solution is to play back the audio on a device that does not enforce this copy protection. Here is a long AVS Forum thread about it. And here is a Wiki article about it.


----------



## karaokemedia

Hi, i am starting with streambaby but i can't find the source code to build an Eclipse Project. Could someone help me?

Thanks!!


----------



## c_franklin

http://code.google.com/p/streambaby/source/checkout


----------



## karaokemedia

Thank you!!
Now i am trying to run it but I need to get the org.eclipse.ui.actionSets extension, and, again, I can't find it. 
I am reading that i have to create an extension point, but i am a bit lost still....


----------



## jcthorne

Phantom Gremlin said:


> I've only been following the general story about Cinavia, not the details. However, it's not a question of "decoding", that's not the nature of the scheme.
> 
> *Cinavia stops audio playback* when it detects the embedded copy protection information in it. *So far there is no crack.* The only solution is to play back the audio on a device that does not enforce this copy protection. Here is a long AVS Forum thread about it. And here is a Wiki article about it.


All I can report is that I have ripped a number of BR disks on that list, recoded them to mp4 and pushed them to my tivo Premiere. They play fine. Have I just been lucky? Can you point to a specific example where this effects tivo?

Is this even a problem for Tivo? from reading through the thread, it mostly effects BR players with new firmware to disable your ability to actually play disks. Yet one more reason to NOT own a BR player with big brother deciding what I can watch.


----------



## Phantom Gremlin

jcthorne said:


> All I can report is that I have ripped a number of BR disks on that list, recoded them to mp4 and pushed them to my tivo Premiere. They play fine. Have I just been lucky? Can you point to a specific example where this effects tivo?


You can "rip" all you want. Cinavia does nothing to prevent ripping. But the insidious aspect of this DRM is it's very robust, and will easily survive transcoding the audio.

No, I don't have any examples. It was rfryar who reported problems.



> Is this even a problem for Tivo? from reading through the thread, it mostly effects BR players with new firmware to disable your ability to actually play disks. Yet one more reason to NOT own a BR player with big brother deciding what I can watch.


That's right, the DRM works by disabling audio. But to do this, it requires special firmware/hardware to monitor the audio stream and search for the Cinavia watermarking. I personally doubt that TiVo would have gone out of their way to include that. But maybe the Broadcom SOC being used by TiVo in the Premiere has that feature built in.

But it doesn't make much sense for Broadcom to put Cinavia hardware into an SOC that isn't for a blu-ray player. I've lived the SOC business from the design end, and fighting die size constraints is an ongoing struggle. Circuits don't get put in just because someone thinks it may be nice to have them. They only get added for very sound business reasons.

Edit: I wonder if it's the new *TiVo Premiere Elite* that has Cinavia hardware in it? It appears to use a newer Broadcom chip.


----------



## rfryar

Basically what I had was the first cinavid movie I ever transcoded failed and caused my Tivo to reboot. What I tracked it down to was an invalid video stream instead of the Cinavid encoding. 

So I was mistaken, the audio plays just fine. 

Rick


----------



## Phantom Gremlin

rfryar said:


> So I was mistaken, the audio plays just fine.


That's good to hear. We've all made mistakes. Thanks for coming back and reporting what happened.

In the meantime, we all had a little fun going into a minor panic.


----------



## theroar

Any way to select a different audio stream? Divx file. 

I found where someone else asked... but I could never find a answer.

Thanks. Stream baby rox! If only I could get to to talk to my WD TV Live as well! =)


----------



## jtclark

I may be mistaken, but it looks as though the latest software update (14.9) on my Premiere fixed the bug for streaming less than 720 video.

It looks as though 1280x544 streams correctly now, but maybe it's too early to focus without coffee...


----------



## rfryar

theroar said:


> Any way to select a different audio stream? Divx file.
> 
> I found where someone else asked... but I could never find a answer.
> 
> Thanks. Stream baby rox! If only I could get to to talk to my WD TV Live as well! =)


Streambaby just uses the first audio found. There is no way to select which audio stream to use.

Rick


----------



## whynotthisname

Hi,

I too am having problems with ffmpeg 0.8.5 on a fresh install of streambaby on linux (fedora 16 Vortexbox).

It seems like Issue 74:	OpenJDK 1.6.0_22 Looking for FFMPEG v53 on the google code site and the posting Streambaby 0.29 not support ffmpeg 0.8.5 above, both describe the problem I am having.

Any suggestions?

Thanks


----------



## jgantert

whynotthisname said:


> Hi,
> 
> I too am having problems with ffmpeg 0.8.5 on a fresh install of streambaby on linux (fedora 16 Vortexbox).
> 
> It seems like Issue 74:	OpenJDK 1.6.0_22 Looking for FFMPEG v53 on the google code site and the posting Streambaby 0.29 not support ffmpeg 0.8.5 above, both describe the problem I am having.
> 
> Any suggestions?
> 
> Thanks


Remove the development packages libavutil-dev libavcodec-dev libavformat-dev libavdevice-dev libavfilter-dev libswscale-dev libpostproc-dev

You should be able to run and transcode the video but without thumbnails.

Initializing StreamBaby v0.29...
12/14/11 11:27:55 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
12/14/11 11:27:56 Listener: added factory
12/14/11 11:27:56 Main: streambaby ready & listening.

-John


----------



## whynotthisname

Hi,

Thanks for the reply suggesting removal of the development packages. I am confused. I don't know how to do that.

In preparation for installing streambaby on my fedora/vortexbox, I did a yum install of java, and a yum install of ffmpeg (that's where I got the latest versions). Then I downloaded streambaby 0.29 and installed. (This worked great on an older vortebox install).

I'm happy to remove the dev packages but I don't see them in the ffmpeg directory or the streambaby directory.

Suggestions? 

Thanks


----------



## jgantert

whynotthisname said:


> Hi,
> 
> Thanks for the reply suggesting removal of the development packages. I am confused. I don't know how to do that.
> 
> In preparation for installing streambaby on my fedora/vortexbox, I did a yum install of java, and a yum install of ffmpeg (that's where I got the latest versions). Then I downloaded streambaby 0.29 and installed. (This worked great on an older vortebox install).
> 
> I'm happy to remove the dev packages but I don't see them in the ffmpeg directory or the streambaby directory.
> 
> Suggestions?
> 
> Thanks


Not sure off the top of my head, but another member posted an easier solution, which you might want to try first...

Edit the streambaby.ini file and add the line:

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false


----------



## whynotthisname

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false

solved my problem 

Streambaby working (again)


Thanks


----------



## MarkSly

I've searched all through this thread, but I haven't figure out if anyone is having the problem I'm seeing...

I have a few videos (BD rips) that will play video just fine (including subtitles), but no audio is playing.

When I take the movie (mp4 format - MPEG-4 AVC video with stereo or 5.1 AAC mp4a audio) and push it to the TiVo with the Desktop Plus software, the video and audio play just fine. (This suggests to me that there is no Cinavia blocking problem in this movie as an earlier set of posts discussed.)

But no matter what I try, the streaming with audio isn't working. I need to view this (foreign) film with subtitles, so streaming is the only way I know to make it work, but I still want the audio.

Any ideas, anyone?

-MarkSly


----------



## Iluvatar

MarkSly said:


> I've searched all through this thread, but I haven't figure out if anyone is having the problem I'm seeing...
> 
> I have a few videos (BD rips) that will play video just fine (including subtitles), but no audio is playing.
> 
> When I take the movie (mp4 format - MPEG-4 AVC video with stereo or 5.1 AAC mp4a audio) and push it to the TiVo with the Desktop Plus software, the video and audio play just fine. (This suggests to me that there is no Cinavia blocking problem in this movie as an earlier set of posts discussed.)
> 
> But no matter what I try, the streaming with audio isn't working. I need to view this (foreign) film with subtitles, so streaming is the only way I know to make it work, but I still want the audio.
> 
> Any ideas, anyone?
> 
> -MarkSly


TiVo won't work with AAC 5.1 anyways but have you tried to transcode the audio into AC3? You can maintain the surround and may fix problems by transcoding the audio and remuxing the file.

Does your file contain both AAC5.1 and Stereo at the same time?


----------



## MarkSly

Iluvatar said:


> TiVo won't work with AAC 5.1 anyways but have you tried to transcode the audio into AC3? You can maintain the surround and may fix problems by transcoding the audio and remuxing the file.
> 
> Does your file contain both AAC5.1 and Stereo at the same time?


The Main movie I'm trying to play has two audio tracks: (below is the description from VLC)

Stream 1
Type: Audio
Codec: MPEG AAC Audio (mp4a)
Language: 日本語 (Japanese)
Channels: Stereo
Sample Rate 48000 Hz
Stream 2
Type: Audio
Codec: MPEG AAC Audio (mp4a)
Language: 日本語 (Japanese)
Channels: 2
Sample Rate 48000 Hz
 Bits per sample: 16
Bitrate: 1536 kb/s

So from what I can tell (and that VLC is accurate), I have two non-surround audio tracks in the video.

It just really confuses me why the audio plays OK when I push the video to the Tivo, but does not play audio when streamed.

I suppose that Streambaby only sends track 1, and perhaps the TiVo doesn't understand the encoding on it and uses track two on the copy on the TiVo hard drive.

I'll try playing around with it -- I'll see if I can create a version without track 1 (move track 2 to track 1 and leave only one audio stream.) I'll also try transcoding to AC3.

-MarkSly


----------



## MarkSly

Yay! that worked!

I demuxed the streams with "My MP4Box GUI" , then re-muxed just the video and the 2-channel audio (didn't even transcode file) into a new mp4 video. Everything is running great now. 

I now have high-definition video, audio, and subtitles! 

Thanks for your help.

-MarkSly


----------



## ebf

Hi all. I've been using Streambaby for ages. I love it, but these 0xFFFF errors are driving my crazy. They occur randomly and I have to just wait it out before they go away. I've searched the thread, but I can't find an answer. Can someone give me the definitive fix for this error? I'm version 0.29 on a TiVo HD XL with OS 11.0k-01-2-658.

Thanks.


----------



## mbagshaw

Having now spent several hours trawling through this long thread, I see that the increasingly desperate voices of Australian TiVo users seem to die out late in 2009. Unless I have missed something reading later posts, I suspect the answer to my question "has anyone found a solution to the 0xffff problem that prevents Australian TiVo devices working with Streambaby?" will be "No". True?


----------



## ebf

mbagshaw said:


> Having now spent several hours trawling through this long thread, I see that the increasingly desperate voices of Australian TiVo users seem to die out late in 2009. Unless I have missed something reading later posts, I suspect the answer to my question "has anyone found a solution to the 0xffff problem that prevents Australian TiVo devices working with Streambaby?" will be "No". True?


As you can see from my post right above yours, the 0xFFFF problem has been around long before the Aussies got the TiVo. I think the complains have died down as folks have given up. I wish there was more active work on a solution.


----------



## Allshookup

I have been following this thread for a few months as I used to stream from my iMac OSX (10.6 Snow Leopard) without any problems but after the OSX (10.7 Lion) upgrade I can not stream from my iMac with pyTivoX. I have tried to uninstall and reinstall it, I have tried most of the "hacks" listed in the thread but nothing has worked. I can get the Channel listed and even see the videos that are on my iMac listed but when I click to play it fails. Is there any one who is using pyTivoX 1.3 or beta and it is working on OSX Lion? If so could you please explain step by step how you were able to get it working. 
Thanks for any help I can get.


----------



## treat2day

ebf said:


> Hi all. I've been using Streambaby for ages. I love it, but these 0xFFFF errors are driving my crazy. They occur randomly and I have to just wait it out before they go away. I've searched the thread, but I can't find an answer. Can someone give me the definitive fix for this error? I'm version 0.29 on a TiVo HD XL with OS 11.0k-01-2-658.
> 
> Thanks.


Restarting the tivo under the help menu should clear it up. 
I see the 0xfffff error ever so often when trying to stream


----------



## ebf

treat2day said:


> Restarting the tivo under the help menu should clear it up.
> I see the 0xfffff error ever so often when trying to stream


Thanks for the tip, treat2day, but I know that. I want to know the actual cause and how to keep it from happening. It happens at least once a week. I just wait it out as I think restarting the TiVo is akin to pulling the plug on a live computer.


----------



## jy3

I'm having problems getting Streambaby up and running on my Tivos.
I can navigate to the Streambaby folder from any other computer on the network(http://192.168.1.101:7299/streambaby/folder.png),
but the menu item doesn't show up on any of the Tivos.

Anyone else have or had this issue with Ubuntu? I've managed to get a copy working from a Windows XP laptop, but no dice with the Ubuntu box.

Any help would be appreciated. Transferring massive files over PyTivo is killing my free space, and I'd like to start streaming directly

Thanks,
Jim


----------



## aymanme

I've got it working from a debian box (upon with Ubuntu is based). It works fine to both my tivos. However, the startup scripts that are floating around did not seem to work reliably for me. Here is my streambaby.ini (which I keep with the streambaby tree in /usr/local/streambaby/) My box is dual honed so I do bind to an IP ...

Can you telnet to the port from say your windows pc? i.e. 
telnet <your ubuntu box> 7290 
You want to do it from another machine to make sure you can get to the port from outside the serving machine.

dir.1=/data/shared/movies
dir.1.name=Movies
dir.2=/data/shared/kid_movies
dir.2.name=Kid's Movies
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
# most people don't need to change this. 
ip=192.168.1.10
# port to use
port=7290


----------



## jy3

aymanme said:


> I've got it working from a debian box (upon with Ubuntu is based). It works fine to both my tivos. However, the startup scripts that are floating around did not seem to work reliably for me. Here is my streambaby.ini (which I keep with the streambaby tree in /usr/local/streambaby/) My box is dual honed so I do bind to an IP ...
> 
> Can you telnet to the port from say your windows pc? i.e.
> telnet <your ubuntu box> 7290
> You want to do it from another machine to make sure you can get to the port from outside the serving machine.
> 
> dir.1=/data/shared/movies
> dir.1.name=Movies
> dir.2=/data/shared/kid_movies
> dir.2.name=Kid's Movies
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> # most people don't need to change this.
> ip=192.168.1.10
> # port to use
> port=7290


I can get to it from a browser(Windows XP box), but not telnet.


----------



## AZrob

Hi,

Has anyone seen this issue? I can see the subtitles, but half the time the words are black on a black background...so they are undecipherable. This can vary from moment to moment so that one set are good, then the next are bad, then the next are good again. I can't see anything odd in the SRT file. 

I would appreciate any help,

thanks,

Rob from AZ


----------



## moyekj

AZrob said:


> Hi,
> 
> Has anyone seen this issue? I can see the subtitles, but half the time the words are black on a black background...so they are undecipherable. This can vary from moment to moment so that one set are good, then the next are bad, then the next are good again. I can't see anything odd in the SRT file.
> 
> I would appreciate any help,
> 
> thanks,
> 
> Rob from AZ


Yes if you have a series 4 with 20.2 software it introduced an issue with HME backgrounds and transparency. You can fix the issue as follows:
Install latest version of streambaby which has a bunch of new cc options:
http://streambaby.googlecode.com/files/streambaby-20111203-2132.zip

Add following to streambaby.ini (to disable transparency):
cc.background.transparency=0

To see all the cc options available consult the Wiki:
http://code.google.com/p/streambaby/wiki/StreamBabyIni


----------



## wmcbrine

moyekj said:


> Yes if you have a series 4 with 20.2 software it introduced an issue with HME backgrounds and transparency.


Could you elaborate on this? Maybe in the HME Dev section.


----------



## moyekj

wmcbrine said:


> Could you elaborate on this? Maybe in the HME Dev section.


http://www.tivocommunity.com/tivo-vb/showthread.php?t=481529


----------



## aymanme

jy3 said:


> I can get to it from a browser(Windows XP box), but not telnet.


Not sure I follow that .... The browser you refer to (I think) means that you are just looking at the shared folder. That probably works fine since you have samba on your ubuntu box. But from your pc (windows) can you open the command line and type "telnet <linux> 7290" and have it not give you an error? If so, then at least your linux box is listening on the proper port.


----------



## jy3

aymanme said:


> Not sure I follow that .... The browser you refer to (I think) means that you are just looking at the shared folder. That probably works fine since you have samba on your ubuntu box. But from your pc (windows) can you open the command line and type "telnet <linux> 7290" and have it not give you an error? If so, then at least your linux box is listening on the proper port.


Changed routers, and finally got everything working


----------



## pixelpusher220

Just starting to work with StreamBaby and was getting this error:

01/16/12 23:06:13 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,Stream, Baby, Stream] port=7290
Jan 16, 2012 11:06:14 PM javax.jmdns.impl.tasks.Prober run
WARNING: run() exception
java.net.SocketException: Invalid argument: Datagram send failed

Running 0.29 SB and McAfee Firewall 12.0.

Ended up needing to turn on 'Enable UDP Tracking' before it could successfully find the Tivo.


----------



## xcalibr

Getting this error:

Initializing StreamBaby v20111203-2132...
2012-01-16 22:53:15.593 java[27822:1f07] Error loading /Library/ScriptingAdditions/24U Appearance OSAX.osax/Contents/MacOS/24U Appearance OSAX: dlopen(/Library/ScriptingAdditions/24U Appearance OSAX.osax/Contents/MacOS/24U Appearance OSAX, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/24U Appearance OSAX.osax/Contents/MacOS/24U Appearance OSAX: mach-o, but wrong architecture
java: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/24U Appearance OSAX.osax" declares no loadable handlers.

Any suggestions? I'm running Lion on a new iMac.

Thank you.


----------



## Bernar

I have developing a system using TIVO, with HME Software development kit and HME Simulator. I couldn't use video streaming and then i download StremBaby but even i can't see videos throw the sample.I can view the black screen and a counter but i can't see the video with that simulator. 
The problem is StreamBaby or the simulator. In case the problem is the simulator.. Is there another simulator what i can use ?
Thanks


----------



## wmcbrine

Streaming video is way beyond what the simulator can do. Your only appropriate alternative is to get a real TiVo to test with. You need one anyway; the simulator doesn't cut it.

Oh, and video streaming requires a Series 3 or 4 TiVo. The simulator basically emulates a Series 2, although even there, the real one is different enough that you need to test with a real one.

There are modified versions of the simulator that do HD (but still not video), which the stock one does not, IIRC. You will almost certainly want to use HD in your app(s).


----------



## jpascone

I am pretty Savvy and for the life of me don't know what the dealio is. Have a solid connection from both devices to my wireless G network and my machine is speedy enough. Last night the streaming speed was incredible, today no love at all, unusable. I have tried lowering the quality rate, from SAME all the way to VERY LOW. Ne help would be appreciated.
Thanks!
JP

Tivo Series 3
Latest/Greatest StreamBaby


----------



## ShinySteelRobot

Allshookup said:


> after the OSX (10.7 Lion) upgrade I can not stream from my iMac with pyTivoX. I have tried to uninstall and reinstall it, I have tried most of the "hacks" listed in the thread but nothing has worked.


I'm new to Streambaby but got it working under Lion. The steps I followed are here, takes about 10 minutes:
http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/

I'm not using pyTivoX since that seems really really really out of date.


----------



## cbharmon

I'm stumped here. Does anyone know why some of my MP4s show the artwork/cast/description while others don't?

It seems that Blu-ray MKVs converted to MP4s in Handbrake do not display the metadata (even after running them through Identify and iVI Pro.)

DVDs converted to MP4s in iVI Pro display the metadata just fine.


----------



## tdoane

I've run into an issue that I am rather stumped by. When I stream videos from my server to Tivo there is no encoding that takes place. When I use the push option, it pushes as one would expect and is watchable without a hitch. However, once it gets to the end of the push, the file disappears from the Tivo even while I'm watching it. Almost feels like Tivo is expecting something on the tail end of the file and when it isn't it deletes it. Any thoughts -- would like to figure this out as I'm not a real fan of the restreaming that takes place every 15-20 mins with the high def material.

I've included the two .bat programs I use to encode -- the HD versions are listed below. I down-sample using eac3to, to ensure it's 448k and only include the video/audio stream in the .ts. Any thoughts recommendations, ridicule would be most welcome!

-Tim

*startConvert.bat*
for %%i IN (*.ts) DO (doConvert.bat "%%i")
pause

*doConvert.bat*
IF EXIST %%1.mp4 GOTO exit
@echo  >> %1_convert.log
@echo Conversion for %1 started on %DATE% %TIME% >> %1convert.log
ffmpeg -y -i %1 -acodec copy -vcodec libx264 -level 41 -b 9000k -refs 3 -threads 4 -flags2 +mixed_refs+wpred+bpyramid+dct8x8-fastpskip -bf 3 -me_method umh -subq 9 -me_range 16 -qmin 10 -qmax 50 -g 24 -keyint_min 2 -f mp4 %1.mp4
@echo  DONE  SUCCESS - >> %1convert.log
:exit
@echo  >> %1convert.log
@echo %1.vob already exists >> %1convert.log


----------



## mstilwell

I've installed a new Netgear WNCE3001 Dual Band Wireless adapter using the wireless 'N' band, since doing this I cannot see streambaby on the Tivo. It shows up when I switch back to the Logittech squeezebox classic which I was using as a bridge. I've tried all setting that I can get to but don't understand what could be blocking the Tivo from seeing HME app. I can post debug data if it would help but I couldn't see any issues there. Anybody have any idea's?


----------



## Iluvatar

tdoane said:


> I've run into an issue that I am rather stumped by. When I stream videos from my server to Tivo there is no encoding that takes place. When I use the push option, it pushes as one would expect and is watchable without a hitch. However, once it gets to the end of the push, the file disappears from the Tivo even while I'm watching it. Almost feels like Tivo is expecting something on the tail end of the file and when it isn't it deletes it. Any thoughts -- would like to figure this out as I'm not a real fan of the restreaming that takes place every 15-20 mins with the high def material.
> 
> I've included the two .bat programs I use to encode -- the HD versions are listed below. I down-sample using eac3to, to ensure it's 448k and only include the video/audio stream in the .ts. Any thoughts recommendations, ridicule would be most welcome!
> 
> -Tim
> 
> *startConvert.bat*
> for %%i IN (*.ts) DO (doConvert.bat "%%i")
> pause
> 
> *doConvert.bat*
> IF EXIST %%1.mp4 GOTO exit
> @echo  >> %1_convert.log
> @echo Conversion for %1 started on %DATE% %TIME% >> %1convert.log
> ffmpeg -y -i %1 -acodec copy -vcodec libx264 -level 41 -b 9000k -refs 3 -threads 4 -flags2 +mixed_refs+wpred+bpyramid+dct8x8-fastpskip -bf 3 -me_method umh -subq 9 -me_range 16 -qmin 10 -qmax 50 -g 24 -keyint_min 2 -f mp4 %1.mp4
> @echo  DONE  SUCCESS - >> %1convert.log
> :exit
> @echo  >> %1convert.log
> @echo %1.vob already exists >> %1convert.log


It's not really not possible to know 100% why a file is being kicked off from the TiVo. There is just something it doesn't like. If you only use the push function of streambaby then I would move to pyTivo which is what the push function is based on and is actively developed and supported.

Windows Install instructions:

http://pytivo.sourceforge.net/wiki/index.php/Windows_Install


----------



## tdoane

I moved from Pytivo to Streambaby when i converted all the files to MP4. I'm hoping with the new HME kit Tivo has in the works we'll have something more native for streaming in the works.


----------



## ebf

I started a new thread looking for a solution to stretched mp4s. Anyone have a solution to get scene mp4s to display correctly? It is going to be a growing problem, for me at least. Any help is greatly appreciated.



> Due to recent Scene rule changes, they are now creating x264 mp4 releases. Eventually, avi's will go away.


----------



## moyekj

Since you say transferring with pyTivo solves the problem (because it's transcoding to mpeg2) you can have streambaby do the same:
In program details change Quality from "Same" to "Low" which will force streambaby to transcode to mpeg2.

If the quality degradation is too great for the above you can add following to streambaby.ini to force streambaby to transcode all videos (at same quality level):
transcode.force=true


----------



## ebf

moyekj said:


> Since you say transferring with pyTivo solves the problem (because it's transcoding to mpeg2) you can have streambaby do the same:
> In program details change Quality from "Same" to "Low" which will force streambaby to transcode to mpeg2.
> 
> If the quality degradation is too great for the above you can add following to streambaby.ini to force streambaby to transcode all videos (at same quality level):
> transcode.force=true


Thanks, moyekj. Just switching to "low" works!! But, as you predicted, the quality is not great. I tried adding transcode.force=true to my ini and restarting the Streambaby service, but playing the video at "same" or "medium" results in stretched display again. Maybe transcode.force=true is not working??


----------



## ebf

So, since transcode.force=true didn't work, I went back to the Streambaby ini options and tried mp4mod.streamformats.disallow=mp4,*,*. That seems to be forcing all mp4s to be transcoded without stretching and at an acceptable display!

So, moyekj, does mp4mod.streamformats.disallow seem like the next best option or could I be setting myself up for more problems?

Now, if only I could fix the 0xffff errors!


----------



## moyekj

Whatever it takes to force transcoding - above setting seems to be good option. Note that the real problem is TiVo HD decoder is terrible at dealing with non-typical H.264 resolutions. Series 4 improved on H.264 decoding considerably. By forcing transcoding you are getting the mpeg2 decoder which deals with non-typical resolutions much better.


----------



## ebf

OK, great. So, will these settings do anything odd to streams to my Premier? (Yes, I'm being lazy. I could head downstairs to test it myself!) Thanks again for pointing me in the right direction.


----------



## rfryar

ebf said:


> OK, great. So, will these settings do anything odd to streams to my Premier? (Yes, I'm being lazy. I could head downstairs to test it myself!) Thanks again for pointing me in the right direction.


Can you point me to a URL for the MP4 you have having trouble with so I can get a copy. I will see if I have issues on my TiVos and if I do I will determine a quick FFMpeg script to fix it.

Having the setting in your Streambaby to always reencode the shows is not a good long term setting as HD MP4s may not be able to be encoded in real time. You may not care about those shows now, but you may down the road.

Rick


----------



## ebf

rfryar said:


> Can you point me to a URL for the MP4 you have having trouble with so I can get a copy. I will see if I have issues on my TiVos and if I do I will determine a quick FFMpeg script to fix it.
> 
> Having the setting in your Streambaby to always reencode the shows is not a good long term setting as HD MP4s may not be able to be encoded in real time. You may not care about those shows now, but you may down the road.
> 
> Rick


Yes, the encoding is slower. Thanks for offering to look into it. I'll PM you some links.


----------



## jonbig

What steps should I take to debug why my streambaby instance has stopped appearing in my TiVo's "Showcases & Apps" menu?


----------



## ignavia

jonbig said:


> What steps should I take to debug why my streambaby instance has stopped appearing in my TiVo's "Showcases & Apps" menu?


First thing I'd do is restart the app. I spent half an hour one night trying to troubleshoot network connectivity when all it needed was an app restart.


----------



## moxyman

Hi all. I created a post for this and then found this thread. I figured this may be a better place to get help.

I am running WHS2011 on my network and I cant seem to get stream baby (0.29 plus additional CC config options) to work on my Premiere Elite (software version: 20.2-01-2-758). When I first installed it back in January, it worked for a week or so, and then it just stopped. When I clicked on the streambaby service I got an error that it couldn't start.

Then last week I had to reinstall WHS2011 on my server. So once i got it all up and running again I installed streambaby (and java) again. I ran the bat file and it said there was a problem with my FFmpeg (i belive) so i added the suggest line "com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false" to the .ini file. At that point the it said the service was running and i could see "StreamBabyStream" on my tivo.

But when i went to start it my tivo just remained at the "PLEASE WAIT SCREEN" until I eventually exited. I ran the bat again the next day (and i haven't installed it as a service yet) but it says its "ready and listening" and i no longer get the FFMpeg error:










However "Stream Baby Stream" doesnt show up on my Premiere Elite anymore. So again the tivo isnt seeing streambaby. I have tried changing the title in the .ino to see if a change would somehow reset it but that hasnt worked.

I dont know if its a problem with WHS2011, or Tivo, or even my router. But i dont understand why it worked for a while then stopped, and then sort of worked, and now doesnt work at all when I havent changed anything on my end. I am very much a noob to all this so im hoping somebody here has faced this problem and can help or point me in the right direction. Any help would be truly appreciated. I tried to give all the info I thought would help and also included my streambaby .ini info below if that will help.

Thanks guys!

---------INI FILE---------------
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false

dir.1=d:\ServerFolders\Videos
dir.1.name=My Videos

title=Erics Server

tivo.username=(myemail)
tivo.password=(mypassword)


----------



## Hcour

I'd like to uninstall this program. Can I just delete the folder or does something else need to be done? Thanks.

Anyone? Bueller? Bueller?


----------



## rfryar

Hcour said:


> I'd like to uninstall this program. Can I just delete the folder or does something else need to be done? Thanks.
> 
> Anyone? Bueller? Bueller?


If you installed it to run as a service you need to uninstall the service. Look under the extra directory to find the appropriate script to run depending on your environment.

After uninstalling the service (If you installed it to begin with), you are free to just delete the directory streambaby lives in.

Rick


----------



## rfryar

Ok, I have been using Streambaby forever, but just upgraded my HTPC and installed Win 7 64 bit this time around. I have Java 64 bit and Streambaby is running with the batch file (When I run it as Admin).

The only issue with this install is I do not get Native FFMPEG, which for me is fine as almost all my videos are Tivo compatible MP4s anyways. To resolve this I think I need to run using 32 bit Java, but I will cross that bridge later.

My major issue is I can not get this to run as a service. Has anyone gotten the Wrapper to work under windows 7 64 bit? 

Any hints on the direction I can take?

I tried to use "yajsw" instead of the default "wrapper" but StreamBaby does not quite start up using the yajsw conf that is generated. I think it can not find the .ini file when it runs or something.

Any help would be appreciated.

Rick


----------



## noseph

rfryar said:


> Ok, I have been using Streambaby forever, but just upgraded my HTPC and installed Win 7 64 bit this time around. I have Java 64 bit and Streambaby is running with the batch file (When I run it as Admin).
> 
> The only issue with this install is I do not get Native FFMPEG, which for me is fine as almost all my videos are Tivo compatible MP4s anyways. To resolve this I think I need to run using 32 bit Java, but I will cross that bridge later.
> 
> My major issue is I can not get this to run as a service. Has anyone gotten the Wrapper to work under windows 7 64 bit?
> 
> Any hints on the direction I can take?
> 
> I tried to use "yajsw" instead of the default "wrapper" but StreamBaby does not quite start up using the yajsw conf that is generated. I think it can not find the .ini file when it runs or something.
> 
> Any help would be appreciated.
> 
> Rick


I gave up trying to get StreamBaby to run as a service under Win7 and just run it from a shortcut to the batch file in Startup.


----------



## rfryar

noseph said:


> I gave up trying to get StreamBaby to run as a service under Win7 and just run it from a shortcut to the batch file in Startup.


Last night I also gave up and used a scheduled task. That way I can hide the command prompt window and ensure it starts up with out a user logging in.

Disappointing that it is no longer able to be run as a service under 64 bit, but at least this is a partial solution.

Rick


----------



## emkorial

I tried Streambaby and had issues. Whnever there was a scene in a movie with a sudden loud sound (like an explosion or something) the sound would crackle and die on my Tivo, until I rewound the video a few secs and played it again. Also, after about 20 or so minutes, Streambaby crashed my Tivo and it rebooted. 

Any ideas why that would happen? I have a TivoHD


----------



## rfryar

emkorial said:


> I tried Streambaby and had issues. Whnever there was a scene in a movie with a sudden loud sound (like an explosion or something) the sound would crackle and die on my Tivo, until I rewound the video a few secs and played it again. Also, after about 20 or so minutes, Streambaby crashed my Tivo and it rebooted.


Can you post the video details using MediaInfo or similar tool. Most likely it is an audio codec or bitrate not completely supported by the TiVo. If there is a loud noise it may be exceeding the audio bitrate the TiVo can handle and it fails or worse reboots.

Rick


----------



## Thomaseo1

Hello I've been using Stream baby for the better part of 1.5 years. Recently I created media data using metaGenerator for my movies and TV shows to stream including things like titles descriptions and subtitles etc... I am running into a few problems finding options for some settings. First is getting the mpaaRating to display onto the tivo like the description does.

Here is an example of a info file
Filename:"Avatar [2009].avi.txt"


Code:


title : Avatar Extended Additional Directors Cut
movieYear : 2009
description : Disabled Marine Jake Sully travels to planet Pandora...
isEpisode : false
starRating : x6
mpaaRating : P3
vProgramGenre : Sci-Fi & Fantasy
vProgramGenre : Action Sci-Fi & Fantasy
vProgramGenre : Alien Sci-Fi
vProgramGenre : Sci-Fi Adventure
vDirector : James Cameron|
vActor : Sam Worthington|
vActor : Zoe Saldana|
image : Avatar [2009].avi.jpg

I found that the "tivo-pyxml.xsl" file references mpaaRating but I don't know much about xml.

Another problem I have run into is I want the title of the movie or episode to be the file name since I have my media renamed with fileBot and are now properly sorted. I have already created all the meta data I need and do not want to delete the title on all my meta files (that would take way too long).

Current sreambaby.ini File


Code:


#
# ./streambaby --help for more configuration file options
#

title=Thomas's Movies
dir.1=F:\My Videos\Movies
dir.1.name=Movies
dir.2=G:\My Videos\TV Shows
dir.2.name=TV Shows
meta.vidinfo.disable=false
trimextensions=true
ffmpeg.threads=8
autogenerate.delete=true
preview.quality=85
preview.autogenerate=true
preview.big=True
preview.threaded=true
preview.predictive=true
autogenerate.delete=true
ffmpegjava.previewformats=*.jpg
extensions= mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,ogg,ogm,mkv,tivo,raw,3gp,mov,flv
info.preserveaspect=true
quality.2channel=6
use.title=False
sort.filename=true
streambaby.delete=false 
mpaaRating=true

Any help as to how I can find/add/change theses two settings to work would be greatly appreciated.

Ah I feel silly now "use.title= (default:true) Use metadata title instead of filename when available" all I had to do for the title was set to false, but the mpaa thing is still bugging me


----------



## Thomaseo1

Bump

I'm still looking for an answer to from anyone who might be able to help with displaying mpaa rating


----------



## superflysocal

When I run streambaby, by default, the subtitles are usually black background with dark gray text, thus making it unreadable.

I made changes to steambaby.ini with these lines:

cc.fontsize=medium
cc.backgroundcolor=black
cc.textcolor=white
cc.yoff=30

This helps alot, making text bigger, with most text now white on black babckground. However about 20% of the text is still gray with black background (unreadable). I don't know why this happens. It happens even with the same speaker within one sentence (but on different lines). How do I make sure all subtitles are white with black background?

I am using 0.29, but I just now noticed there is a more current version with new cc options, but I don't know how to use them.


----------



## moyekj

Disable transparency:
cc.background.transparency=0

The latest Premiere software update fixes this issue with transparency introduced in 20.2.


----------



## superflysocal

fontsize = medium is the equivalent to what point size? i want to go a little bigger.


----------



## superflysocal

moyekj said:


> Disable transparency:
> cc.background.transparency=0
> 
> The latest Premiere software update fixes this issue with transparency introduced in 20.2.


I tried this and it didn't help. Also, i was mistaken, the unreadable text is gray slightly transparent background with black letters.

I do have a Premiere.


----------



## superflysocal

superflysocal said:


> I tried this and it didn't help. Also, i was mistaken, the unreadable text is gray slightly transparent background with black letters.
> 
> I do have a Premiere.


Ok, got it to work. I used the more recent 0.29 version with expanded cc capabilites and the above chnages. Everything works now. Still want to know what is the size of "medium" and what size I should use to make it even larger.


----------



## moyekj

superflysocal said:


> Ok, got it to work. I used the more recent 0.29 version with expanded cc capabilites and the above chnages. Everything works now. Still want to know what is the size of "medium" and what size I should use to make it even larger.


 I don't know what the equivalent integer sizes are but you can set cc.fontsize=integer (like 15 for example) instead of using a string to select very specific font size. You'll have to experiment with different integers to find the size you like.


----------



## superflysocal

when i set font to 26, I get the issues with the font and background 100% of the time again. I think it was too large of a size?


----------



## moyekj

Don't know. You can try turning off background completely:
cc.background=0


----------



## Thomaseo1

I'm still curious to know how to show the MPAA ratings for any movie with the proper txt file where it has mpaaRating : P3 and such to appear on the media's info to be something like "Rated PG-13" any help into this matter would help.


----------



## zabolots

I have a password-protected share but when I enter the correct password to display the share and then select it, the result is always an empty folder. I have even tried copying a file from another non-password-protected share into the protected share and while it appears normally in the non-password-protected share, it is not visible in the password-protected share (implying that it is not an issue of file extensions causing the files to be missing).

Any ideas?

Thanks...Scott


----------



## treat2day

I finally found a great tutorial to fix the no java error. A great youtube explanation in a matter of 2 minutes. you need to copy java from (mine) C:\Program Files(x86)and paste in the other Program folder C:\Program Files then open that pasted java folder to bin and copy address C:\Program Files\Java\jre7\bin, go to my computer, properties, advanced, click variables tab add new in top box type PATH next second box paste the java path, then a new again type CLASSPATH paste path again hit okay, you must remember to hit okay all all caps like written.


----------



## zabolots

zabolots said:


> I have a password-protected share but when I enter the correct password to display the share and then select it, the result is always an empty folder. I have even tried copying a file from another non-password-protected share into the protected share and while it appears normally in the non-password-protected share, it is not visible in the password-protected share (implying that it is not an issue of file extensions causing the files to be missing).
> 
> Any ideas?
> 
> Thanks...Scott


Still haven't been able to figure this one out. Is there any documentation of how the password-protected shares are supposed to work? Any tutorials on enabling debug logging to see if I can troubleshoot this?

Thanks!


----------



## huxleyan

rfryar said:


> Ok, I have been using Streambaby forever, but just upgraded my HTPC and installed Win 7 64 bit this time around. I have Java 64 bit and Streambaby is running with the batch file (When I run it as Admin).
> 
> The only issue with this install is I do not get Native FFMPEG, which for me is fine as almost all my videos are Tivo compatible MP4s anyways. To resolve this I think I need to run using 32 bit Java, but I will cross that bridge later.
> 
> My major issue is I can not get this to run as a service. Has anyone gotten the Wrapper to work under windows 7 64 bit?
> 
> Any hints on the direction I can take?
> 
> I tried to use "yajsw" instead of the default "wrapper" but StreamBaby does not quite start up using the yajsw conf that is generated. I think it can not find the .ini file when it runs or something.
> 
> Any help would be appreciated.
> 
> Rick


I ran into the same problem for a long time. I found these instructions on the streambaby google page:

Thanks seidel, your tip helped me get it working. Here is what I needed to do:
- Specify the port in the streambaby.ini file (port=7290)
- Create a new firewall rule to allow inbound TCP traffic on that port
- Change the service to run as an Administrator (otherwise I couldn't see any of my videos - most likely because of Windows permissions)


----------



## richhee

hi i have been useing streambabystream for couple years with no issues well tivo applied update to all tivos all still work fine except tivo premiere elite quad tuner it now has something called app.tv any idea how to fix


----------



## Peedy

Does anyone know if its possible to configure Streambaby to stream audio podcasts to a Tivo?


----------



## mike212

Is there a way to setup Streambaby to occasionally scan a folder for new video and automatically push the new files to the Tivo? I have a bunch of files I'd like to transfer regularly and it would be a huge help to set things up to do this automatically.


----------



## ebf

mike212 said:


> Is there a way to setup Streambaby to occasionally scan a folder for new video and automatically push the new files to the Tivo? I have a bunch of files I'd like to transfer regularly and it would be a huge help to set things up to do this automatically.


Checkout pyTivo autopush: http://code.google.com/p/pytivo-auto-push/


----------



## lpwcomp

mike212 said:


> Is there a way to setup Streambaby to occasionally scan a folder for new video and automatically push the new files to the Tivo? I have a bunch of files I'd like to transfer regularly and it would be a huge help to set things up to do this automatically.





ebf said:


> Checkout pyTivo autopush: http://code.google.com/p/pytivo-auto-push/


What she said. Streambaby doesn't do transfers of any kind. It's for _*streaming*_, thus the name.


----------



## mike212

lpwcomp said:


> What she said. Streambaby doesn't do transfers of any kind. It's for _*streaming*_, thus the name.


I currently am able to manually "push" videos from a computer to Tivo using streambaby. Doesn't sound like that can be automated though.

I've made two prior attempts to setup pytivo and each time have failed. I guess I should try it again. Thanks for that autopush link.


----------



## lpwcomp

mike212 said:


> I currently am able to manually "push" videos from a computer to Tivo using streambaby. Doesn't sound like that can be automated though.
> 
> I've made two prior attempts to setup pytivo and each time have failed. I guess I should try it again. Thanks for that autopush link.


.My bad. I did a little research and found out there is a push option in streambaby. I rarely use either streambaby or push. It appears that when they developed the native streambaby push, the automatic detection of pyTivo was removed so the push option isn't even available in streambaby unless the streambaby.ini is modified, so I wasn't even seeing it as an option.

Again -


----------



## zabolots

Is there a way to increase the level of info posted to the log file for debugging purposes? I'm having issues with Streambaby locking up when I select MP4 files. I just get the "Please wait" notice and it never goes away.


----------



## moyekj

zabolots said:


> Is there a way to increase the level of info posted to the log file for debugging purposes? I'm having issues with Streambaby locking up when I select MP4 files. I just get the "Please wait" notice and it never goes away.


debugging_problems


----------



## zabolots

moyekj said:


> debugging_problems


Very strange. Nothing obvious in the log about why it's just stuck at Please wait... after selecting the file. I'm not even trying to play it yet, just display info out it. Perhaps parsing the metadata file or running some cmd to get info about the file?



Code:


06/06/12 17:29:55 Listener: added factory
06/06/12 17:29:55 Main: streambaby ready & listening.
06/06/12 17:30:45 Listener: 192.168.1.3 icon.png HTTP GET - to factory /streambaby/
06/06/12 17:30:48 Application: init context resolutionReceived=false
06/06/12 17:30:48 Factory: HME receiver connected
06/06/12 17:30:48 Application: handleChunk: ResolutionInfo
06/06/12 17:30:48 Application: calling initResolution()
06/06/12 17:30:48 Application: Current resolution is: com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]
06/06/12 17:30:48 Application: Changing resolution to: com.tivo.hme.sdk.Resolution[1280x720-PAR=1/1]
06/06/12 17:30:48 Application: Resolution change requested: com.tivo.hme.sdk.Resolution[1280x720-PAR=1/1]
06/06/12 17:30:48 Application: Received resolution event: ResolutionInfo[current=com.tivo.hme.sdk.Resolution[640x480-PAR=1/1],supported=com.tivo.hme.sdk.Resolution[1280x720-PAR=1/1]com.tivo.hme.sdk.Resolution[704x480-PAR=40/33]com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]]
06/06/12 17:30:48 Application: unknown event opcode : 10
06/06/12 17:30:48 Application: Already initialized, not re-initing.
06/06/12 17:30:48 Application: Already initialized, not re-initing.
06/06/12 17:30:48 Application: handleChunk: ResolutionInfo
06/06/12 17:30:48 Application: rootBoundsChanged r=java.awt.Rectangle[x=0,y=0,width=1280,height=720]
06/06/12 17:30:48 Application: Already initialized, not re-initing.
06/06/12 17:30:48 Application: Received resolution event: ResolutionInfo[current=com.tivo.hme.sdk.Resolution[1280x720-PAR=1/1],supported=com.tivo.hme.sdk.Resolution[1280x720-PAR=1/1]com.tivo.hme.sdk.Resolution[704x480-PAR=40/33]com.tivo.hme.sdk.Resolution[640x480-PAR=1/1]]

ffmpeg info:


Code:


[[email protected]dia streambaby]# ffmpeg -i /data2/TiVo_Files/Movies/Parents/Trust.mp4
ffmpeg version 0.7.12-rpmfusion, Copyright (c) 2000-2011 the FFmpeg developers
  built on May  1 2012 20:37:31 with gcc 4.6.3 20120306 (Red Hat 4.6.3-2)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --extra-version=rpmfusion --enable-bzlib --enable-libcelt --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-runtime-cpudetect
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/data2/TiVo_Files/Movies/Parents/Trust.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 1970-01-01 00:00:00
    encoder         : Lavf52.46.0
    grouping        : Dramas
    date            : 2010
    description     : After curious and vulnerable teenager Annie falls into a trap set by an online sexual predator, her family begins to disintegrate, uncertain how to cope with such a devastating tragedy. Utterly consumed by rage, her father sets out for vengeance.
    show            : Trust
    artist          : Trust
    album_artist    : Trust
    disc            : 1
  Duration: 01:45:37.60, start: 0.000000, bitrate: 3297 kb/s
    Stream #0.0(und): Video: h264 (Main), yuv420p, 720x480 [PAR 32:27 DAR 16:9], 2973 kb/s, PAR 853:720 DAR 853:480, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
    Stream #0.1(und): Audio: ac3, 48000 Hz, 6 channels, s16, 320 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
At least one output file must be specified

Mediainfo:


Code:


[[email protected] streambaby]# mediainfo /data2/TiVo_Files/Movies/Parents/Trust.mp4
General
Complete name                            : /data2/TiVo_Files/Movies/Parents/Trust.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom
File size                                : 2.43 GiB
Duration                                 : 1h 45mn
Overall bit rate                         : 3 298 Kbps
Album/Performer                          : Trust
Part/Position                            : 1
Part/Total                               : 1
Grouping                                 : Dramas
Performer                                : Trust
Recorded date                            : 2010
Writing application                      : Lavf52.46.0
stik                                     : 0
desc                                     : After curious and vulnerable teenager Annie falls into a trap set by an online sexual predator, her family begins to disintegrate, uncertain how to cope with such a devastating tragedy. Utterly consumed by rage, her father sets out for vengeance.
tvsh                                     : Trust

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 3 frames
Format settings, GOP                     : M=4, N=24
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1h 45mn
Bit rate                                 : 3 000 Kbps
Width                                    : 720 pixels
Height                                   : 480 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 29.970 fps
Standard                                 : NTSC
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.290
Stream size                              : 2.19 GiB (90%)
Writing library                          : x264 core 80 r1376 3feaec2
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x1:0 / me=umh / subme=9 / psy=1 / psy_rd=1.0:0.0 / mixed_ref=0 / me_range=16 / chroma_me=0 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=6 / sliced_threads=0 / nr=0 / decimate=1 / mbaff=0 / constrained_intra=0 / bframes=3 / b_pyramid=0 / b_adapt=0 / b_bias=0 / direct=2 / wpredb=0 / wpredp=0 / keyint=24 / keyint_min=13 / scenecut=0 / rc=abr / mbtree=0 / bitrate=3000 / ratetol=1.3 / qcomp=0.50 / qpmin=10 / qpmax=50 / qpstep=3 / ip_ratio=1.25 / pb_ratio=1.25 / aq=1:1.00

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Codec ID                                 : ac-3
Duration                                 : 1h 45mn
Bit rate mode                            : Constant
Bit rate                                 : 320 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 242 MiB (10%)


----------



## moyekj

The streambaby.log is not even showing where it tries to play the video file. Perhaps try with an mpeg2 file 1st just to test if base streaming is working.


----------



## zabolots

OK, I'm almost embarrassed to admit this but I just can't seem to get streambaby to work. My original box died and I've rebuilt a new media server with Fedora 16. I have java and ffmpeg installed but when I try to run streambaby I get the following:



Code:


Initializing StreamBaby v0.29...
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ffmpeg_java/v53/AVFormatLibrary
        at com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule.initialize(FFmpegJavaVideoModule.java:117)
        at com.unwiredappeal.tivo.modules.VideoModuleHelper.addModule(VideoModuleHelper.java:49)
        at com.unwiredappeal.tivo.config.StreamBabyConfig.processModules(StreamBabyConfig.java:630)
        at com.unwiredappeal.tivo.config.StreamBabyConfig.processConfiguration(StreamBabyConfig.java:730)
        at com.unwiredappeal.tivo.config.StreamBabyConfig.readConfiguration(StreamBabyConfig.java:788)
        at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:71)
Caused by: java.lang.ClassNotFoundException: net.sf.ffmpeg_java.v53.AVFormatLibrary
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:24)
        at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:15)
        ... 6 more

Here's my ffmpeg version info:


Code:


ffmpeg version 0.8.11, Copyright (c) 2000-2011 the FFmpeg developers
  built on May  1 2012 20:31:23 with gcc 4.6.3 20120306 (Red Hat 4.6.3-2)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --enable-bzlib --enable-libcelt --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-runtime-cpudetect
  libavutil    51.  9. 1 / 51.  9. 1
  libavcodec   53.  8. 0 / 53.  8. 0
  libavformat  53.  5. 0 / 53.  5. 0
  libavdevice  53.  1. 1 / 53.  1. 1
  libavfilter   2. 23. 0 /  2. 23. 0
  libswscale    2.  0. 0 /  2.  0. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'

I also made sure I had the libav* libraries installed:



Code:


[[email protected] Downloads]# find / -name libav*
/usr/share/doc/libavc1394-0.5.3
/usr/lib/libavahi-common.so.3
/usr/lib/libavahi-core.so.7
/usr/lib/vlc/plugins/demux/libavi_plugin.so
/usr/lib/vlc/plugins/demux/libavformat_plugin.so
/usr/lib/vlc/plugins/codec/libavcodec_plugin.so
/usr/lib/libavahi-client.so.3.2.9
/usr/lib/libavc1394.so.0.3.0
/usr/lib/libavahi-glib.so.1.0.2
/usr/lib/libavdevice.so.53.1.1
/usr/lib/libavutil.so.51.9.1
/usr/lib/libavfilter.so.2
/usr/lib/libavcodec.so.53.8.0
/usr/lib/libavahi-common.so.3.5.3
/usr/lib/libavc1394.so.0
/usr/lib/libavahi-glib.so.1
/usr/lib/libavfilter.so.2.23.0
/usr/lib/libavcodec.so.53
/usr/lib/libavahi-client.so.3
/usr/lib/libavahi-ui-gtk3.so.0.1.4
/usr/lib/libavformat.so.53
/usr/lib/libavahi-core.so.7.0.2
/usr/lib/libavahi-ui-gtk3.so.0
/usr/lib/libavutil.so.51
/usr/lib/libavformat.so.53.5.0
/usr/lib/libavdevice.so.53

I'm sure it's something simple but I can't seem to figure it out. Any ideas?

Scott

p.s. I found  this post which seems to be similar. Is it possible that streambaby is incompatible with ffmpeg-0.8.x?

[UPDATE] looks like it is an issue with ffmpeg-0.8.x so I went back to Fedora 15 to get ffmpeg-0.7.x from RPMFusion


----------



## zabolots

zabolots said:


> Very strange. Nothing obvious in the log about why it's just stuck at Please wait... after selecting the file. I'm not even trying to play it yet, just display info out it. Perhaps parsing the metadata file or running some cmd to get info about the file?


OK, so I figured out that the issue is related to the Metadata:



Code:


06/15/12 11:33:22 SelectionScreen: code=6 rawcode=16778246
06/15/12 11:33:23 BaseMetadataModule: <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body><div id="global"><h1>The Town</h1><p>Career bank robber Doug (Ben Affleck) and his volatile partner, Jim (Jeremy Renner), hit a roadblock when Doug falls for bank manager Claire (Rebecca Hall), whom he kidnapped during their last heist. Worse, an FBI agent (Jon Hamm) is now trailing the thieves around their Charlestown, Mass., territory. Affleck directs and co-writes this smart, intricate actioner that co-stars Blake Lively as Krista, Jim's sister and Doug's troubled former flame.</p><p></p><p>Ben Affleck, Rebecca Hall, Jon Hamm</p><p class="genre">Thrillers, Crime Thrillers, Heist Films, Dramas Based on Bestsellers, Dramas Based on the Book</p></div></body></html>
java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, but class was expected
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)
        at org.lobobrowser.util.gui.FontFactory.createFont_Impl(FontFactory.java:180)
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:127)
        at org.lobobrowser.util.gui.FontFactory.getFont(FontFactory.java:98)
        at org.lobobrowser.html.style.StyleSheetRenderState.<clinit>(StyleSheetRenderState.java:43)
        at org.lobobrowser.html.domimpl.NodeImpl.<clinit>(NodeImpl.java:39)
        at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(DocumentBuilderImpl.java:143)
        at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRenderer.java:113)
        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataViewer.java:86)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:84)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScreen.java:98)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java:88)
        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

I've removed the associated .txt file created by pyTivoMetaGenerator and tried removing the metadata from the .mp4 directly using ffmpeg to overwrite the data. I honestly have no idea where streambaby is getting the metadata from that is causing it to crash like this.


----------



## zabolots

Anyone have any ideas on how to debug the bug with the metadata described in the post above?


----------



## zabolots

Apparently I'm not the only one having the issue described two posts above. This post http://www.tivocommunity.com/tivo-vb/showthread.php?p=8813222#post8813222 is about the exact same issue.

I found this post which seems to indicate that the lobobrowser used in streambaby was compiled with Java 6 and since I'm using Java 7 it won't work. I guess I need to try and drop down to Java 6 and see if that works.

Between this and the issue I had previously with newer ffmpeg versions, it seems like some of these TiVo projects have basically been abandoned and you need to run a bunch of old code to get them to work.

Scott

UPDATE: I confirmed that dropping back to Java 6 resolved the issue. The Getting Started wiki should be updated from "If you don't already have Java Runtime Environment (JRE) 1.5 or later installed..." to "If you don't already have Java Runtime Environment (JRE) 1.5 or 1.6 installed..." and should probably make mention of the older ffmpeg requirements as well.


----------



## phudson126

Supports most wmv, avi, and mkv. That is truly awesome. These formats make up a 70% of all the videos available online and offline. Other features are great as well. I think the application would be very handy for all movie buffs.


----------



## lpwcomp

zabolots said:


> Between this and the issue I had previously with newer ffmpeg versions, it seems like some of these TiVo projects have basically been abandoned and you need to run a bunch of old code to get them to work.
> 
> Scott


Let me see if I am interpreting this correctly - newer versions of Java and ffmpeg are released that break existing applications and that is the fault of the application?


----------



## DougD

I have another possible reason for some users as to why the metadata file is causing trouble. I run streambaby on my Linux box and anytime I click on a movie which has the entry image : xxxx.jpg in the metadata file streambaby locks up if the file xxxx.jpg is not in the folder. To fix it I comment the line #image : in the metadata file and restart streambaby. When I run streambaby on my windows PC streambaby runs fine if the image file is missing.


----------



## DougD

The build.xml files in streambaby say they are generated by Eclipse but I have not been able to successfully create these files from Eclipse. Does anyone know how to do this ? I don't know what file to click on nor what menu items to select to build a new copy of streambaby.


----------



## stalemate

DougD said:


> The build.xml files in streambaby say they are generated by Eclipse but I have not been able to successfully create these files from Eclipse. Does anyone know how to do this ? I don't know what file to click on nor what menu items to select to build a new copy of streambaby.


I don't know the specifics of streambaby but typically things with a build.xml file are built with apache ant.


----------



## zabolots

lpwcomp said:


> Let me see if I am interpreting this correctly - newer versions of Java and ffmpeg are released that break existing applications and that is the fault of the application?


Yes.


----------



## techguy82

I just tried streambaby tonight and it seems like a great app.

I am having some trouble with streaming MKV files. There is no sound coming through. When looking at my Onkyo there is no audio signal at all

I have tried Avi and MP4 files and they seem to work great. SO i am not sure what the issue might be.

All of my MKV's are DVD rips (if that helps)

I was using pytivo transcoding with FFMPEG and that was working great no issue at all.

Any idea what could be going wrong?


----------



## zabolots

techguy82 said:


> I am having some trouble with streaming MKV files. There is no sound coming through. When looking at my Onkyo there is no audio signal at all
> 
> <snip>
> 
> Any idea what could be going wrong?


I use the batch file in this thread to convert MKV to TiVo-compatible MP4 files which then play through Streambaby with no issues.


----------



## utivol

I am having a problem with Streambaby not playing videos where I have the metadata txt file present. It will not go any further on the Tivo than the screen which displays the description derived from the metadata file. Otherwise it plays video just fine when the file isn't present. I am using Streambaby 0.29 on a Windows 7 machine and 2 Tivo premieres. I have tried creating the metadata files with both the MetaGeneratorV2.0.6.1 and MetaGenerator334.
Thanks for your help.


----------



## techguy82

Is there a way to show thumbnails for the movies? Can it be made into Grid view? Also is there a way to cache the dir so it wont take so long to load? ( have over 400+ movies and it takes a few to load)

Thank in advance!!


----------



## DougD

utivol said:


> I am having a problem with Streambaby not playing videos where I have the metadata txt file present. It will not go any further on the Tivo than the screen which displays the description derived from the metadata file. Otherwise it plays video just fine when the file isn't present. I am using Streambaby 0.29 on a Windows 7 machine and 2 Tivo premieres. I have tried creating the metadata files with both the MetaGeneratorV2.0.6.1 and MetaGenerator334.
> Thanks for your help.


Check the metadata file to see if you have a line like image: xxxxx.jpg 
if so try deleting it and see if the video plays. If the image file is not in the same directory as the video streambaby locks up.


----------



## DougD

I am hoping one of the guru's can point me to where in the streambaby code the image art is handled. I have the line image: xxx.jpg in the metadata file but it is not in the same folder as the video. I am hoping to add a line to catch the file io exception but do not know where to enter it. I am getting the following error messages (note I added additional output messages)

07/07/12 11:07:27 CobraRenderer: In cobra
07/07/12 11:07:27 CobraRenderer: In cobra Going to sleep
Jul 7, 2012 11:07:27 AM org.lobobrowser.html.test.SimpleHttpRequest$1 run
WARNING: send(): Error in asynchronous request on file:/media/raid1/movies/0TO9/0974661.jpg
java.io.FileNotFoundException: /media/raid1/movies/0TO9/0974661.jpg (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:137)
at java.io.FileInputStream.<init>(FileInputStream.java:96)
at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:87)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:178)
at org.lobobrowser.html.test.SimpleHttpRequest.sendSync(SimpleHttpRequest.java:312)
at org.lobobrowser.html.test.SimpleHttpRequest$1.run(SimpleHttpRequest.java:240)
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep
07/07/12 11:07:28 CobraRenderer: In cobra Going to sleep


----------



## rfryar

DougD said:


> I am hoping one of the guru's can point me to where in the streambaby code the image art is handled. I have the line image: xxx.jpg in the metadata file but it is not in the same folder as the video. I am hoping to add a line to catch the file io exception but do not know where to enter it. I am getting the following error messages (note I added additional output messages)


Do you have any ability to use the MP4 metadata inside of the MP4 itself? I have been doing that for many years with out an issue. However I know it would require you to apply metadata to all of your movies and use a different process.

For your original question.. The path should up as "/folder/folder/folder/file.jpg" in the error message. You may be able to try using a fully qualified file location in the txt file such as e:/blah/folder/folder.jpg if you are in windows. Another potential gotcha is you may need to use double backslashes, like //folder//folder//image.jpg instead.

Just try a few different things.. Create a few metadata files.. One with the image in the same directory (should work). One with the image in a subdirectory of the movie referenced with a local path.. folder/image.jpg
One with a fully qualified path where the movie lives, etc. Work through those and see what works and what doesn't.

Rick


----------



## jhilla

Last few days streambaby and galleon were working great. yesterday Tivo no longer allowed the port to function. Would this be a Tivo upgrade that hit the series 4 Premiere recently or am I looking at something more tight from Brighthouse? I was told the other day my account had a maintenance? Now I am running Windows 7 Home Premium along with Panda Cloud w Firewall. I have multiple ports open, I show no changes on my end. I already reset the Tivo and no change.


----------



## jhilla

Turned out Windows Firewall and Panda Firewall were competing killing ports. Disabled WF & Panda now happy with Tivo!


----------



## DougD

rfryar said:


> Do you have any ability to use the MP4 metadata inside of the MP4 itself? I have been doing that for many years with out an issue. However I know it would require you to apply metadata to all of your movies and use a different process.
> 
> For your original question.. The path should up as "/folder/folder/folder/file.jpg" in the error message. You may be able to try using a fully qualified file location in the txt file such as e:/blah/folder/folder.jpg if you are in windows. Another potential gotcha is you may need to use double backslashes, like //folder//folder//image.jpg instead.
> 
> Just try a few different things.. Create a few metadata files.. One with the image in the same directory (should work). One with the image in a subdirectory of the movie referenced with a local path.. folder/image.jpg
> One with a fully qualified path where the movie lives, etc. Work through those and see what works and what doesn't.
> 
> Rick


THANKS Your idea of including the subdirectory name such as ./folder/image.jpg seems to do the trick


----------



## bigguy126

I had Streambaby installed as a service and running for months. Windows 7 - 64bit. All of a sudden it stopped working. I see it on showcases and am able to see all my videos but it hangs when I select one. It does work if I run it from the bat file. I have a tivo hd and and elite, it is doing it on both. I tried disabling windows firewall and my antivirus(Kapersky). I tried changing the port in the ini, nothing works. Anyone have any ideas? Weird that it stopped all of a sudden.


----------



## rfryar

bigguy126 said:


> I had Streambaby installed as a service and running for months. Windows 7 - 64bit. All of a sudden it stopped working. I see it on showcases and am able to see all my videos but it hangs when I select one. It does work if I run it from the bat file. I have a tivo hd and and elite, it is doing it on both. I tried disabling windows firewall and my antivirus(Kapersky). I tried changing the port in the ini, nothing works. Anyone have any ideas? Weird that it stopped all of a sudden.


Sounds like a permissions issue. Ensure the service is running as a real user that has admin access.

I actually stopped running streambaby as a service and am instead running it as a one time BAT scheduled task on startup. Seems to work a bit more reliably.

Rick


----------



## ballzo

Over the last few weeks, I've been updating my XP laptop. First there was a java update that I think stopped streambaby 0.29 from working a few months ago. Its Java 7 update 5. streambaby fails to start as a service with error 1067. I can't find anything that will get this to work. If I browse to the bat file directory and run the start-streambaby-service.bat, that also fails.

Then I removed my old virus scan software for something more current and secure. I went with Avast free and now I think it maybe stopping my pytivo from working. It will work if I restart the laptop but after some time, they stop showing on my tivo menu's. Can anyone help with any of this? I'm having a hard time getting to any of my personal content. They have worked pretty flawlessly for years until recently.

Ballzo in Sacto


----------



## bigguy126

bigguy126 said:


> I had Streambaby installed as a service and running for months. Windows 7 - 64bit. All of a sudden it stopped working. I see it on showcases and am able to see all my videos but it hangs when I select one. It does work if I run it from the bat file. I have a tivo hd and and elite, it is doing it on both. I tried disabling windows firewall and my antivirus(Kapersky). I tried changing the port in the ini, nothing works. Anyone have any ideas? Weird that it stopped all of a sudden.


Just wanted to let everyone know that I found the solution to above. It appears to be a Java issue. I was at java 7.5, I backed it off to java 6.10 and everything is working again. Working as a service on both machines.


----------



## jcornell

I installed streambaby on a new iMac running 10.8.0 and it was working fine. I updated to 10.8.1 last week and since then I've been having trouble with it. When I load, it says it's ready an listening, and on the TiVo I can see the Stream Baby Stream menu item but when I click it, it either hangs forever or takes me to the directory and then hangs when I select the directory. Any ideas or suggestions to troubleshoot?


----------



## davkrev

Streababy was working fine for a while. Now, I no longer see it in the Showcases & Apps list. I've added the IP again for my computer running the server and it accepts it, but it never shows up in the list.

I am running the latest version of java and have tried disabling symantec firewall & windows firewall -- still no luck...

Any ideas?


----------



## moyekj

davkrev said:


> I am running the latest version of java and have tried disabling symantec firewall & windows firewall -- still no luck...
> 
> Any ideas?


 Latest version of Java as in Java 7? That is probably the problem. Roll back to Java 6.


----------



## davkrev

moyekj said:


> Latest version of Java as in Java 7? That is probably the problem. Roll back to Java 6.


Yes. I can downgrade. Which update version of Java6 should I use? Also, should I use 32bit or 64bit version?


----------



## davkrev

Just tried download Java 6 update 35 32bit version and still doesn't work after rebooting computer & tivo.


----------



## ajayabb

I am also having a similar problem with Streambaby and native mp4 files. After I select the video, the program just hangs and never plays. I am running Windows 7. Same problem after rolling back to JRE 6.35. Maybe I will try an even older Java version and see. Very strange. Programs that require encoding play just fine, and some mp4s play while other that did previously no longer stream.


----------



## DougD

A new version of Streambaby is now available. The program has been updated to provide a search capability based on the metadata files. You can search based on title, actor, writer, director, genre or any combination. The download is here:http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20120828-2030.zip

Changes consist of:
* Added Search capability
* Changed display of show jpg on play screen to only wait a specified amount of time in case jpg is missing
* Added new config CoverImagesFolder= for specifying folder which contains all show covers


----------



## DougD

Let me know if you have any questions about the new search capability in streambaby


----------



## rfryar

DougD said:


> Let me know if you have any questions about the new search capability in streambaby


Does this search MP4 file metadata as well? I have 3000 MP4 movies all with only MP4 metadata and embedded image. I prefer never to construct a separate metadata file.

Glad to see some development occurring in Streambaby again.

Thanks,

Rick


----------



## DougD

It only looks at txt files such as moviename.mpg.txt However it works with the Med's Movie Manager database so check out Med's movie Manager it has several ways to read in movie information.. You may be in luck the website says "Technical info can also be retrieved from media files like AVI, OGM, MPEG and DVD (ifo)."

Once you create the database (choose HSQLDB for the type) streambaby will be able to read it.


----------



## mrpantstm

I also have the same problem of Streambaby up and stop working last week. I can start Streambaby but it doesn't seem like Tivo is connecting with it (Just sits there listening). I am able to get it to connect fine on my laptop so it's not my router. I assume something auto updated but I've rolled the Java back to 6 with no luck. Any other ideas?


----------



## DougD

I assume streambaby shows up as a menu choice. Do you then get a please wait when selecting it? Are you running streambaby on a Windows PC or Linux or Mac?


----------



## DougD

This may be premature but has anyone successfully used the new search feature?


----------



## mrpantstm

DougD said:


> I assume streambaby shows up as a menu choice. Do you then get a please wait when selecting it? Are you running streambaby on a Windows PC or Linux or Mac?


No, Streambaby does not show up as a menu choice in the Showcase tab. It doesn't seem like it's making a connection with the server. Running on Windows 7. Was working fine up until last week. Works fine on my Windows 7 laptop.


----------



## DougD

I have also had a problem with this over the past few weeks but found that if I leave streambaby running then by the next day the Tivo finds the app again. Not sure why this is happening or if other apps are having the same problem.


----------



## DougD

In the new version of Streambaby http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20120828-2030.zip, to update the database, delete or rename the old one and the next time you select search the database will automatically be created.


----------



## DougD

In streambaby search http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20120828-2030.zip pressing the replay key will immediately execute a search.


----------



## emkorial

Anyone else having audio issues? 

Videos will start fine, but when there is a loud sound like an explosion or somehting, the suido cuts out and won;t come back until I pause and restart. Then after a few times of that, the Tivo will crash and reboot. Any ideas? 

Running a TivoHD


----------



## nrnoble

*EDIT: Solved. Apparently the default setting for the Premiere is to display video as 4:3, thus cropping the video. Changing the setting to letterbox fixed my cropping problem.*

I am posting my question before having scanned all 86 pages, but as soon as post my question I shall continue searching for a solution.

Q: *Is there a way to control the cropping and\or aspect ratio of the movies while using StreamBaby to an HDTV*?

I've only tested a few movies so far, but all the widescreen movies I tried result with significant cropping of the widescreen movies that appear letterbox even on my HDTV. The problem is obvious when watching the opening credits and text is clipped and during scenes where people are opposite sides, and one or both are mostly off screen. When the movie are played back on the PC\Mac, movie has the proper aspect ratio and no cropping occurs.

Maybe its the way that I have been ripping the movies, and if I ripped the movies differently, Steambaby would display the movie without cropping it.

Thanks for any tips.


----------



## BP-isMe

Do I just copy over the files? I am running as a service...I assume I could stop the service, copy over the files.

Thank You...


----------



## DougD

1. Download the file http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20120828-2030.zip
2. unzip the file. In Linux I do this by opening a terminal server cd to the folder and entering unzip streambaby*2030.zip you should be able to do this from windows by right clicking and then selecting extract all
3. stop the currently running streambaby
4. Start streambaby - from linux I do this by 
cd str*2030
sudo ./streambaby

If you are running streambaby as a service instead of step 4 try the following http://code.google.com/p/streambaby/wiki/WindowServiceInstallation


----------



## BP-isMe

Thank You for your reply.

I am running Windows XP.
FYI:
To do the upgrade: 
I downloaded the new version
Uninstalled the old service via the bat file in the old extras folder
Unzipped the new version
Installed the service via the bat file in the new extras folder
Copied my Streambaby.ini file to the new version's folder.

Brad


----------



## ksalwitz

This issue with the directories is resolved, but i'm getting a java error noclassdeffound error on class org.lobobrowser.html.dimimpl.HTMLDocumentImpl. The videos show up in the list on my TiVo, but when I try to play them it hangs after this error.

Ken


----------



## JimBudet

I installed streambaby-20120828-2030.

streambaby.ini:
dir.1=D:\Olsen's Pogoplug\Video
dir.1.name=Olsen's Pogoplug/Video

tivo.username=****@****
tivo.password=****

From my Tivo HD, I see Streambaby and attempt to push a video to the Tivo. In response, I get a Push Failed! message on the TV. The messages on the server are:

Initializing StreamBaby v20120828-2030...
10/21/12 10:33:44 Listener: added factory
10/21/12 10:33:44 Main: streambaby ready & listening.
10/21/12 10:38:44 Listener: 192.168.123.22 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=49
10/21/12 10:38:50 Factory: HME receiver connected
10/21/12 10:39:02 Mind: <?xml version="1.0" encoding="utf-8"?><error>


Code:


malformedRequest

<debug>16</debug><text>Malformed request</text></error>
10/21/12 10:39:02 InternalPush: Failed to login to tivo-push-control: ****@****, ****
10/21/12 10:39:05 Listener: connection to receiver closed
10/21/12 10:39:05 Factory: HME receiver disconnected

Notes:
1. **** designates an obscured username or password.
2. I was happily using pyTivo but encountered a problem with Push, which lead me to try out Streambaby. Since I'm having trouble with Push using both pyTivo and Streambaby, the problem bay lie elsewhere.

Any ideas what the problem might be? Thanks.


----------



## DougD

Can you use streambaby to stream the video? When you click on play does the video start playing on your Tivo ? Also try logging in to tivo.com by copying and pasting the userid and password from streambaby.ini 


For other users , just looking at your post it appears you should be able to push videos to the Tivo since all you need to do is add to the streambaby.ini the lines 
[email protected]
tivo.password=yourpassword


----------



## lpwcomp

Pushes have been ht or miss lately, no matter what s/w you use to queue it up. There appears to be a problem with the TiVo mind server. Both of my pushes last night worked the first time, but other people are still having problems.


----------



## moscovitzd

What are the requirements to get the push functionality in Streambaby to work?

I have several Series 3 Tivos. I've added these entries to streambaby.ini:
tivo.1=DenS3
[email protected]
tivo.1.password=mypassword
tivo.1.tsn=64800118xxxxxx 
tivo.2=BedroomS3

When I attempt to push a video on screen I see the error "Push Failed!"
In the Streambaby command window I see the error:
10/26/12 19:07:30 InternalPush: Failed to login to tivo-push-control: [email protected], mypassword

If you have any suggestions or advice to get this working I would greatly appreciate it.

Thank you!


----------



## lpwcomp

moscovitzd said:


> What are the requirements to get the push functionality in Streambaby to work?
> 
> I have several Series 3 Tivos. I've added these entries to streambaby.ini:
> tivo.1=DenS3
> [email protected]
> tivo.1.password=mypassword
> tivo.1.tsn=64800118xxxxxx
> tivo.2=BedroomS3
> 
> When I attempt to push a video on screen I see the error "Push Failed!"
> In the Streambaby command window I see the error:
> 10/26/12 19:07:30 InternalPush: Failed to login to tivo-push-control: [email protected], mypassword
> 
> If you have any suggestions or advice to get this working I would greatly appreciate it.
> 
> Thank you!


Is that the user ID and password you use to login to tivo.com?

Oh, and try making it tivo.username and tivo.password


----------



## moscovitzd

lpwcomp said:


> Is that the user ID and password you use to login to tivo.com?


Yes. I tested it and was able to login to the website with that user ID and password


----------



## moyekj

moscovitzd said:


> What are the requirements to get the push functionality in Streambaby to work?
> 
> I have several Series 3 Tivos. I've added these entries to streambaby.ini:
> tivo.1=DenS3
> [email protected]
> tivo.1.password=mypassword
> tivo.1.tsn=64800118xxxxxx
> tivo.2=BedroomS3
> 
> When I attempt to push a video on screen I see the error "Push Failed!"
> In the Streambaby command window I see the error:
> 10/26/12 19:07:30 InternalPush: Failed to login to tivo-push-control: [email protected], mypassword
> 
> If you have any suggestions or advice to get this working I would greatly appreciate it.
> 
> Thank you!


 Take out the .1 from username & password. It should be tivo.password & tivo.username.


----------



## moscovitzd

moyekj said:


> Take out the .1 from username & password. It should be tivo.password & tivo.username.


I tried your suggestion but unfortunately it did not help.


----------



## moyekj

moscovitzd said:


> I tried your suggestion but unfortunately it did not help.


 Did you kill streambaby and start it again after making the change to the .ini file? It only reads settings upon startup.


----------



## moscovitzd

moyekj said:


> Did you kill streambaby and start it again after making the change to the .ini file? It only reads settings upon startup.


Yes I've closed and restarted Streambaby every time I modified the .ini file.


----------



## moscovitzd

moscovitzd said:


> Yes I've closed and restarted Streambaby every time I modified the .ini file.


Got it to work by downgrading to Java v6. I did not realize Java v7 was installed.


----------



## treat2day

http://code.google.com/p/streambaby/wiki/getting_started


----------



## treat2day

Thank you for a great new version of StreamBaby!!!!!!!

ADD ON

This is a continuation from my solution in March.
*see original post*
http://code.google.com/p/streambaby/wiki/getting_started

++++change extraction location and change path++++++++

C:\Users\myusernamegoeshere\Desktop\bin

How can I run Java applets on Windows 8?

Java applets can only run in the Desktop screen of Windows 8. The Start screen in Windows 8 does not support the Java Plug-in which is needed to run Java applets.

*see java.com*
http://www.java.com/en/download/faq/win8_faq.xml


----------



## DougD

In streambaby search http://code.google.com/p/streambaby/downloads pressing the replay key will immediately execute a search. As a side note the source code for the new version of streambaby is at http://code.google.com/p/search-mov...ame=streambaby-20120828-2000-src.zip&can=2&q=


----------



## DougD

When you first use streambaby a file named searchNstreambaby.ini is created for the search features of streambaby. This file can be modified as explained by the comments:

#
#Settings for Search portion streambabystream
#
# This file is created automatically if the entry dbname.main= is not found in a file

# 
# main database (If this database does not exist it will be created and filled by all dir.xx= entries in streambaby.ini which do not have passwords
dbname.main=C:\Users\MyUserID\dbmoviesfileb
# Add databases you have already created using Med's movie manager program such as for your DVD's
dbname.1=C:\Users\MyUserID\mydvds
dbname.2=C:\Users\MyUserID\kidsdvds

# Example of how to require a password before a database is used
dbname.3=C:\Users\MyUserID\parentsdvds
dbname.3.password=onlyme,momspassword
dbname.4=C:\Users\MyUserID\dbase_for_my_stuff
dbname.4.password=onlyme
# When using streambaby on your TIVO, to enter a password move where you select what to look for such as TITLE and 
# press the clear button 

#
# Directory to search for cover images (The program will first look in the directory the show is in)
CoverImagesFolder=C:\Users\MyUserID\movies\TheCovers
#
# If a streambaby.ini file is found then the dir.xx entries will be read from it
# and only the dir.xx.dbname= entries for directories with dir.xx.password= entries need to be in this file
# Example of directory which requires password to access
dir.8=C:\Users\MyUserID\My Videos
dir.8.dbname =My Videos
dir.8.password=onlyme
#
# To create databases containing information on password protected directories:
dir.9=C:\Users\MyUserID\abc
dir.9.password=onlyme
dir.9.dbname=C:\Users\MyUserID\dbase_for_my_stuff
# note the database name used above must be the same as a dbname.xx for example
#dbname.1 =C:\Users\MyUserID\dbase_for_my_stuff
#dir.9.dbname=C:\Users\MyUserID\dbase_for_my_stuff
# Require a password before certain channels are shown in the search
restrict.1.Channel='comedyhd','comedy','msnbc'
restrict.1.Channel.password=onlyme,momspassword
restrict.2.Channel='lifetimehd','lifetime','own'
restrict.2.Channel.password=onlyme,momspassword,teenspassword

# Require a password to limit the type of MPAA ratings shown
restrict.1.Mpaa='RATED MA%','RATED NC17%','RATED R%'
restrict.1.Mpaa.password=onlyme,momspassword

restrict.2.Mpaa='RATED PG-13','RATED TV-14'
restrict.2.Mpaa.password=onlyme,momspassword,teenspassword


# format for storing lists which can be used in searches
# list.columnName.NameForList='ITEM1','ITEM2','ITEM3'
# Did you note the ITEM names are in uppercase?
list.Channel.Premium='OWN','TCM','FMC'
list.Channel.womans='LIFETIME HD','LIFETIME','OWN','FMC'
list.Channel.kids='ABCFAM','ABCFAM HD','NICK','NICKTOONS'

list.Mpaa.kids='RATED G%','RATED PG%'
list.Genre.romantic='%ROMANTIC COMEDY%','%ROMANCE%

# require certain queries to be included in all searches
query.8.andor=and
query.8.type=File Location
query.8.hasnot=has
query.8.text=mpg
#query.8.password=onlyme
#
query.9.andor=and
query.9.type=Mpaa
query.9.hasnot=not
query.9.text=RATED MA%
query.9.password=onlyme
# above will always be included as the 9th item in the query and can not be changed unless the password 
# has been entered AT SOME TIME (could have been several days ago) before the search

# Inital settings for the screen labeled extra are maintained in the xxxx.working.ini file
# These settings can be changed from the tivo by pressing enter, enter to get to the second section 
# down arrow or channel down to change the category, clear to start changing the placement,channel up to move placement up,
# thumbs up to move several lines up, up arrow to move 1 line up, followed by pressing enter three times to exit

# Columns you have added to the database and want to be able to display
UserCol1Name=Number
#UserCol2Name=MyNewColumn
#UserCol3Name=MyOtherNewColumn
# Specify if the passwords you have typed in should be reset each time you enter the program 
# If set to true a password will no longer be required until the program is shut down or the clear passwords button pushed
ClearPasswords=false
#Metadata=C:\Users\MyUserID\metadatas


----------



## DougD

To assist in troubleshooting the search function in streambaby a sample database is included with the program. Change the searchNstreambaby.ini entry for dbname.main to point to this file which is named dbmoviesfileb an example is:
dbname.main=/home/MyUserID/streambaby-20120828-2030/extras/dbmoviesfileb

Then restart streambaby


----------



## mrpantstm

Still having issues with Streambaby.

In summation, Streambaby was working on my Win7 box and then one day it decided to stop. Streambaby starts fine but it doesn't seem like Tivo actually connects with it when it searches for apps (i.e. Streambaby just sits saying ready and listening).

Streambaby works on my laptop and another computer which are both wireless. The computer that doesn't work is connected via ethernet. I wouldn't think that's the problem but at this point....

Any ideas? Something in the router? Java update hosed me?


----------



## moyekj

Streambaby will only with with Java 1.6 or 1.5 and perhaps only 32 bit, so if the Java you are using doesn't meet those requirements that could be the problem. I think there's been posts in this thread indicating that Java 1.7 (AKA Java 7) doesn't work.


----------



## rfryar

DougD said:


> It only looks at txt files such as moviename.mpg.txt However it works with the Med's Movie Manager database so check out Med's movie Manager it has several ways to read in movie information.. You may be in luck the website says "Technical info can also be retrieved from media files like AVI, OGM, MPEG and DVD (ifo)."
> 
> Once you create the database (choose HSQLDB for the type) streambaby will be able to read it.


Can you add a background retrieval thread to Streambaby that will read the embedded metadata? I do not want to have to have yet another tool that stores my media information when I have all the data inside the files already. BTW, thanks for dusting off Streambaby and adding to it.

Otherwise is there a way to "turn off" the new search bar? As it will never work in my set up and it is taking up screen space?

Thanks,

Rick


----------



## mrpantstm

moyekj said:


> Streambaby will only with with Java 1.6 or 1.5 and perhaps only 32 bit, so if the Java you are using doesn't meet those requirements that could be the problem. I think there's been posts in this thread indicating that Java 1.7 (AKA Java 7) doesn't work.


Java 1.6?

You mean Java 6?


----------



## moyekj

mrpantstm said:


> Java 1.6?
> 
> You mean Java 6?


 It actually is 1.6 but most often is called '6'. Just like '7' is really 1.7, '5' is 1.5, etc.


----------



## reneg

moyekj said:


> Streambaby will only with with Java 1.6 or 1.5 and perhaps only 32 bit, so if the Java you are using doesn't meet those requirements that could be the problem. I think there's been posts in this thread indicating that Java 1.7 (AKA Java 7) doesn't work.


I'm running Java 7 Update 9 (32 bit) & Streambaby without issue.


----------



## DougD

I changed to a newer Linux version and ended up with Java 1.7 which broke my copy of Streambaby. * I was able to get Streambaby to work with Java 1.7 by replacing the cobra.jar file * in the lib folder under streambaby with this one http://code.google.com/p/search-movie-library-on-tivo/downloads/detail?name=cobra.jar

[SOLVED]


----------



## reneg

I don't know if it makes a difference, but I am running Java 7 with an an older version of Streambaby (without the search capabilities that were recently added).


----------



## mrpantstm

moyekj said:


> It actually is 1.6 but most often is called '6'. Just like '7' is really 1.7, '5' is 1.5, etc.


Installed 1.6 32 bit. Still not working.


----------



## DougD

rfryar said:


> Can you add a background retrieval thread to Streambaby that will read the embedded metadata? I do not want to have to have yet another tool that stores my media information when I have all the data inside the files already. BTW, thanks for dusting off Streambaby and adding to it.
> 
> Otherwise is there a way to "turn off" the new search bar? As it will never work in my set up and it is taking up screen space?
> 
> Thanks,
> 
> Rick


Currently there is not a way to turn off the search bar. Other than the search capability there are basically no other changes from the prior one so I would recommend switching to the prior version. I may add the embedded metadata capability later but right now don't have any files to work with and am not sure how to do it.


----------



## meBigGuy

I am having a problem with aspect ratio. Playing to my Tivo Series 3, setup for my 480i TV, in Panel mode, the following video will not play in letterbox format:

Video: MPEG4 Video (H264) 720x404 23.976fps [GPAC ISO Video Handler - MPEG4 Video (H264)]
Audio: AAC 48000Hz stereo 111kbps [GPAC ISO Audio Handler - MPEG-4 Audio]

On the other hand, the following does play in letterbox:

Video: MPEG4 Video (H264) 720x402 23.976fps [MPEG4 Video (H264)]
Audio: AAC 48000Hz stereo 131kbps [MPEG-4 Audio]

Not sure where to start to determine what is causing this.

Thanks


----------



## Thomaseo1

> I am having a problem with aspect ratio. Playing to my Tivo Series 3, setup for my 480i TV, in Panel mode, the following video will not play in letterbox format


Simply leaving Streambaby to live TV and hitting the zoom (Premiere) or Aspect Ratio (Series 2-3) button on your remote will change out of Panel Mode to Zoom or Full will help.
Unfortunately this doesn't work inside Streambaby and instead that button is used for closed captioning when (video file name).srt file is present in same folder.


----------



## rfryar

DougD said:


> Currently there is not a way to turn off the search bar. Other than the search capability there are basically no other changes from the prior one so I would recommend switching to the prior version. I may add the embedded metadata capability later but right now don't have any files to work with and am not sure how to do it.


Look into atomicParsley, it can add metadata to MP4 files. I use a commercial piece of software called MetaX which will look up the movie/tv show data and add the metadata to the file. Remember to optimize the mp4 file which places the metadata in the correct spot in the atom to play correctly with out requiring a transcode.

Thanks again, will just live with the search box for now and hope that you have time to look into adding metadata based searches. 

Thanks,

Rick


----------



## meBigGuy

meBigGuy said:


> I am having a problem with aspect ratio. Playing to my Tivo Series 3, setup for my 480i TV, in Panel mode, the following video will not play in letterbox format:
> 
> Video: MPEG4 Video (H264) 720x404 23.976fps [GPAC ISO Video Handler - MPEG4 Video (H264)]
> Audio: AAC 48000Hz stereo 111kbps [GPAC ISO Audio Handler - MPEG-4 Audio]
> 
> On the other hand, the following does play in letterbox:
> 
> Video: MPEG4 Video (H264) 720x402 23.976fps [MPEG4 Video (H264)]
> Audio: AAC 48000Hz stereo 131kbps [MPEG-4 Audio]
> 
> Not sure where to start to determine what is causing this.
> 
> Thanks


Is there some reason why 720x402 would display as 16:9 and 720x404 would display as 4:3? Or might there be some more subtle encoding issue?


----------



## DougD

DougD said:


> When you first use streambaby a file named searchNstreambaby.ini is created for the search features of streambaby. This file can be modified as explained by the comments:
> 
> #
> #Settings for Search portion streambabystream
> #
> # This file is created automatically if the entry dbname.main= is not found in a file
> 
> #
> # main database (If this database does not exist it will be created and filled by all dir.xx= entries in streambaby.ini which do not have passwords
> dbname.main=C:\Users\MyUserID\dbmoviesfileb
> # Add databases you have already created using Med's movie manager program such as for your DVD's
> dbname.1=C:\Users\MyUserID\mydvds
> dbname.2=C:\Users\MyUserID\kidsdvds
> 
> # Example of how to require a password before a database is used
> dbname.3=C:\Users\MyUserID\parentsdvds
> dbname.3.password=onlyme,momspassword
> dbname.4=C:\Users\MyUserID\dbase_for_my_stuff
> dbname.4.password=onlyme
> # When using streambaby on your TIVO, to enter a password move where you select what to look for such as TITLE and
> # press the clear button
> 
> #
> # Directory to search for cover images (The program will first look in the directory the show is in)
> CoverImagesFolder=C:\Users\MyUserID\movies\TheCovers
> #
> # If a streambaby.ini file is found then the dir.xx entries will be read from it
> # and only the dir.xx.dbname= entries for directories with dir.xx.password= entries need to be in this file
> # Example of directory which requires password to access
> dir.8=C:\Users\MyUserID\My Videos
> dir.8.dbname =My Videos
> dir.8.password=onlyme
> #
> # To create databases containing information on password protected directories:
> dir.9=C:\Users\MyUserID\abc
> dir.9.password=onlyme
> dir.9.dbname=C:\Users\MyUserID\dbase_for_my_stuff
> # note the database name used above must be the same as a dbname.xx for example
> #dbname.1 =C:\Users\MyUserID\dbase_for_my_stuff
> #dir.9.dbname=C:\Users\MyUserID\dbase_for_my_stuff
> # Require a password before certain channels are shown in the search
> restrict.1.Channel='comedyhd','comedy','msnbc'
> restrict.1.Channel.password=onlyme,momspassword
> restrict.2.Channel='lifetimehd','lifetime','own'
> restrict.2.Channel.password=onlyme,momspassword,teenspassword
> 
> # Require a password to limit the type of MPAA ratings shown
> restrict.1.Mpaa='RATED MA%','RATED NC17%','RATED R%'
> restrict.1.Mpaa.password=onlyme,momspassword
> 
> restrict.2.Mpaa='RATED PG-13','RATED TV-14'
> restrict.2.Mpaa.password=onlyme,momspassword,teenspassword
> 
> # format for storing lists which can be used in searches
> # list.columnName.NameForList='ITEM1','ITEM2','ITEM3'
> # Did you note the ITEM names are in uppercase?
> list.Channel.Premium='OWN','TCM','FMC'
> list.Channel.womans='LIFETIME HD','LIFETIME','OWN','FMC'
> list.Channel.kids='ABCFAM','ABCFAM HD','NICK','NICKTOONS'
> 
> list.Mpaa.kids='RATED G%','RATED PG%'
> list.Genre.romantic='%ROMANTIC COMEDY%','%ROMANCE%
> 
> # require certain queries to be included in all searches
> query.8.andor=and
> query.8.type=File Location
> query.8.hasnot=has
> query.8.text=mpg
> #query.8.password=onlyme
> #
> query.9.andor=and
> query.9.type=Mpaa
> query.9.hasnot=not
> query.9.text=RATED MA%
> query.9.password=onlyme
> # above will always be included as the 9th item in the query and can not be changed unless the password
> # has been entered AT SOME TIME (could have been several days ago) before the search
> 
> # Inital settings for the screen labeled extra are maintained in the xxxx.working.ini file
> # These settings can be changed from the tivo by pressing enter, enter to get to the second section
> # down arrow or channel down to change the category, clear to start changing the placement,channel up to move placement up,
> # thumbs up to move several lines up, up arrow to move 1 line up, followed by pressing enter three times to exit
> 
> # Columns you have added to the database and want to be able to display
> UserCol1Name=Number
> #UserCol2Name=MyNewColumn
> #UserCol3Name=MyOtherNewColumn
> # Specify if the passwords you have typed in should be reset each time you enter the program
> # If set to true a password will no longer be required until the program is shut down or the clear passwords button pushed
> ClearPasswords=false
> #Metadata=C:\Users\MyUserID\metadatas


I am not positive but think the default setting is to only display shows which are on your pc and have mpg in the file name when returning results. Note the query.8 entries above. If you comment these entries out and restart streambaby then all shows that meet the search criteria will be listed. Also note that the comedy channel and several other channels will not be displayed unless one of the passwords such as onlyme is entered because of the restrict.1.channel entries. To comment these out enter a # in front of the lines.


----------



## DougD

mrpantstm said:


> Installed 1.6 32 bit. Still not working.


Have you left streambaby running overnight and yet still have a problem?


----------



## DougD

rfryar said:


> Look into atomicParsley, it can add metadata to MP4 files. I use a commercial piece of software called MetaX which will look up the movie/tv show data and add the metadata to the file. Remember to optimize the mp4 file which places the metadata in the correct spot in the atom to play correctly with out requiring a transcode.
> 
> Thanks again, will just live with the search box for now and hope that you have time to look into adding metadata based searches.
> 
> Thanks,
> 
> Rick


When you use the search feature the show titles should at least show up unless you are using the default setting limiting the display to mpg files which are on your computer


----------



## QHaque

Up until last week, I had a Linksys WRT400N router connecting to a Linksys WET610 bridge, over 5GHz N.

Last week, I bought a pair of RT-AC66U's that I set up as a router and a bridge, connecting over 5GHz AC. I updated both to the latest official firmware (3.0.0.4.260).

I run Streambaby on my desktop, which is physically connected to the router.

My Tivo HD is physically connected to the bridge.

Everything worked with the Linksys WRT400N/WET610 combination, although not really fast enough for streaming 1080p content.

Now, with the two RT-AC66U's, the Tivo can't see Streambaby.

After some more testing, I did manage to get Streambaby working, by plugging the Tivo into the WET610N bridge instead of the RT-AC66U media.

The bizarre thing is, the WET610N is connecting to the 2.4Ghz network from the RT-AC66U bridge, which I configured with a difference SSID than the 2.4Ghz network from the main RT-AC66U router.

Why does Tivo->WET610N bridge->RT-AC66U bridge->RT-AC66U router->Streambaby work while Tivo->RT-AC66U bridge->RT-AC66U router->Streambaby does not work?

How can I get Tivo->RT-AC66U bridge->RT-AC66U router->Streambaby to work?


----------



## mrpantstm

DougD said:


> Have you left streambaby running overnight and yet still have a problem?


Yes, left it running for the past couple of weeks.

Interesting development though:

Hooked up an another computer via ethernet, same problem. So the three computers I have that are wifi work fine but the two that are ethernet Tivo doesn't seem to find when it looks for apps. Which leads me to think it's a router thing? Anyone see this problem? Any clue as to what I should look for that is blocked? Or is something jacked with the Tivo?

*Edit*
Just read above post. Not exactly what I have but same sort of problem.


----------



## nrnoble

StreamBaby works great with my Premiere, but when I stream to my either of my S3s, I get a stuttering effect, its like watching the video at 15fps. IMHO, its not watchable on the S3s because the stuttering effect its too distracting.

Is this a known issue?
Is there any way to fit it?

Thanks


----------



## nrnoble

moscovitzd said:


> Got it to work by downgrading to Java v6. I did not realize Java v7 was installed.


Thanks for posting the solution. I had the same problem of running the latest version of the java runtime. I downgraded to 1.6, and I was able to push videos to the TiVo.


----------



## nrnoble

Another strange problem I encounter with when I "push" a video my Premiere is that the video\movie is playable only while the "blue" light is active on the TiVo, or for as long I am watching it. Once the blue light disappears the video is become unwatatchable with an error message that says the video for the channel is unavailable.


----------



## lpwcomp

I guess you are pushing TiVo compatible files. Otherwise, you wouldn't be able to watch them until the transfer completes. I suspect that the transfer is failing before it completes, at which point it is being deleted from the TiVo.


----------



## nrnoble

lpwcomp said:


> I guess you are pushing TiVo compatible files. Otherwise, you wouldn't be able to watch them until the transfer completes. I suspect that the transfer is failing before it completes, at which point it is being deleted from the TiVo.


Might fail before the transfer is complete because the movie played back fine prior to the blue light goes off. And if it fails before ending, its right at the end because it was Dark Knight Rises (156 minutes) and I watched the entire movie except for the end credits. The blue light went off between 5-10 minutes, but I was able watch the entire movie. After I stopped watching the movie, the movie was still listed in my play list as a valid video, but it was unplayable.

Overall, not a big deal because it streams perfectly fine, and that works just as well for my purposes.


----------



## lpwcomp

nrnoble said:


> Might fail before the transfer is complete because the movie played back fine prior to the blue light goes off. And if it fails before ending, its right at the end because it was Dark Knight Rises (156 minutes) and I watched the entire movie except for the end credits. The blue light went off between 5-10 minutes, but I was able watch the entire movie. After I stopped watching the movie, the movie was still listed in my play list as a valid video, but it was unplayable.
> 
> Overall, not a big deal because it streams perfectly fine, and that works just as well for my purposes.


If it is still in your NPL, then the transfer didn't fail, so I have no idea what the problem is.


----------



## nrnoble

Thanks, I am not going to be concerned about it, I can stream fine.


----------



## rfryar

DougD said:


> When you use the search feature the show titles should at least show up unless you are using the default setting limiting the display to mpg files which are on your computer


Is there an example of any new ini settings? I have not changed my INI file and I did not see any new settings in your new build. Search does not seem to work even for the file names of my videos.

All my videos are MP4 files.

Thanks,

Rick


----------



## DougD

I probably put the setting for file extensions in the wrong file but for now you can add extensions by editing the file searchNstreambaby.working.ini which does not exist until you have tried doing a search and then exited streambaby.

I do have a mp4 entry in the list so try adding MP4 and let me know what happens. Also there is a new searchNstreambaby.ini file which has comments in it explaining the various settings you can speicify in the same file.


----------



## mortis42

I recently upgraded(?) to Windows 8 64 from Windows 7 64 and had trouble getting streambaby working. I thought I would share what I did to get it working.

First, with jre 1.7 64 & 32 installed, I installed as a service using the bat in extras.
Both streambaby.bat and service started fine.
Windows firewall asked to allow java, said yes.
From TiVo I could see Stream, Baby, Stream, but got error 0x50005 when trying to select.

Second, made firewall exception for TCP port 7290.
Was able to browse shares, but when tried to stream, connection unexpectedly closed.

Third, installed jre 1.6 32.
Changed streambaby.bat to look for jre 1.6:


Spoiler



*** H:/Program Files (x86)/streambaby.29/streambaby.bat	Sat Apr 21 20:15:29 2012
--- H:/Program Files (x86)/streambaby/streambaby.bat	Tue Jan 08 11:53:21 2013
***************
*** 1,5 ****
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
! java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
--- 1,6 ----
@echo off
+ set JAVA="C:\Program Files (x86)\Java\jre6\bin\java.exe"
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
! %JAVA% -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.


 Running from streambaby.bat, everythinig worked fine.
Running from service, could not stream

Fourth, changed wrapper.conf to use jre 1.6:


Spoiler



*** H:/Program Files (x86)/streambaby.29/extra/service/conf/wrapper.conf	Fri Jan 22 11:28:10 2010
--- H:/Program Files (x86)/streambaby/extra/service/conf/wrapper.conf	Tue Jan 08 11:51:20 2013
***************
*** 12,14 ****
# Java Application
! wrapper.java.command=java

--- 12,18 ----
# Java Application
! # Locate the java binary on the system PATH:
! #wrapper.java.command=java
! # Specify a specific java binary:
! set.JAVA_HOME=C:\Program Files (x86)\Java\jre6
! wrapper.java.command=%JAVA_HOME%/bin/java


 Running from service, everything worked fine.


----------



## TheWGP

Hmm - I had an error tonight with Streambaby, from Mac OS X Mountain Lion. I've had no issues in the past (including just last night). Tonight, though, the file was a 5.6gb .mkv - not sure what the encoding inside the container is. ANyway, it played just fine, like usual, but then when it hit the first Rebuffering... it never came back - the subtitles started playing again but then an error "resource unavailable (filename) popped up in red. I look at the Streambaby window and it's got errors about broken pipe in the HTTP GET. I restart, no dice, I refire-up streambaby and try again, same thing. This one really has me stumped because it SHOULD rebuffer fine - and it's demonstrated it can handle whatever's in that mkv, or the file wouldn't have played in the first place, right?

Any thoughts are more than welcome. This is an Elite playing from a Macbook Pro via wifi. Haven't tried heavy-duty troubleshooting yet as we're just going to bed instead of watching, but wanted to see if anyone's seen this or has any ideas.


----------



## nrnoble

meBigGuy said:


> I am having a problem with aspect ratio. Playing to my Tivo Series 3, setup for my 480i TV, in Panel mode, the following video will not play in letterbox format:
> 
> Video: MPEG4 Video (H264) 720x404 23.976fps [GPAC ISO Video Handler - MPEG4 Video (H264)]
> Audio: AAC 48000Hz stereo 111kbps [GPAC ISO Audio Handler - MPEG-4 Audio]
> 
> On the other hand, the following does play in letterbox:
> 
> Video: MPEG4 Video (H264) 720x402 23.976fps [MPEG4 Video (H264)]
> Audio: AAC 48000Hz stereo 131kbps [MPEG-4 Audio]
> 
> Not sure where to start to determine what is causing this.
> 
> Thanks


Yeah, I had the same problem. As suggested a few post back, using the Tivo remote I went to live TV, used the Tivo remote's zoom\aspect button and set it to 'Panel' mode. Then on my Vizio TV I changed the TV aspect ratio to wide screen. This takes panel box video coming from the TiVo and expands it out to the proper aspect ratio of movie. Kinda like how cinemascope works.


----------



## jhilla

Can Streambaby play a cloud drive? I'm about to find out, Skydrive does a local installation to the root directory of your windows share named Skydrive oddly enough it saves it's data in real time. In theory, could Streambaby pull videos from within the cloud. More importantly could this be driven from other services like Cloudy pushed from Boxee? I have modified my .conf to show the change. One thing is for sure, i added the same directory to Pytivo and it was unable to push my Skydrive videos but Pulling it was working.

#
# ./streambaby --help for more configuration file options
#

dir.1=C:\Users\AMD\Videos
dir.1.name=AMD FLIX
dir.2=C:\Users\AMD\SkyDrive\my tivo
dir.2.name=Skydrive Cloud
#CoverImagesFolder=/path/to/my/covers
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.2.2
# port to use
#port=7290


----------



## svadas

Have been streaming successfully for many years. Just upgraded my home theater receiver and went from optical audio to hdmi audio. No sound or garbled random sounds. I get stereo sound if i change tivo to pcm, but before I was getting 5.1. Is there anything in streambaby I need to configure? I never had to do anything with my older receiver or had any sound issues. The video portions come through fine and regular tivo shows come through in 5.1. Things just fall apart when i try to stream.


----------



## sga000

I would like to push an .avi file to my Tivo HD with subtitles. I have the .srt file in the same folder as the .avi file. If I use streambaby to stream to my Tivo, the captions show perfectly. But if I try to use the "Push video" feature, the .avi file does get transferred, but the captions do not. Is this by design, i.e. should captions only go with the stream, not with push?

Can someone tell me how to get the captions to be pushed also?


----------



## superflysocal

When I am using the HD GUI, I cannot find streambaby, what menu is it under?

When I use the SD menu (which I like better anyways), it is in the photos, etc. menu, but ss there a way to force streambaby to appear first on the list when you go to that menu?


----------



## lpwcomp

superflysocal said:


> When I am using the HD GUI, I cannot find streambaby, what menu is it under?


Showcases & Apps


----------



## pixelpusher220

I noticed that Streambaby stopped working a few days ago. By rolling back java to Java 7 update 7 it started working again.

Havent seen anything online yet related to why, but wondered if anyone else has seen the issue?

XPsp3
Premiere Elite


----------



## bcamp

pixelpusher220 said:


> I noticed that Streambaby stopped working a few days ago. By rolling back java to Java 7 update 7 it started working again.
> 
> Havent seen anything online yet related to why, but wondered if anyone else has seen the issue?
> 
> XPsp3
> Premiere Elite


Yup. Same with me. I didn't immediately connect the problem to the Java update because it didn't affect me until a reboot a day later.

I didn't want to roll J7 back because of security concerns. My solution was to leave the J7 update, but to reinstall the latest version of J6. Like many, I maintain both for legacy compatibility.


----------



## pixelpusher220

7 u 13 still doesn't allow Streambaby work


----------



## pixelpusher220

bcamp said:


> I didn't want to roll J7 back because of security concerns. My solution was to leave the J7 update, but to reinstall the latest version of J6. Like many, I maintain both for legacy compatibility.


Doesn't having J6 on the machine introduce all the sec vulns of that version though? Having J7 fully updated is nice, but if you have to run J6..isn't that sort of like putting in a new secured door right next to the old insecure one?


----------



## wingnut144

I'm curious, are the developers actively working on updates to StreamBaby?

Seems like it's been dead for a while now.......


----------



## AZrob

Hi all,

I have been using Streambaby on Windows for several years. Always I would be able to stream videos by just selecting the "Same" speed. But this week I decided to install Streambaby on my new Mac Mini. For a frustrating day I kept getting the "Failed to Open Stream" error on most, but not all of my videos that had formerly worked fine under Windows.

Finally I figured out the workaround - you just have to adjust the Quality value to be anything but "Same". Often a Higher quality works - sometimes it's a lower quality, and for some the Same does work. But for the majority of my videos, the Same quality did not work, and you get that error message mentioned above.

This isn't too bad - I don't mind having to pick a different Quality - but why did I never have to do that under the Windows version...anyone got any ideas?

thanks in advance,

Rob from AZ


----------



## superflysocal

Is there a way to force Tivo to put Streambaby at the top of the menu list? i want to make a macro on the remote to enter Streambaby but the problem is that the content of the menus change all the time, so it moves up and down the list on the menu requiring a different number of down arrow presses all the time.


----------



## rfryar

superflysocal said:


> Is there a way to force Tivo to put Streambaby at the top of the menu list? i want to make a macro on the remote to enter Streambaby but the problem is that the content of the menus change all the time, so it moves up and down the list on the menu requiring a different number of down arrow presses all the time.


No way that I know of. But what is interesting is that right after I upgraded the hard drive in one of my TiVos Streambaby was at the top of the list for several weeks before getting sent to the bottom of the list. I have never seen that before and wish I could repeat it on demand.

Rick


----------



## Mikeyis4dcats

ok, streambaby worked on my premiere 3 days ago, but this morning it doesn't even appear on the menu. i've rebooted both pc and tivo to no avail. haven't made any other changes. my HD still displays and operates streambaby just fine. any ideas?


----------



## DougD

In order to update the database used for doing "search" in streambaby you need to update the database yourself or delete the database and let the program re-create it.

I have a program that runs each night at 4 am and deletes the database. (On my linux box I have a cron entry.) To determine the name of the database look for dbname.main in searchNstreambaby.ini since I run streambaby with the command sudo streambaby on my machine this file is at /root/searchNstreambaby.ini. On my machine the line says:
dbname.main=/home/user1/maindatabase

So I then delete the three (3) files named:
/home/user1/maindatabase.script
/home/user1/maindatabase.properties
/home/user1/maindatabase.log

Since this is done automatically each night, the first time I do a search it takes a minute or two while the database is recreated and then the rest of the day it is back to normal speed.

If you prefer you can just rename the three files to a different name.

Since Sept 6th a new version of Streambaby has been available at http://code.google.com/p/streambaby/downloads which offers a search capability and organizes your shows alphabetically.


----------



## DougD

rfryar said:


> Is there an example of any new ini settings? I have not changed my INI file and I did not see any new settings in your new build. Search does not seem to work even for the file names of my videos.
> 
> All my videos are MP4 files.
> 
> Thanks,
> 
> Rick


did you get the list of shows to display under search?


----------



## rfryar

DougD said:


> did you get the list of shows to display under search?


I finally made the change to comment out the filter that restricts to just mpg. I will test it later tonight and see if it makes a difference. Thanks!

Rick


----------



## weggie

Hi all,

I wanted to know if I put a show that I wanted to stream on a ramdisk would it stream to my Tivo faster. I have searched but I haven't seen any posts if anyone has done this.

Thanks!


----------



## wmcbrine

weggie said:


> I wanted to know if I put a show that I wanted to stream on a ramdisk would it stream to my Tivo faster.


No.


----------



## rfryar

DougD said:


> did you get the list of shows to display under search?


Nope I modified the search file, the .working.ini file was rebuilt, but still no results, even for things that would have been in the title of the file.

I have uploaded my .working file. Let me know if there are any changes required to get at least file name searches to work.

Rick


----------



## DougD

rfryar said:


> Nope I modified the search file, the .working.ini file was rebuilt, but still no results, even for things that would have been in the title of the file.
> 
> I have uploaded my .working file. Let me know if there are any changes required to get at least file name searches to work.
> 
> Rick


Three possibilities:
1. I should have told you to shut down streambaby before you edited the searchNstreambaby.working.ini file. Please change the line to be

CONFIG_DEFAULT_EXTS=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,MP4,M4V

and then restart streambaby

2. check the searchNstreambaby.ini files and if you have lines such as the following comment them out by putting a # in front of each line
#query.8.Andor=And
#query.8.type=File Location
#query.8.hasnot=has
#query.8.text=mpg
#query.8.password=

then restart streambaby

3. AFTER YOU MAKE ANY CHANGES YOU NEED TO DELETE THE THREE FILES (they have different extensions) based on what is SHOWN IN SEARCHNSTREAMBABY.INI for MAIN=

then restart streambaby

I was looking into what code changes are needed to get the show descriptions to work under search. In streambaby when you go to a folder and select a movie does streambaby show you the description?


----------



## rfryar

Ok, did all the steps, restarting between each and still no effect on searchs. I have attached the ini's and the log/db below.



DougD said:


> I was looking into what code changes are needed to get the show descriptions to work under search. In streambaby when you go to a folder and select a movie does streambaby show you the description?


After I select a folder the list of files will show up using the filename only. After I select a filename then all the MP4 metadata will appear including image, actor, description, etc.

Thanks for the help thus far,

Rick


----------



## DougD

Okay I found the problem. Currently streambaby is looking for the variable CONFIG_DEFAULT_EXT instead of CONFIG_DEFAULT_EXTS. I will fix this in future versions but to get filenames to show up under search for now add the following line in the searchNstreambaby.ini file (not the working.ini file):

CONFIG_DEFAULT_EXT=mp4,MP4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,MV4,mv4


You will then be able to search for movies by title. Once you click select on the movie name, press right arrow and you should see the movie details.


----------



## MacGuruTX

Hi, I've been running on a Mac just fine. I just did port self update and am now having a problem (Haven't done updates in a while).

FFmpeg was updated, so I suspect my and your problem is related to that, except that you started out with the newer version. I"m digging now to try to figure out if it's fixable, or if I need to downgrade FFmpeg or something else.

03/24/13 17:43:36 ViewScreen: error=Failed to open stream
StreamBabyStream[#1,uri=null] warning: resource 2649 not found.
StreamBabyStream[#1,uri=null] warning: resource 2649 not found.
03/24/13 17:43:48 ViewScreen: code=4 rawcode=16843268
03/24/13 17:43:48 SelectionScreen: focusOn entry=Shaun the Sheep
03/24/13 17:43:48 NewStatusBar: 
03/24/13 17:43:48 SelectionScreen: focusOn entry=Shaun the Sheep
03/24/13 17:43:51 SelectionScreen: code=7 rawcode=16849927
03/24/13 17:43:51 ViewScreen: Desc: My Videos: shaun.the.sheep.307.hdtv.mp4 - 1/43
03/24/13 17:43:51 PreviewWindow: pWidth: 1280
03/24/13 17:43:51 PreviewWindow: preview parent=BView[#3138,bounds=0,0,1280x720]
03/24/13 17:43:51 ViewScreen: goto position: 0, vidlen: 419560
03/24/13 17:43:51 ViewScreen: Position not in buffer, starting new stream
03/24/13 17:43:51 ViewScreen: Openening stream at position: 0(0 secs)
03/24/13 17:43:51 VideoModuleHelper: quality setting is above quality of video, streaming normally
03/24/13 17:43:51 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 25.0 -v 0 -threads 1 -sameq -ab 192k -ar 48000
03/24/13 17:43:51 FFmpegExeVideoModule: FFmpegCmd: /opt/local/bin/ffmpeg -ss 0.0 -i /Volumes/Media-Storage/TiVo-Shows/Shaun the Sheep/shaun.the.sheep.307.hdtv.mp4 -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 25.0 -v 0 -threads 1 -sameq -ab 192k -ar 48000 tcp://127.0.0.1:8500
03/24/13 17:43:51 FFmpegExeVideoModule: FFmpeg failed to continue running... Assuming error
03/24/13 17:43:51 SocketProcessInputStream: Destroying running process...
03/24/13 17:43:51 ViewScreen: error=Failed to open stream
03/24/13 17:43:56 ViewScreen: code=4 rawcode=16843268​


AZrob said:


> Hi all,
> 
> I have been using Streambaby on Windows for several years. Always I would be able to stream videos by just selecting the "Same" speed. But this week I decided to install Streambaby on my new Mac Mini. For a frustrating day I kept getting the "Failed to Open Stream" error on most, but not all of my videos that had formerly worked fine under Windows.
> 
> Finally I figured out the workaround - you just have to adjust the Quality value to be anything but "Same". Often a Higher quality works - sometimes it's a lower quality, and for some the Same does work. But for the majority of my videos, the Same quality did not work, and you get that error message mentioned above.
> 
> This isn't too bad - I don't mind having to pick a different Quality - but why did I never have to do that under the Windows version...anyone got any ideas?
> 
> thanks in advance,
> 
> Rob from AZ


----------



## rfryar

Just an FYI for anyone curious.. Streambaby does not work with the TiVo Mini. Mpeg2 and MP4s both error out on the device.

Rick


----------



## moyekj

rfryar said:


> Just an FYI for anyone curious.. Streambaby does not work with the TiVo Mini. Mpeg2 and MP4s both error out on the device.
> 
> Rick


Yes, no surprise there. Streambaby push is one way to workaround it though if you still want to view recordings via the Mini (and also avoids the 1.1GB buffer limitation). See Streambaby and Mini thread for more details.


----------



## rfryar

moyekj said:


> Yes, no surprise there. Streambaby push is one way to workaround it though if you still want to view recordings via the Mini (and also avoids the 1.1GB buffer limitation). See Streambaby and Mini thread for more details.


Yep just saw that thread after I posted this. That works fine, a bit cumbersome, but at least most of my videos works.

If only the pyTivo interface could mimic the premiere structure so I can push videos from a few of my pyTivo plugins (playon for example).

Well it is a start. Thanks!


----------



## Jayrcee

Can anyone please help with this problem I am having. I just installed a Java update from Apple and now Streambaby is not showing up under Showcases & Apps.

Initializing StreamBaby v20120828-2030...
Apr 17, 2013 2:54:07 AM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
WARNING: closeMulticastSocket() Close socket exception 
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.leave(Native Method)
at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:189)
at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
at javax.jmdns.JmDNS.create(JmDNS.java:41)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
04/17/13 02:54:07 Listener: added factory
04/17/13 02:54:07 Main: streambaby ready & listening.

Any help would be appreciated!
Thanks!


----------



## bcamp

This always happened to me. After a java 7 update I always just reinstalled the latest version of java 6. Both can co-exist on your computer. More recently I learned to edit streambaby.bat and put in the full path to java6 in the command line.

from:
java.exe -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 

to:
"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 

I'm on Win7-64, but you may not be. Just find where your java is located and use the full path to the executable. Be sure to keep a backup of the original ini file in case you need it. If this doesn't work, try reinstalling java6.


----------



## Jayrcee

bcamp said:


> This always happened to me. After a java 7 update I always just reinstalled the latest version of java 6. Both can co-exist on your computer. More recently I learned to edit streambaby.bat and put in the full path to java6 in the command line.
> 
> from:
> java.exe -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> 
> to:
> "C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> 
> I'm on Win7-64, but you may not be. Just find where your java is located and use the full path to the executable. Be sure to keep a backup of the original ini file in case you need it. If this doesn't work, try reinstalling java6.


I appreciate the response. I'm on a Mac, having just recently converted from Windows and I really don't know my way around the OS. I have no idea where Java is installed and therefore don't know the path to edit.


----------



## artiemon

Jayrcee said:


> Can anyone please help with this problem I am having. I just installed a Java update from Apple and now Streambaby is not showing up under Showcases & Apps.
> 
> Initializing StreamBaby v20120828-2030...
> Apr 17, 2013 2:54:07 AM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
> WARNING: closeMulticastSocket() Close socket exception
> java.net.SocketException: Can't assign requested address
> at java.net.PlainDatagramSocketImpl.leave(Native Method)
> at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:189)
> at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
> at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
> at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
> at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
> at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
> at javax.jmdns.JmDNS.create(JmDNS.java:41)
> at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
> at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
> 04/17/13 02:54:07 Listener: added factory
> 04/17/13 02:54:07 Main: streambaby ready & listening.
> 
> Any help would be appreciated!
> Thanks!


I have successfully used Streambaby on my Mac for years. However, I am getting the exact same error ever since I let Software Update install Java for OS X 2013-003. I cannot find a way to back out the update or get Streambaby to work again.

Any help would be appreciated.


----------



## CMed1

support.apple.com/kb/HT5559?viewlocale=en_US

Entering the terminal commands on the page above fixed this issue for me.


----------



## TheWGP

I've tried those terminal commands and am not having any luck. I'm still getting that same identical error that Jayrcee pasted above.

Any other ideas, anyone?

Edit: I got it working by a freak accident: manually starting it like this:
navigating in terminal to (streambaby directory)/jbin and doing "java -jar streambaby.jar" as opposed to the 
"java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" found in the streambaby file that runs. I'm not adept enough at this stuff to figure out why this works, and this note/edit is partly so that I don't forget how I did it tomorrow night...

This is using the latest version, btw - I downloaded a fresh copy.


----------



## CMed1

It went back to not working for me also after entering those terminal commands. That must have been a fluke that it worked even once after doing that.

I actually ended up doing a system restore to go back before the update. That only took about 9 hours.


----------



## ddivins

Jayrcee said:


> Can anyone please help with this problem I am having. I just installed a Java update from Apple and now Streambaby is not showing up under Showcases & Apps.
> 
> Initializing StreamBaby v20120828-2030...
> Apr 17, 2013 2:54:07 AM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
> WARNING: closeMulticastSocket() Close socket exception
> java.net.SocketException: Can't assign requested address
> at java.net.PlainDatagramSocketImpl.leave(Native Method)
> at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:189)
> at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
> at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
> at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
> at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
> at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
> at javax.jmdns.JmDNS.create(JmDNS.java:41)
> at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
> at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
> 04/17/13 02:54:07 Listener: added factory
> 04/17/13 02:54:07 Main: streambaby ready & listening.
> 
> Any help would be appreciated!
> Thanks!


I was having the exact issues. Looks like streambaby dislikes Apple's java 1.6 but seems ok with Oracle's 1.7 (at least 1.7u21)

To correct, install the latest java from java.com (1.7).

Even after doing this, java is still pointing to the Apple version via /usr/bin/java (as seen by "which java") and that version is probably still the apple version:
dsd$ java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)

You need to link the Oracle Java 1.7 here:

sudo ln -sf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java

sudo ln -sf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws /usr/bin/javaws

Now 1.7 should be the default java:
dsd$ java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

Then run streambaby as normal. Works for me. I have started and stopped the it and its seems ok.

Best,
dsd


----------



## az1097

I would like to transfer Shows which I download from the internet to my Tivo Premiere and be able to watch them with Closed Captions. These shows don't have Closed Captioning and for some I download ".srt" files. I'm unable to tranfer the ".srt" files using pyTivo. Would streamBaby able to do so? Thanks.


----------



## moyekj

az1097 said:


> I would like to transfer Shows which I download from the internet to my Tivo Premiere and be able to watch them with Closed Captions. These shows don't have Closed Captioning and for some I download ".srt" files. I'm unable to tranfer the ".srt" files using pyTivo. Would streamBaby able to do so? Thanks.


 Streambaby automatically reads .srt file if you have one of same file name as main video to give you captions (and you can toggle it on/off I think with the Zoom button). i.e. If you have myvideo.mp4 then you would want an accompanying myvideo.srt captions file. There's also a bunch of settings I added for captions a while back to control font size, foreground and background colors, as well as option for no CC background (see the Wiki pages).


----------



## az1097

Thanks moyekj. If I understand it correctly StreamBaby would only stream and not transfer so the PC needs to be running a console in order to use it. Any suggestions on transferring shows with srt, as you mentioned if there are same named mp4 and srt files, to the Tivo.


----------



## moyekj

az1097 said:


> Thanks moyekj. If I understand it correctly StreamBaby would only stream and not transfer so the PC needs to be running a console in order to use it. Any suggestions on transferring shows with srt, as you mentioned if there are same named mp4 and srt files, to the Tivo.


 For viewing captions on transferred videos to TiVo you need EIA-608 captions encoded into video stream. Some discussion about that in pyTivo thread:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=9627231#post9627231
Only other option is use Handbrake to encode subtitles (which can't be turned off) into the video stream using the .srt file.
Using streambaby with .srt file is the easiest solution.


----------



## az1097

moyekj said:


> Only other option is use Handbrake to encode subtitles (which can't be turned off) into the video stream using the .srt file.
> Using streambaby with .srt file is the easiest solution.


How would I encode the subtitles into the video with Handbrake?


----------



## moyekj

az1097 said:


> How would I encode the subtitles into the video with Handbrake?


https://trac.handbrake.fr/wiki/Subtitles


----------



## lpwcomp

moyekj said:


> https://trac.handbrake.fr/wiki/Subtitles


From that link:


> SRT files are pass-through only. They cannot be burnt into the video.


----------



## moyekj

lpwcomp said:


> From that link:


Looks like you need ssa files for burning in with HB. As an alternative I just tried with ffmpeg and it was easy to add burned in subtitles simply by adding:
-vf subtitles=SRTFILE
(I just added above to a kmttg encoding profile and confirmed resulting encoding had burned in subtitles).


----------



## MacGuruTX

ddivins said:


> I was having the exact issues. Looks like streambaby dislikes Apple's java 1.6 but seems ok with Oracle's 1.7 (at least 1.7u21)
> 
> To correct, install the latest java from java.com (1.7).
> 
> Even after doing this, java is still pointing to the Apple version via /usr/bin/java (as seen by "which java") and that version is probably still the apple version:
> dsd$ java -version
> java version "1.6.0_45"
> Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
> Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
> 
> You need to link the Oracle Java 1.7 here:
> 
> sudo ln -sf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
> 
> sudo ln -sf /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws /usr/bin/javaws
> 
> Now 1.7 should be the default java:
> dsd$ java -version
> java version "1.7.0_21"
> Java(TM) SE Runtime Environment (build 1.7.0_21-b12)
> Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)
> 
> Then run streambaby as normal. Works for me. I have started and stopped the it and its seems ok.
> 
> Best,
> dsd


For this to work correctly, I believe you will need to put quotations around the first directory path. Otherwise it will fail due to the space in the directory name of Internet Plug-ins.

like this
sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws


----------



## jhilla

AS a reminder: The Java 7 problem was resolved with the post below: Oh and it's works great! =)
My Streambaby server is running on Windows 7 64bit along with Pytivo-master



DougD said:


> I changed to a newer Linux version and ended up with Java 1.7 which broke my copy of Streambaby. * I was able to get Streambaby to work with Java 1.7 by replacing the cobra.jar file * in the lib folder under streambaby with this one http://code.google.com/p/search-movie-library-on-tivo/downloads/detail?name=cobra.jar
> 
> [SOLVED]


----------



## muzzymate

Has anyone ever figured out a way around the 0xffff "IOException: java.io.IOException: Pipe closed" error?

I'm using Streambaby and all videos work perfectly except for home videos recorded from our iPhones. I found a work around to bump the quality so that the videos are transcoded. However, I'd like to avoid having to manually select the quality indicator and have Streambaby automatically transcode certain types of videos (H.264 video in a MOV container - I think. Definitely an MOV extension). My DVD and TV show rips are in H.264 MP4 container and I would like to avoid having those transcoded since they work perfectly as is. 

I'm aware of the mp4mod.streamformats.disallow= INI setting but it doesn't seem to work setting to "mp4mod.streamformats.disallow=mov" and restarting Streambaby.

Any suggestions? Thanks!


----------



## jcornell

MacGuruTX said:


> For this to work correctly, I believe you will need to put quotations around the first directory path. Otherwise it will fail due to the space in the directory name of Internet Plug-ins.
> 
> like this
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java
> 
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws


This worked for me. Thanks!


----------



## clover_kid

I have applied the changes suggested above for using the Java update with streambaby osx.

It worked great under the previous version od java. Now I get the error shown below.

Any ideas of how to correct?

Thanks

C_K

Initializing StreamBaby v20120828-2030...
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpServer.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
error: Address already in use
usage: Main [--port <port>] [--ip <ip>] class

logout

[Process completed]

EDIT

OK I'm an idiot Googled some more, just changed the port in the streambaby.ini file to a number out of the air (7777) and it worked!


----------



## dwengrovitz

I've been running StreamBaby for quite some time from a Mac without any problem ... that is until recently. I suspect this is due to some of the recent Java or OSX updates, and I've tried following the threads on this forum to address them, but I've not been successful. 

On the server side I'm running OSX 10.8.3 with the latest Oracle Java (1.7.0.21). I need to use the latest Java for some other applications running on the same box, so going back to the older Apple version isn't an option. Every time I try to play a video from the TiVo interface it crashes, and the message I see on the StreamBaby server says:

StreamBabyMain quit unexpectedly while using the libjvm.dylib plug-in. 

Any suggestions or thoughts on how to address this?


----------



## jhilla

*The following will only work if you have Shares open to read/write access.* This is a copy of my config file on my ASUS Win8 Notebook.

#
# ./streambaby --help for more configuration file options
#

com.unwiredappeal.tivo.streambaby
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
com.unwiredappeal.tivo.vm.ffexe
cc.background.transparency=0
quality.highestabr=384
quality.highres=1080
quality.select=true
preview.autogenerate= (default:true)
autogenerate.background= (default:0)
mp4mod.streamformats= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,tivo,asf)
lib.native=C:/appsstreambaby-20120828-2030/native
ffmpeg.path=C:/apps/streambaby-20120828-2030/native/ffmpeg.exe
dir.1=C:/Users/John/Videos
dir.1.name=ASUS Media
dir.2=\\AMD\c$\Users\AMD\Videos\Pytivo\Tv Shows
dir.2.name=Tv Shows
dir.3=\\AMD\c$\Users\AMD\Videos\Pytivo\Kid-Songs
dir.3.name=Kid Songs
dir.4=\\AMD\c$\Users\AMD\Videos\Movies
dir.4.name=Movies
dir.5=\\AMD\c$\Users\AMD\Videos\Home Videos
dir.5.name=Home Videos
#CoverImagesFolder=Y:\covers
# Ip address to bind to
# most people don't need to change this. 
#ip= 192.168.0.14
# port to use
#port=7290
tivo.username=xxxxx
tivo.password=xxxxx



This is my HP AMD Win 7 Desktop - Config file

#
# ./streambaby --help for more configuration file options
#

com.unwiredappeal.tivo.streambaby
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
com.unwiredappeal.tivo.vm.ffexe
cc.background.transparency=0
quality.highestabr=384
quality.highres=1080
quality.select=true
preview.autogenerate= (default:true)
autogenerate.background= (default:0)
mp4mod.streamformats= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,tivo,asf)
lib.native=C:/appsstreambaby-20120828-2030/native
ffmpeg.path=C:/apps/streambaby-20120828-2030/native/ffmpeg.exe
*dir.1=C:/Users/John/Videos
*dir.1.name=ASUS Media
dir.2=c:\Users\AMD\Videos\Pytivo\Tv Shows
dir.2.name=Tv Shows
dir.3=c:\Users\AMD\Videos\Pytivo\Kid-Songs
dir.3.name=Kid Songs
dir.4=c:\Users\AMD\Videos\Movies
dir.4.name=Movies
dir.5=c:\Users\AMD\Videos\Home Videos
dir.5.name=Home Videos
#CoverImagesFolder=c:\Users\AMD\Videos\covers
# Ip address to bind to
# most people don't need to change this. 
#ip= 192.168.0.14
# port to use
#port=7290
tivo.username=xxxx
tivo.password=xxxx

My Streambaby.bat bypassing Java headache

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre7\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd


----------



## mike386

When streaming a .mpg file, streambaby fast forward works correctly. It shows thumbnails and when I press play, it restarts streaming from the selected point in the video. (The .mpg file is a .tivo file that has been decrypted with kmttg.) 

However, when I stream a .tivo file, streambaby fast forward does not work correctly. When I press play, it always restarts the streaming from the beginning of the video. Is this how streambaby works with TiVo-encrypted files, or do I need to change something? I was hoping to be able to stream downloaded .tivo files to another tivo without the need to decrypt or push the whole file. 

Note that it also shows just the time in text instead of thumbnails when fast forwarding a .tivo file.


----------



## thewebgal

I have a 5.1 mkv file on my mac and with streambaby, if I let it preload a bit it plays fine - 
but - it plays in 2 channel Dolby PL II digital - is there a way to send/hear the 5.1 sound through the Streambaby and the TIVO?

Television shows I watch via FIOS/cable in 5.1 mode play just fine ...


----------



## Shagger

jhilla said:


> AS a reminder: The Java 7 problem was resolved with the post below: Oh and it's works great! =)
> My Streambaby server is running on Windows 7 64bit along with Pytivo-master


OK, I also had my Stream Baby Stream break after the upgrade to Java 7. I run Windows 7 64 bit. I was on the old 0.29 version so I upgraded to the "streambaby-20120828-2030" version. I replaced the cobra.jar file with the patched one and restarted Stream Baby Stream. No luck. It's still broken. 

I run it as a batch file not a service. Here is my .ini file, pretty basic:

#
# ./streambaby --help for more configuration file options
#

dir.1=D:\Tivo
dir.1.name=Tivo
dir.2=E:\TV Shows
dir.2.name=TV Shows
dir.3=E:\Movies
dir.3.name=Movies
dir.4=F:\The Joy of Painting
dir.4.name=The Joy of Painting
dir.5=E:\Dropbox
dir.5.name=Dropbox
dir.6=F:\Captured Videos
dir.6.name=Captured Videos

#CoverImagesFolder=/path/to/my/covers
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290

Anyone have any ideas of something to try?!?


----------



## rfryar

thewebgal said:


> I have a 5.1 mkv file on my mac and with streambaby, if I let it preload a bit it plays fine -
> but - it plays in 2 channel Dolby PL II digital - is there a way to send/hear the 5.1 sound through the Streambaby and the TIVO?
> 
> Television shows I watch via FIOS/cable in 5.1 mode play just fine ...


I am going to assume it is transcoding since it is a MKV file. If you manually transcoded it to MP4 with AC3 5.1 audio the audio would be preserved. However when Streambaby (FFMPEG) is transcoding it is replacing your audio to Stereo AAC audio.

Rick


----------



## darrin75

I have dtivo with hme working. I also have streambaby working except for play the files of course, but would it not be easy to support series two ty format as many builds of ffmpeg can convert to ty on the fly. If streambaby allows ffmpeg to transcode to series 3 format which I assume is .tivo and newer series probably has codec to play mp4 on board the units. If I was a coding guy it seems simply, maybe not. But it seems if we used a ty producing ffmpeg for series two, why can't stream baby be made to use ffmpeg to transcode to ty on the fly to series, much like tivoserver did in the past over HMO. If stdout was used to pipe to transcoded mpg,avi or mpg to ty format. StreAmbaby would at least in my opinion work on series 2.

Thanks


----------



## wmcbrine

It doesn't work like that, at all.


----------



## zeke009

Shagger said:


> OK, I also had my Stream Baby Stream break after the upgrade to Java 7. I run Windows 7 64 bit. I was on the old 0.29 version so I upgraded to the "streambaby-20120828-2030" version. I replaced the cobra.jar file with the patched one and restarted Stream Baby Stream. No luck. It's still broken.


Look at the batch file. Since you mentioned upgrading to Java 7, I am guessing the batch file is pointing to the Java 6 directory.

Here is the Java path from my setup w/ Java 7:
"C:\Program Files (x86)\Java\jre*7*\bin\java.exe"

*Also, I have had to delete StreamBaby (including cache) and then reinstall it a few times. Naturally, set a copy of your ini file aside so you can make your configuration earlier.


----------



## zeke009

I've had StreamBaby running on my WHS2011 box for sometime now. But lately none of the TiVo units can connect unless I try some trickery (reboot WHS2011, Restore StreamBaby from a known good state, reboot TiVo's).

*Configuration*
- Using JRE 1.7.0_25
- StreamBaby port is enabled in the ini file
- StreamBaby port is open on WHS2011
- WHS2011 has the port forwarded to it on my router
- WHS2011 has a reserved IP in my router

Any ideas of what I may have to look at?

Most recent example:
TiVo Premiere (2 tuner, connected via network cable) was not able to access StreamBaby. Rebooted TiVo Premiere, still unable to access StreamBaby. Closed StreamBaby and tried again. That didn't work, so my next step is to reboot WHS2011 and try again later (I'll update when I get back).


----------



## darrin75

wmcbrine said:


> It doesn't work like that, at all.


I would like to know then? It seems to me series 2 ty support would be easy, but then again I am no good at java???


----------



## dveer

Has anyone gotten Streambaby to successfully stream an .avi on Mountain Lion? 

I have read every forum and tried every hack/solution/iteration/version of Java and ffmpeg and keep getting errors. I'll fix one issue, but get another and can never solve them all. I even got the modified cobra.jar and nothing seems to work. 

If you have it up and running, can you post your setup and .ini file please? I've been using PytivoX for a long time and then it broke with a recent update just like many others here. This place is a goldmine of information, but unfortunately I haven't found a solution yet. 

Thanks to everyone who posts their findings here!


----------



## mrpantstm

Anyone know why Streambaby would be seen by Tivo on a wireless laptop but Streambaby running on an ethernet (to the router) computer doesn't show up on the Tivo? Something with my router or with the Tivo Premiere?


----------



## moyekj

mrpantstm said:


> Anyone know why Streambaby would be seen by Tivo on a wireless laptop but Streambaby running on an ethernet (to the router) computer doesn't show up on the Tivo? Something with my router or with the Tivo Premiere?


 Series 4 & 5 TiVos using HDUI don't always update the Showcases entries when running local HME applications. Try following sequence to reset the HDUI which should make streambaby appear if that is indeed your problem:
Thumbs Down, Thumbs Up, Play, Play.


----------



## CoxInPHX

utivol said:


> I am having a problem with Streambaby not playing videos where I have the metadata txt file present. It will not go any further on the Tivo than the screen which displays the description derived from the metadata file. Otherwise it plays video just fine when the file isn't present.
> Thanks for your help.





DougD said:


> Check the metadata file to see if you have a line like image: xxxxx.jpg
> if so try deleting it and see if the video plays. If the image file is not in the same directory as the video streambaby locks up.


I have this issue also with all videos that have a .txt metadata file.
There is no image: line in the metadata .txt file.
The video will play fine if I rename the .txt file, what else in the .txt file could be causing this issue.

Here is an example that will not play:

The Mary Tyler Moore Show (S01E01) - Love Is All Around.mpg
The Mary Tyler Moore Show (S01E01) - Love Is All Around.mpg.txt (if I rename the .txt file it loads and plays fine.)


Code:


title : The Mary Tyler Moore Show
seriesTitle : The Mary Tyler Moore Show
description : In the series pilot, &#8220;spunky&#8221; Mary Richards (Mary Tyler Moore) tries to win the respect of her new boss, Lou Grant (Edward Asner), and adjust to life in Minneapolis, where she is surrounded by a variety of oddball friends and co-workers. Rhoda: Valerie Harper. Murray: Gavin McLeod. Ted: Ted Knight. Phyllis: Cloris Leachman. Bess: Lisa Gerritsen. 
time : 1970-09-19T03:00:00Z
isEpisode : true
iso_duration : PT29M58S
originalAirDate : 1970-09-18T00:00:00Z
episodeTitle : Love Is All Around (S01E01)
isEpisodic : true
showingBits : 513
tvRating : x3
episodeNumber : 101
displayMajorNumber : 93
callsign : KAZTDT2
seriesId : SH002810
programId : EP000028100001
vActor : Moore|Mary Tyler
vActor : Asner|Edward
vActor : Knight|Ted
vActor : MacLeod|Gavin
vActor : Harper|Valerie
vActor : Leachman|Cloris
vDirector : Sandrich|Jay
vExecProducer : Brooks|James L.
vExecProducer : Burns|Allan
vProducer : Weinberger|Ed
vProducer : Daniels|Stan
vProgramGenre : 
vSeriesGenre : 
vSeriesGenre : 
vGuestStar : Gerritsen|Lisa
vGuestStar : Duncan|Angus


----------



## moyekj

My guess as to what causes it to fail are the 3 names without values.


----------



## CoxInPHX

moyekj said:


> My guess as to what causes it to fail are the 3 names without values.


Deleted the lines without values, and is still is stuck on Please Wait...

Any other ideas?

Would someone please post a Metadata file that works for them.


----------



## moyekj

"description" value has quotes which may be causing problems. You could just try trial and error approach - make a copy of current file, delete half the values and try again, repeat until narrowing down to 1 or more fields as the culprit.
Here's a sample metadata file that works fine for me:


Code:


title : Rescue Me
seriesTitle : Rescue Me
description : A no-nonsense woman, looking for a date, shows up at the firehouse talking trash; Janet offers Tommy an ultimatum; Needles and Lou concoct a battle of the sexes. 
time : 2009-08-09T09:30:00Z
isEpisode : true
iso_duration : PT5M
originalAirDate : 2009-08-08T00:00:00Z
episodeTitle : Carrot: Three-Minute Replay
isEpisodic : true
episodeNumber : 518
showingBits : 262144
tvRating : x6
programId : EP6693530100
seriesId : SH669353
vActor : Leary|Denis
vActor : Lombardi|Michael
vActor : Pasquale|Steven
vActor : Roth|Andrea
vActor : Scurti|John
vActor : Sunjata|Daniel
vActor : Tate|Larenz
vDirector : Girotti|Ken
vExecProducer : Tolan|Peter
vExecProducer : Serpico|Jim
vProducer : Orent|Kerry
vProgramGenre : Drama
vSeriesGenre : Drama
vSeriesGenre : Drama
vWriter : Leary|Denis
vWriter : Reilly|Evan


----------



## lpwcomp

moyekj said:


> "description" value has quotes which may be causing problems.<snip>


I was thinking it could be the colons in the description, confusing the parser.


----------



## CoxInPHX

moyekj said:


> "description" value has quotes which may be causing problems. You could just try trial and error approach - make a copy of current file, delete half the values and try again, repeat until narrowing down to 1 or more fields as the culprit.
> Here's a sample metadata file that works fine for me:


Strange...I copied and pasted the text of your "Rescue Me" file and my videos will still not play with that as the .txt file.


----------



## moyekj

CoxInPHX said:


> Strange...I copied and pasted the text of your "Rescue Me" file and my videos will still not play with that as the .txt file.


 Strange indeed. Maybe there's some caching happening? Perhaps try re-starting streambaby.


----------



## CoxInPHX

Even a .txt file with just a title will not work.


Code:


title : Love Is All Around

Is there anything in the streambaby files that needs to be modified in order to use metadata?


----------



## moyekj

Below is my streambaby.ini file FWIW.
Also, note that I'm not using the latest streambaby version with search capabilities added as I'm not sure what changed in it. Version I'm using is the 2nd latest:
http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20111203-2132.zip&can=2&q=


Code:


dir.1=c:\home\dvd
title=streambaby
autogenerate.continue=false
use.title=false
sort.filename=true
mp4module.interleave=false

cc.background=0
cc.background.transparency=0
cc.textcolor=yellow

#pushes
tivo.username=xxxx
tivo.password=xxxx
tivo.mind=mind.tivo.com:8181


----------



## darrin75

Why can't someone add series two support for playing ty files??? Please the ui looks awesome but series two is all I have.


----------



## CoxInPHX

moyekj said:


> Below is my streambaby.ini file FWIW.
> Also, note that I'm not using the latest streambaby version with search capabilities added as I'm not sure what changed in it. Version I'm using is the 2nd latest:
> http://code.google.com/p/streambaby/downloads/detail?name=streambaby-20111203-2132.zip&can=2&q=


I used your code for the streambaby.ini file and installed the 2nd latest version. Still I cannot play anything with a .txt file.

Here is the code produced when attempting to play a file with a .txt
Any other Ideas? I am not running as a service, just standalone, and have not modified the wrapper.conf



Code:


Initializing StreamBaby v20111203-2132...
09/08/13 17:21:42 Listener: added factory
09/08/13 17:21:42 Main: streambaby ready & listening.
log after close : initContext version=49
09/08/13 17:21:52 Factory: HME receiver connected
java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, bu
t class was expected
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)

        at org.lobobrowser.util.gui.FontFactory.createFont_Impl(FontFactory.java
:180)
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:127)

        at org.lobobrowser.util.gui.FontFactory.getFont(FontFactory.java:98)
        at org.lobobrowser.html.style.StyleSheetRenderState.<clinit>(StyleSheetR
enderState.java:43)
        at org.lobobrowser.html.domimpl.NodeImpl.<clinit>(NodeImpl.java:39)
        at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(Docume
ntBuilderImpl.java:143)
        at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRender
er.java:113)
        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataView
er.java:86)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:8
4)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScre
en.java:98)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java
:88)
        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)


----------



## moyekj

CoxInPHX said:


> I used your code for the streambaby.ini file and installed the 2nd latest version. Still I cannot play anything with a .txt file.
> <snip>


 Are you running Java 7 (1.7)? Since Streambaby code hasn't been updated in a while it doesn't play nice with latest versions of Java. If you run Java 6 (1.6) it may fix your problem. Here's version I'm running (using "java -version"):
java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
Java HotSpot(TM) Client VM (build 14.1-b02, mixed mode, sharing)

EDIT: Since I also have Java 7 installed as well I modified streambaby.bat to use Java 7 instead and then can duplicate issue you are seeing. So easiest fix is to install and use Java 6.


----------



## CoxInPHX

Yes, I am running Java 7, will give 6 a try.

Thanks


----------



## CoxInPHX

Thank You so much, I owe you a beer.

Java 6 works


----------



## AZrob

Hi all,

After months of having no problem running Streambaby on my Mac Mini (OSX 10.8.4) i am getting the "can't assign requested address" error. This happens whether I put in the right address or comment it out.

_/Applications/streambaby/streambaby ; exit;
Initializing StreamBaby v20120828-2030...
Sep 15, 2013 1:38:45 PM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
WARNING: closeMulticastSocket() Close socket exception 
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.leave(Native Method)
at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:232)
at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
at javax.jmdns.JmDNS.create(JmDNS.java:41)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:152)
09/15/13 13:38:45 Listener: added factory
09/15/13 13:38:45 Main: streambaby ready & listening.
_
I suspect this is due to a Java issue, because I think the last time Streambaby worked I was using version 6.something. When I look at my Java Preferences pane, it says I am at version 7, Update 25. I have read somewhere here that version 7 doesn't play well with Streambaby. Do I need to go back to version 6? I am told that that using anything older than 7 is risky.

Although I am an IT professional with decades of experience in windows and unix, I'm a newbie when it comes to OSX as well as java, so "talk to me like I'm a 5th grader" if the fixes involve anything along the lines of tinkering deeply with OSX or java.

thanks in advance,

Rob from AZ


----------



## moyekj

Just look at post right above yours - yes Java 7 is an issue with streambaby.


----------



## AZrob

Thanks, moyekj. I kind of assumed that Java 7 was the issue. What I would like to know is:

1. Is it safe to go back to Java 6, as long as you disable it in the browser? In other words, is the standalone version of Java not a security issue?

2. How do you downgrade from 7 to 6 on the Mac?

thanks in advance,

Rob


----------



## thewebgal

Streambaby failed over the weekend (TIVOHD & OSX 10.8.5) -
So I went back and forth trying to remove 7 and enable Java 6 
but it didn't seem to be happening - so - I gave up and just deleted the java module, 

oracle sez: To uninstall Java 7, you must have Administrator privileges.

Click on the Finder icon located in your dock
Click on Applications tab on the sidebar
In the Search box enter JavaAppletPlugin.plugin
This will find the JavaAppletPlugin.plugin file
Right click on JavaAppletPlugin.plugin and select Move to Trash


After I did that I type java -version into terminal and it said no file or directory with that name ...
THEN I downloaded and installed the latest-greatest from Oracle - Java 7u40 (64 bits) ... 

I dinked with the ini file a bit, rebooted and - its working again, now with Java 7 ...
now when I type java -version in a terminal window, I get

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)


----------



## Wil

AZrob said:


> Always I would be able to stream videos by just selecting the "Same" [quality]. But this week I decided to install Streambaby on my new Mac Mini. For a frustrating day I kept getting the "Failed to Open Stream" error ... Finally I figured out the workaround - you just have to adjust the Quality value to be anything but "Same"


I have fought my way through the OS X 10.8.x/java7/java6 problems, finally got back to working again, but have arrived at where you are (or were?).

I'm happy to be here! Minor problem as compared to not working at all.

But did you ever solve this?

I'm also no longer able to fast forward (beyond the green line) like I did with older Mac OS's and previous versions of Java.

But, as I said, at least it's working. Basically, for the other problems I cleaned house as best I could with Java, deleted everything, installed a developer version of java 7, then overlaid version 6 (but still pointing to 7).


----------



## AZrob

moyekj said:


> Just look at post right above yours - yes Java 7 is an issue with streambaby.


Moyekj,

Actually, I just realized that I am running Version 6, or so it would seem from this result:

_$ java -version
$ java version "1.6.0_51"
$ Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
$ Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
_

Would it be the build? Yours is older at 15 than mine at 51.

thanks,

Rob


----------



## AZrob

TheWGP said:


> I've tried those terminal commands and am not having any luck. I'm still getting that same identical error that Jayrcee pasted above.
> 
> Any other ideas, anyone?
> 
> Edit: I got it working by a freak accident: manually starting it like this:
> navigating in terminal to (streambaby directory)/jbin and doing "java -jar streambaby.jar" as opposed to the
> "java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar" found in the streambaby file that runs. I'm not adept enough at this stuff to figure out why this works, and this note/edit is partly so that I don't forget how I did it tomorrow night...
> 
> This is using the latest version, btw - I downloaded a fresh copy.


Sir, I am in your debt.....after trying 10 different ways to get rid of that error, I found the trick you stumbled on ...and it worked like a charm. I am very grateful...in playing around with the file I found that the original file works fine if you eliminate the -Djava.net.preferIPv4Stack=true parameter. Can anyone tell me why that parameter no longer works?

Rob


----------



## AZrob

AZrob said:


> Moyekj,
> 
> Actually, I just realized that I am running Version 6, or so it would seem from this result:
> 
> _$ java -version
> $ java version "1.6.0_51"
> $ Java(TM) SE Runtime Environment (build 1.6.0_51-b11-457-11M4509)
> $ Java HotSpot(TM) 64-Bit Server VM (build 20.51-b01-457, mixed mode)
> _
> 
> Would it be the build? Yours is older at 15 than mine at 51.
> 
> thanks,
> 
> Rob


Never mind...see above....


----------



## AZrob

Wil said:


> I have fought my way through the OS X 10.8.x/java7/java6 problems, finally got back to working again, but have arrived at where you are (or were?).
> 
> I'm happy to be here! Minor problem as compared to not working at all.
> 
> But did you ever solve this?
> 
> I'm also no longer able to fast forward (beyond the green line) like I did with older Mac OS's and previous versions of Java.
> 
> But, as I said, at least it's working. Basically, for the other problems I cleaned house as best I could with Java, deleted everything, installed a developer version of java 7, then overlaid version 6 (but still pointing to 7).


I never solved this....I use the fastest speed I can get away with, but SAME no longer works.

Like you, I cannot Fast Forward beyond the green line. The only workaround I have found is I first set the speed to the slowest rate (Very Slow or something like that) and that allows the green line to move forward the fastest (I was getting a 5 to 1 ratio, of 5 minutes forward per minute). Then when I get where I want to be, I go backwards a few minutes to give the buffer time to adjust and I go back to the menu and choose the speed I want. It's a kluge but at least it works.

Anyone out there have a solution to the Fast Forward issue?

thanks,

Rob


----------



## thewebgal

I installed mavericks on my mac Pro (Early 2009) today. Checked my TIVOHD and no streambaby visible ...
Did the procedure in the quote below and removed the JavaAppletPlugin.plugin file
Then i went to oracle and located the current latest greatest -
https://www.java.com/en/download/mac_download.jsp?locale=en

After I downloaded and installed it, I popped open a terminal window and typed "java -version" 
and it showed the OLD file still - so at that point I ran the following two sudo commands in Terminal window

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws

NOW when I run java -version I get

java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

I also just checked the TIVOHD and now I see streambaby again ...
So, this confirms that the "old" streambaby works under OSX 10.9

WooHoo!!



thewebgal said:


> Streambaby failed over the weekend (TIVOHD & OSX 10.8.5) -
> So I went back and forth trying to remove 7 and enable Java 6
> but it didn't seem to be happening - so - I gave up and just deleted the java module,
> 
> oracle sez: To uninstall Java 7, you must have Administrator privileges.
> 
> Click on the Finder icon located in your dock
> Click on Applications tab on the sidebar
> In the Search box enter JavaAppletPlugin.plugin
> This will find the JavaAppletPlugin.plugin file
> Right click on JavaAppletPlugin.plugin and select Move to Trash
> 
> After I did that I type java -version into terminal and it said no file or directory with that name ...
> THEN I downloaded and installed the latest-greatest from Oracle - Java 7u40 (64 bits) ...
> 
> I dinked with the ini file a bit, rebooted and - its working again, now with Java 7 ...
> now when I type java -version in a terminal window, I get
> 
> java version "1.7.0_40"
> Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
> Java HotSpot(TM) 64-Bit Server VM (build 24.0-b56, mixed mode)


----------



## klyde

Can somebody explain this? I just got a notification of this post because I'm subscribed. However the message is nowhere near what is posted. Here is what I got. Whats going on?

bNynde4bch has just replied to a thread you have subscribed to entitled - Streambaby - new streaming application - in the TiVo Home Media Features & TiVoToGo forum of TiVo Community.

This thread is located at:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=416858&goto=newpost

Here is the message that has just been posted:
***************
doudoune canada goose iheartbikes ca]canada goose parka clearance Plus the whole family is ageing therefore arranged adequate were, the price of the smog when Singapore, a serious stock heart and consequently vacation spot, could actually end up poisonous of dollars [theistanbulforum org/en/default asp canada goose outlet] I also don't have great to say about GIT considering that i don't wish to pamper associated with jolt, purely because to play with this valuable fragrance you really should be in its bristling appearance by yourself 
mapa-beograda com/about-us html]Cheap canada goose sale The perfect solution would have been to get rid of that, Reformat these microsoft zune and therefore totally reset I web not the only human being to encounter this matter, however,though there will be no not very difficult address, aside from deleting anything and everything and consequently launching in Canada Goose Tilbud iheartbikes ca]Canada Goose Parka 
commence women lasting love perfume the idea means they enhance? as long as aroma truly does lure quite a number of bodily hormones in women, and as well,as well as the increase their absolutely love, It is the response men have to them that arrive a good number of ideal 
Canada Goose Nettbutikk Canada goose jakker Dame who have him you could begin wedding ushers several children to add that their particular time comes to an end simply because organic beef only to be able to ger 4 to 5 numerous from that is time to create a to arrange place up adobedentistrytucsonaz com]Canada goose jakker canada goose jakke tilbud dk 
canada goose jakke rens pris tremblantphoto ca]Canada Goose On sale canada goose parka outlet Or perch smell trouble wearing simple word groups,analysis in April by your nonpartisan commercial scheme start concluded that the minimumwage strengthen does make near enough 5 
career-change ca]canada goose parka The cast list related to heroines within a memo romance would not get more sublime: the biggest coming from the armed forces, leading spymaster, perfect jurists, A posse to do with film magicians containing specks memory foam on the aggravated deals with, Two known politicos complete with pretensions with reformism but not just getting for yourself in the present conspiracy theory report known as Memogate even so hardly pausing recently start a career as the truck bed cover's leading winners, crucial reformers following this advice laugh on the way to supreme court, in turn providing credit it fat loss together with respectabily iheartbikes ca]Canada Goose Outlet Cheap Canada Goose Jackets conveyor rollers festered mowat-wilson syndrome barren definition moralistically swimwear piggyback ride sluggish colon erasure oh l'amour farewell to manzanar mishandles crossword clue phosphorylation juntos finanzas offer letter deepend every on!
e container lasts for around 200 schedule with regards to odorous use, or maybe a considerably less at any time you start the "degree" (perhaps there is a new phrases?) conceivably someday hurriedly we should the majority of indeed be gazing "character 2" featuring olfactory enchancment
***************

Again...This thread is located at:
http://www.tivocommunity.com/tivo-vb/showthread.php?t=416858&goto=newpost


----------



## muzzymate

Re: clyde

Spam message that was posted to the thread. A moderator removed the spam post before you came back to view the message.


----------



## moyekj

Spam that was subsequently deleted by moderators. Please don't re-post/quote spam - i.e. Delete from your post.


----------



## klyde

muzzymate said:


> Re: clyde
> 
> Spam message that was posted to the thread. A moderator removed the spam post before you came back to view the message.


Ok, although I don't see what the spam is, its just jiberish. I did not recognize it as spam. and if it was it got through to everyone that is subscribed.
Thank you


----------



## gonzotek

klyde said:


> Ok, although I don't see what the spam is, its just jiberish. I did not recognize it as spam. and if it was it got through to everyone that is subscribed.
> Thank you


It's got web links embedded in the jibberish. How many links a site has going back to it from other sites is one of the ways Google and other search engines determine ranking. So an unscrupulous site owner spams a bunch of forums, where the links will all show up on a number of pages, and be seen by a large number of people. And then the bad site goes up higher in the search results. That's the general idea anyway. In practice, Google, et al, are aware of this and have ways of detecting gibberish from legitimate conversation, and most busy sites are also on top moderating things so the junk doesn't stay up long.


----------



## TheWGP

Just thought I'd report back. I just installed OS X Mavericks and, like everyone else, needed to reinstall a Java SDK.

I installed the Java SE Development Kit 7u45 from the link that OS X sent me to (http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html), the one for Mac OS X x64.

My streambaby is working just fine. Please note, though, that I have the fix / edit applied in my streambaby.bat as follows:

java -Djava.net.preferIPv4Stack=true -Xmx256m -jar "$DIRNAME/jbin/streambaby.jar

All of that may or may not be needed (per recent posts) but that's what I'm using and it works for me, so until someone fixes streambaby itself... :up:

Happy Mavericks-streambabying!


----------



## thewebgal

So - I am thinking about upping my system and replacing my TIVOHD with the basic Roamio - can anyone comment if Stream Baby will still work with the Roamio?


----------



## moyekj

thewebgal said:


> So - I am thinking about upping my system and replacing my TIVOHD with the basic Roamio - can anyone comment if Stream Baby will still work with the Roamio?


 It does and with the same 1.1GB buffer size limitation.


----------



## thewebgal

moyekj said:


> It does and with the same 1.1GB buffer size limitation.


I don't mind that limit - its works out to about 45 mins per buffer-full on our current TIVOHD system ... Sounds like a good plan to get the price match on a Tivo Roamio at BestBuy today, order a 3TB WD drive and get it online for Christmas!


----------



## meBigGuy

I'm running Windows 7 x64, wired network connection to my TIVO Series 3 HD. quad core I7 @ 2.6GHz.

Stock streambaby v.29 with vanilla ini (no tweaks)

When streaming a 720p video (Video=3.764Kbps) the Tivo does not keep up if I let it stream at SAME. If I change to Highest - 5000 Kb/s then it streams without buffering issues, but the quality is way down.

The file is a 43 min show and 1.4GB, but it rebuffers at 21min for some reason so maybe it is actually higher than 3.765Kbps when sent to the TIVO.

Here are the video properties:


Spoiler






Code:


General
Unique ID                      : 178439231546728339973762144169366149392 (0x863E255B992A49C6842DDF3CEFA85910)
Complete name                  : B:\video\xyz.720p.WEB-DL.DD5.1.H.264-ECI.mkv
Format                         : Matroska
Format version                 : Version 4 / Version 2
File size                      : 1.28 GiB
Duration                       : 43mn 18s
Overall bit rate               : 4 232 Kbps
Encoded date                   : UTC 2013-09-27 11:13:15
Writing application            : mkvmerge v6.3.0 ('You can't stop me!') built on Jun 28 2013 20:09:41
Writing library                : libebml v1.3.0 + libmatroska v1.4.0

Video
ID                             : 1
Format                         : AVC
Format/Info                    : Advanced Video Codec
Format profile                 : [email protected]
Format settings, CABAC         : No
Format settings, ReFrames      : 2 frames
Codec ID                       : V_MPEG4/ISO/AVC
Duration                       : 43mn 18s
Bit rate                       : 3 764 Kbps
Width                          : 1 280 pixels
Height                         : 720 pixels
Display aspect ratio           : 16:9
Frame rate mode                : Constant
Frame rate                     : 23.976 fps
Color space                    : YUV
Chroma subsampling             : 4:2:0
Bit depth                      : 8 bits
Scan type                      : Progressive
Bits/(Pixel*Frame)             : 0.170
Stream size                    : 1.14 GiB (89%)
Language                       : English
Default                        : Yes
Forced                         : No
Color primaries                : BT.709
Transfer characteristics       : BT.709
Matrix coefficients            : BT.709

Audio
ID                             : 2
Format                         : AC-3
Format/Info                    : Audio Coding 3
Mode extension                 : CM (complete main)
Format settings, Endianness    : Big
Codec ID                       : A_AC3
Duration                       : 43mn 18s
Bit rate mode                  : Constant
Bit rate                       : 384 Kbps
Channel(s)                     : 6 channels
Channel positions              : Front: L C R, Side: L R, LFE
Sampling rate                  : 48.0 KHz
Bit depth                      : 16 bits
Compression mode               : Lossy
Stream size                    : 119 MiB (9%)
Language                       : English
Default                        : Yes
Forced                         : No

Text
ID                             : 3
Format                         : UTF-8
Codec ID                       : S_TEXT/UTF8
Codec ID/Info                  : UTF-8 Plain Text
Language                       : English
Default                        : No
Forced                         : No





Is the audio messing me up? Is it just too much video bandwidth? I tried setting the tuners to blank channels and it made no difference.

It may be it messes up most when there is highest detail, so possibly there is higher datarate at that time.

Any idea of what network data transfer rate the TIVO starts falling behind?


----------



## moyekj

Since it's MKV container streambaby is probably re-encoding the video to mpeg2 on the fly which is why it's slow. You should remux to mp4 container or use pyTivo instead with ts=on setting for best possible quality transfer. (Actually I'm not sure if pyTivo ts=on works for series 3 units or not since mine are all sitting in closets).


----------



## lpwcomp

moyekj said:


> Since it's MKV container streambaby is probably re-encoding the video to mpeg2 on the fly which is why it's slow. You should remux to mp4 container or use pyTivo instead with ts=on setting for best possible quality transfer.


Unless you are in Aus/NZ, you need an S4 or later for "ts=on" to do anything.


----------



## moyekj

lpwcomp said:


> Unless you are in Aus/NZ, you need an S4 or later for "ts=on" to do anything.


 Hence my qualifier in parenthesis missing from your quote. A remux to mp4 container should work then.


----------



## lpwcomp

moyekj said:


> Hence my qualifier in parenthesis missing from your quote.


Since I did not edit the quote, you must haves added after I quoted it but possibly before I posted.


----------



## moyekj

lpwcomp said:


> Since I did not edit the quote, you must haves added after I quoted it but possibly before I posted.


 Gotcha. I added a minute after my 1st post after realizing series 3 unit was in the picture.


----------



## lpwcomp

moyekj said:


> Gotcha. I added a minute after my 1st post after realizing series 3 unit was in the picture.


Yeah, I started to post immediatly but decided I needed to make sure it was accurate so went off to find the post to which I linked.

I used to try and avoid mkv files as I was running Win2k so couldn't run the ffmpeg needed for "ts=on", so xfers took forever. New machine running 8.1 thus new ffmpeg. Holy ****! I can actually see the progress bar moving. Takes < 3.5 minutes to xfer a 44 min 720p recording.


----------



## meBigGuy

I thought that if "SAME" appeared in the menu it was not being transcoded. But, no matter since I understand what is happening.

I finally figured out the issue is that the encoding is variable data rate and was approaching 16Mb/s in peak bursts (during high detail scenes) (16000Kb/s). When I selected Highest-5000Kb/s it transcoded to that data rate and the quality suffered as a result.

The TIVO just can't keep up with the higher average data rate that corresponds to scenes with high details (lots of trees with leaves in the breeze, in my case). It can do better than 5000 I think, but I don't know how much. Maybe I will eventually translate stuff to different fixed data rates and see where it breaks.

I guess if you want really high quality you need to load the file in its entirety and then play it.


----------



## berkinet

moyekj said:


> Originally Posted by thewebgal
> _So - I am thinking about upping my system and replacing my TIVOHD with the basic Roamio - can anyone comment if Stream Baby will still work with the Roamio?_
> 
> 
> 
> It does and with the same 1.1GB buffer size limitation.
Click to expand...

I am running Streambaby in pyTivoX on MacOS 10.9.1 (Mavericks) and trying to receive the stream on a Roamio+. So far no joy. Maybe I am looking in the wrong places, but I can't find my stream anywhere on the Roamio+'s TiVo Central. Any ideas? (FWIW, pyTivo is working and I can download videos in _My Shows_.


----------



## moyekj

berkinet said:


> I am running Streambaby in pyTivoX on MacOS 10.9.1 (Mavericks) and trying to receive the stream on a Roamio+. So far no joy. Maybe I am looking in the wrong places, but I can't find my stream anywhere on the Roamio+'s TiVo Central. Any ideas? (FWIW, pyTivo is working and I can download videos in _My Shows_.


 TiVo Central->Apps & Games
Look towards the bottom. If you don't see it then reset the HDUI using following remote sequence:
Thumbs down, Thumbs up, play, play

Then look under Apps & Games again towards the bottom. If you still don't see it that means it's not running properly perhaps because of firewall or A/V software.


----------



## berkinet

moyekj said:


> TiVo Central->Apps & Games
> Look towards the bottom. If you don't see it then reset the HDUI using following remote sequence:
> Thumbs down, Thumbs up, play, play
> 
> Then look under Apps & Games again towards the bottom. If you still don't see it that means it's not running properly perhaps because of firewall or A/V software.


 Thanks moyekj
Well, some progress. I tried the regular streambaby distribution and it worked. Then I went into the pyTivoX bundle and started streambaby there from the command line. That worked. However, it seems pyTivoX cannot properly start streambaby.

Has anyone else experienced this issue?

OTOH, when I got stream baby to work (manual start from the command line) it displays with "\032" in place of the spaces:_ stream\032baby_ I guess this is a known issue... but, is there a workaround?


----------



## moyekj

berkinet said:


> OTOH, when I got stream baby to work (manual start from the command line) it displays with "\032" in place of the spaces:_ stream\032baby_ I guess this is a known issue... but, is there a workaround?


 It's a TiVo bug. Workaround is use a title without spaces in streambaby.ini. I have following entry for title which shows up fine:
title=streambaby


----------



## berkinet

berkinet said:


> ...it seems pyTivoX cannot properly start streambaby.


Problem resolved. See this post in the pyTivoX thread


----------



## Thomaseo1

Is there a way to make Streambaby, by default, not show subtitles, by using either the .ini file or by modifying another file without disabling it.

Also is it possible to have Streambaby show mpaa rating (G PG PG-13 R etc)from .txt files like PyTivo does?

These 2 things have been bugging me forever and I can't seem to figure them out.

Any help would be appreciated 
Thanks....


----------



## thewebgal

Thomaseo1 said:


> Is there a way to make Streambaby, by default, not show subtitles, by using either the .ini file or by modifying another file without disabling it.
> 
> Also is it possible to have Streambaby show mpaa rating (G PG PG-13 R etc)from .txt files like PyTivo does?
> 
> These 2 things have been bugging me forever and I can't seem to figure them out.
> 
> Any help would be appreciated
> Thanks....


Some of the shows I've grabbed have .avi and .srt files in the folder. I have found if I get rid of the .srt files, I no longer see the subtitles. 
Does this help?

FWIW, Steambaby is still working great for me on my Roamio connected to a mac pro running Mavericks.


----------



## Thomaseo1

> Some of the shows I've grabbed have .avi and .srt files in the folder. I have found if I get rid of the .srt files, I no longer see the subtitles.
> Does this help?


Unfortunately not, the reason why it doesn't help is because it disables subtitles for the movies, even though I may want to use it later on. At current I need to hit the Zoom/aspect ratio button on every movie to turn off subs where I would like to only hit that button to turn them on only when I want them.

Edit*
Two more Questions
What is the best version of Java to use?
How can you completly disable ffmpeg.exe and only use the one built with Java, unless there is a way to use a 64 bit ffmpeg.exe.


----------



## weggie

Hi,

I have a version of streambaby that was running without incident until a few days ago.

Now, when I start it, none of the tivo's can see it. 
The box that is running streambaby is running Windows 7 Ultimate 64bit

No Firewall is on. I have turned it off, and its still not being seen.


I'm open to any suggestions to solve this.

Thanks


----------



## moyekj

weggie said:


> Hi,
> 
> I have a version of streambaby that was running without incident until a few days ago.
> 
> Now, when I start it, none of the tivo's can see it.
> The box that is running streambaby is running Windows 7 Ultimate 64bit
> 
> No Firewall is on. I have turned it off, and its still not being seen.
> 
> I'm open to any suggestions to solve this.
> 
> Thanks


 Welcome to 20.3.x TiVo software. Way to resolve it is reboot the HDUI after starting streambaby:
Thumbs Up, Thumbs Down, Play, Play


----------



## weggie

Thanks for the reply. This doesn't seem to have fixed it. I have another version of streambaby that is working fine and still shows up. They are running the same version, but on different machines.


----------



## moyekj

What does streambaby console say? Perhaps there is a port conflict or something where it's never actually starting up and listening? If you're using Java 1.7 (Java 7) on the one that's not working that would probably explain it. Search this thread for solution to that - easiest thing is use Java 6.


----------



## weggie

Sorry for just getting back. I have confirmed that I am using java 1.6 not 1.7.

I have logging turned on and I have the windows 7 firewall off.

Logging is set to info:
Initializing StreamBaby v0.29...
01/26/14 21:22:09 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/26/14 21:22:09 FFmpegExeVideoModule: FFmpegExeModule: Loaded
01/26/14 21:22:09 StreamBabyMain: STARTING StreamBaby v0.29...
01/26/14 21:22:09 Listener: added factory
01/26/14 21:22:09 Main: MDNS: http://192.168.56.1:7290/streambaby/
01/26/14 21:22:09 Main: streambaby ready & listening.

Now: I just noticed this: that IP address is the IP of the virtual adapter for the virtualbox insall I have on the machine.

Im going to remove it and see what I get.

Anyone else have any issues with Virtualbox installed on the same machine that SB is on? I have it installed on another machine without incident.


----------



## moyekj

You can specify ip & port to bind to in streambaby.ini:
ip=192.168.x.x
port=7290


----------



## weggie

I'll have to set that setting. I will prob, re-install Virtualbox. Thanks for the help!


----------



## ramiss

I just installed Streambaby and I love it. Its better than Pytivo in my opinion. I wanted to throw out a fix for push and a question.

I was having issues pushing to my tivo. I then read that Java 7 and above are NOT compatible with Streambaby. Reverting to Java v6 (1.6) solved it and now both Stream and Push work.

Question... Is there any hack (no matter how technical) to make Streambaby show at the TOP of the Apps menu? Or... heaven forbid... in the Shows menu with the other streaming apps? I hate that this much used app is buried at the bottom of an obscure menu. I'm even willing to break my warranty and edit xml files to make this work.

Thanks!

Richard

FYI... I have a Roamio Plus


----------



## DFWDraco76

streambaby-0.29
Windows 7 Ultimate x64
TiVo Premiere in my living room, and a Tivo HD in my bedroom

I'm obviously way behind the curve here on even knowing Stream Baby Stream exists, let alone using it!

Last night, on a whim, I decided to look for a way to stream from my PC to my TiVO. I've tried other things in the past - couldn't even begin to relate all that, it's been a couple years since I tried and failed miserably.

So I was shocked to find this last night: (url to google code site was here but I don't have enough posts to share URLs yet)

And I was even more shocked at how simple it was to set up and use! After downloading the initial zip, I tweaked the basic settings in the .ini and had it running within 5 minutes.

My first two issues "straight out of the box"?

While it worked great on the TivoHD, my Premiere showed:


> "Stream,\032Baby,\032Stream"


 I understand there is an issue about this (saw something on the code.google.com site)
I actually watched a 2 hour movie (mkv) on the Premiere. When using the "Same" quality setting it was beautiful and sounded great - except that every so often (I didn't figure out a pattern), it would clear everything it had queued and say "rebuffering... please wait...". At that point I'd literally have to wait 5 minutes or so for enough to queue before hitting play.

This is where my confusion comes into play, as I started researching what the problems may be and how to fix them.

I see portions of the google code site that have not been touched since 2011, 2012. I'm thinking, "is this an abandoned project??" Then somehow I found this forum. Cool! at first... then, wow, there's just one long thread with people posting for 90+ pages? How on earth is somebody supposed to work with that? It just seems like there should be a subforum dedicated to this project, so individual posts can be made and answered to, and more easily searched.

Ok. Having gotten that off my chest....

I saw from a couple posts that Java 7 is not good - even though 6 is old, not supported, and insecure.... So I went ahead and installed 6 separately. I also had to edit the streambaby.bat file in the beginning, using the full path to java, otherwise I would get, "'java' is not recognized as an internal or external command, operable program or batch file." So after installing Java 6 beside 7, I modified the java path to use 6:


Code:


"C:\Program Files (x86)\Java\jre6\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8

I don't know yet if that will help with the stopping and rebuffering, I haven't tested it yet this morning since making that change last night.

QUESTIONS:

Is there a newer version than what I have (.29)? If so, where do I find it?
I thought I saw something somewhere about a newer version of ffmpeg, and that it might make the bufferring/transferring faster? Where can I find that, how do I set it up?
Are there any other tweaks I can do to make things smoother/better/faster/more awesome? 
If the google code site is abandoned, as it appears to be (the only recent activity I saw were bugs being posted), can we get that site updated? Or is there a new site somewhere else? A searchable wiki would be really nice!!!

In case it helps, here's the console from last night when I watched the movie. I suspect one of the first 'disconnects' was b/c I'd started the movie on my Premiere, then paused it and went to my TivoHD to see if it worked there, then got out and went back to the Premiere to actually watch the movie.



Code:


C:\streambaby-0.29\native>"C:\Program Files (x86)\Java\jre7\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "C:\streambaby-0.29\/jbin/streambaby.jar"
Initializing StreamBaby v0.29...
02/21/14 18:55:35 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
02/21/14 18:55:35 StreamBabyMain$BshLogger: Connecting: http: // streambaby .googlecode .com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
02/21/14 18:55:35 StreamBabyMain$BshLogger: Downloading...
02/21/14 18:55:36 StreamBabyMain$BshLogger: Finished downloading, begin extract.
02/21/14 18:55:36 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
02/21/14 18:55:37 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
02/21/14 18:55:38 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
02/21/14 18:55:42 Listener: added factory
02/21/14 18:55:42 Main: streambaby ready & listening.
log after close : initContext version=49
02/21/14 18:58:20 Factory: HME receiver connected
02/21/14 18:58:38 Listener: 192.168.1.3 367c2359-530f-4c7b-a5b8-031e98b05df1.stream HTTP GET - to factory /streambaby/
02/21/14 18:59:55 Listener: 192.168.1.11 icon.png HTTP GET - to factory /streambaby/
log after close : initContext version=49
02/21/14 19:00:08 Factory: HME receiver connected
02/21/14 19:00:21 Listener: 192.168.1.11 95b33854-25b8-4b06-924b-440ad81cad60.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 2445 not found.
StreamBabyStream[#1,uri=null] warning: resource 2445 not found.
02/21/14 19:00:45 Listener: 192.168.1.11 I/O Exception handling  HTTP GET 95b33854-25b8-4b06-924b-440ad81cad60.stream: Connection reset by peer: socket write error
StreamBabyStream[#1,uri=null] warning: resource 2509 not found.
StreamBabyStream[#1,uri=null] warning: resource 2509 not found.
02/21/14 19:05:24 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 367c2359-530f-4c7b-a5b8-031e98b05df1.stream: Connection reset by peer: socket write error
02/21/14 19:05:27 Listener: connection to receiver closed
02/21/14 19:05:27 Factory: HME receiver disconnected
log after close : initContext version=49
02/21/14 19:05:37 Factory: HME receiver connected
02/21/14 19:06:02 Listener: 192.168.1.3 22af1f87-0752-4532-92ee-ba4ac61c8b07.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 2716 not found.
StreamBabyStream[#1,uri=null] warning: resource 2716 not found.
02/21/14 19:09:49 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 22af1f87-0752-4532-92ee-ba4ac61c8b07.stream: Connection reset by peer: socket write error
02/21/14 19:09:57 Listener: 192.168.1.3 f7d44ea1-9e33-4b5a-8fff-a7c8ee7021fe.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3053 not found.
StreamBabyStream[#1,uri=null] warning: resource 3053 not found.
02/21/14 19:10:16 Listener: 192.168.1.3 I/O Exception handling  HTTP GET f7d44ea1-9e33-4b5a-8fff-a7c8ee7021fe.stream: Connection reset by peer: socket write error
02/21/14 19:10:23 Listener: 192.168.1.3 e9050a1e-e0ea-4127-826c-3343f81a3084.stream HTTP GET - to factory /streambaby/
02/21/14 19:11:19 Listener: connection to receiver closed
02/21/14 19:11:19 Factory: HME receiver disconnected
StreamBabyStream[#1,uri=null] warning: resource 3380 not found.
StreamBabyStream[#1,uri=null] warning: resource 3380 not found.
02/21/14 19:19:06 Listener: 192.168.1.3 I/O Exception handling  HTTP GET e9050a1e-e0ea-4127-826c-3343f81a3084.stream: Connection reset by peer: socket write error
02/21/14 19:19:07 Listener: 192.168.1.3 cbb14a64-7bfc-445e-b095-df0670bc8e59.stream HTTP GET - to factory /streambaby/
02/21/14 19:42:35 Listener: 192.168.1.3 I/O Exception handling  HTTP GET cbb14a64-7bfc-445e-b095-df0670bc8e59.stream: Connection reset by peer: socket write error
StreamBabyStream[#1,uri=null] warning: resource 3450 not found.
StreamBabyStream[#1,uri=null] warning: resource 3450 not found.
02/21/14 19:46:05 Listener: 192.168.1.3 63f09421-fef3-4ba9-a058-6151518d7df6.stream HTTP GET - to factory /streambaby/
02/21/14 20:10:50 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 63f09421-fef3-4ba9-a058-6151518d7df6.stream: Connection reset by peer: socket write error
StreamBabyStream[#1,uri=null] warning: resource 3472 not found.
StreamBabyStream[#1,uri=null] warning: resource 3472 not found.
02/21/14 20:14:36 Listener: 192.168.1.3 d6f54af5-c2c6-4c21-85fa-55246747068d.stream HTTP GET - to factory /streambaby/
02/21/14 20:40:13 Listener: 192.168.1.3 I/O Exception handling  HTTP GET d6f54af5-c2c6-4c21-85fa-55246747068d.stream: Connection reset by peer: socket write error
StreamBabyStream[#1,uri=null] warning: resource 3495 not found.
StreamBabyStream[#1,uri=null] warning: resource 3495 not found.
02/21/14 20:42:55 Listener: 192.168.1.3 368a2148-0554-4131-b9f8-d54e3a3265fe.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
StreamBabyStream[#1,uri=null] warning: resource 3520 not found.
02/21/14 21:03:29 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 368a2148-0554-4131-b9f8-d54e3a3265fe.stream: Connection reset by peer: socket write error
02/21/14 21:03:30 Listener: 192.168.1.3 9ca1b8f9-3752-4b82-a3ee-fd01bc3e223b.stream HTTP GET - to factory /streambaby/
02/21/14 21:24:59 Listener: 192.168.1.3 I/O Exception handling  HTTP GET 9ca1b8f9-3752-4b82-a3ee-fd01bc3e223b.stream: Connection reset by peer: socket write error
StreamBabyStream[#1,uri=null] warning: resource 3538 not found.
StreamBabyStream[#1,uri=null] warning: resource 3538 not found.
02/21/14 21:28:28 Listener: 192.168.1.3 c51d29a1-7c7d-4469-9ba8-99d527aeff9a.stream HTTP GET - to factory /streambaby/
02/21/14 21:45:58 Listener: 192.168.1.3 c51d29a1-7c7d-4469-9ba8-99d527aeff9a.stream HTTP GET - to factory /streambaby/
StreamBabyStream[#1,uri=null] warning: resource 3553 not found.
StreamBabyStream[#1,uri=null] warning: resource 3553 not found.
02/21/14 21:48:45 Listener: connection to receiver closed
02/21/14 21:48:45 Factory: HME receiver disconnected
Terminate batch job (Y/N)? y


----------



## wmcbrine

DFWDraco76 said:


> every so often (I didn't figure out a pattern), it would clear everything it had queued and say "rebuffering... please wait...". At that point I'd literally have to wait 5 minutes or so for enough to queue before hitting play.


That's the 1.1 GB limit. You're not going to be able to fix it.



> _I'm thinking, "is this an abandoned project??"_


Yes, it is.


----------



## DFWDraco76

bummer.  Is there anything comparable that is still being actively developed?

I tried adding a password on a directory, but as soon as I do that and start streambaby, the folder disappears as an option.



Code:


dir.4.password=7766

Am I doing something wrong?


----------



## reneg

DFWDraco76 said:


> bummer.  Is there anything comparable that is still being actively developed?
> 
> I tried adding a password on a directory, but as soon as I do that and start streambaby, the folder disappears as an option.
> 
> 
> 
> Code:
> 
> 
> dir.4.password=7766
> 
> Am I doing something wrong?


To get the directory to reappear, hit the Clear button. That will bring up the password screen and then enter your password.


----------



## ballzo

I rebuilt my laptop with Windows 7 32bit last week due to XP support ending and am having some issue with Streambaby since the Windows 7 installation.

All seems to be working fine, streaming videos until it gets to the rebuffering point in the playback. Then it either stops playing all-together or will start downloading really slowly. 

Any idea on what to look at for this? Streambaby had worked flawless when running on XP.


----------



## moyekj

ballzo said:


> Any idea on what to look at for this? Streambaby had worked flawless when running on XP.


 You should use Java 6 (1.6) instead of Java 7 for Streambaby - that would be 1st thing to check.


----------



## ramiss

Hi All,

I've searched quite a bit and can't find this specific issue...

Most of my avi files are MP4/MKV and work just fine when streamed. However, when pushed the transfer lasts for a few mins of the movie and then stops cold with a "connection reset" error.

I can, however, get the entire movie to push if I choose anything other than Same bitrate. I'm thinking that by doing this I am forcing it to transcode.

So.. a few questions:

1) Why would the same movie stream just fine without transcoding but not push without transcoding?

2) Is there any way to force transcoding on every file no matter what? Even if I choose "same" quality?

3) Or, is there a program I can use to fix these files since I assume it is the file itself that tivo can't handle?

Question 2 would be my ideal solution at this point.

Thanks for any help.

Richard


----------



## moyekj

ramiss, I believe you can put following setting in your streambaby.ini file to force transcode every time:
quality.default=7

(can be 1-7 with 1=lowest, 7=highest)


----------



## ramiss

moyekj said:


> ramiss, I believe you can put following setting in your streambaby.ini file to force transcode every time:
> quality.default=7
> 
> (can be 1-7 with 1=lowest, 7=highest)


Thanks but although that may force the quality for streaming, it doesn't work for push.


----------



## moyekj

pyTivo is generally a much better option for pushes and only transcodes if necessary.


----------



## ramiss

moyekj said:


> pyTivo is generally a much better option for pushes and only transcodes if necessary.


I tried pyTivo first. The problem I have is that I use a mini as well and I actually want the reverse... stream all the time (to keep disk space down) except when I want to push and watch on the mini.

Streambaby is also much better at organizing because it inherently supports folders.

So... any way to force Pytivo to only stream unless I push via the web?


----------



## ballzo

moyekj said:


> You should use Java 6 (1.6) instead of Java 7 for Streambaby - that would be 1st thing to check.


Isn't that a security risk? I'm not so sure I'm willing to risk my PC becoming somebody else's in order to stream videos. Is that what everyone is doing?


----------



## moyekj

ballzo said:


> Isn't that a security risk? I'm not so sure I'm willing to risk my PC becoming somebody else's in order to stream videos. Is that what everyone is doing?


 Don't know what others are doing. I have multiple installations of Java and specifically direct the streambaby.bat to use the Java 6 executable for rare times I run streambaby. My main/default installation is current Java 7.


----------



## wmcbrine

ramiss said:


> Streambaby is also much better at organizing [than pyTivo] because it inherently supports folders.


pyTivo supports folders. Presumably you just have them turned off on your TiVo. Press "2".


----------



## ramiss

wmcbrine said:


> pyTivo supports folders. Presumably you just have them turned off on your TiVo. Press "2".


what I meant was that Pytivo may see everything in sub folders, but it clumps them all into one list. Whereas streambaby will display the folder and keep the organization.


----------



## lpwcomp

ramiss said:


> what I meant was that Pytivo may see everything in sub folders, but it clumps them all into one list. Whereas streambaby will display the folder and keep the organization.


Not if you have folders enabled. As William said, try pressing "2" on your remote while viewing a pyTivo share.


----------



## ballzo

moyekj said:


> Don't know what others are doing. I have multiple installations of Java and specifically direct the streambaby.bat to use the Java 6 executable for rare times I run streambaby. My main/default installation is current Java 7.


Thats just not going to work for me. I really don't want to run the risk of my system getting PWNED due to vulnerabilities in JAVA. Thats why I installed Windows 7. I didn't want to run the risk of running XP with support ending this month.


----------



## gonzotek

Just wondering... What are the chances the Java 6 dependency can be removed so people can just use 7? I know there's no longer an active developer(and I'm thankful for the life-support moyekj and others provide for users), but for the more experienced Java coders that may have looked at this before: Is there something absolutely inherent in streambaby that will always require 6 or can it potentially be modified to support 7?


----------



## TheWGP

Anyone else having issues with V301 errors and not being able to connect to Streambaby until rebooting the Tivo?


----------



## reneg

TheWGP said:


> Anyone else having issues with V301 errors and not being able to connect to Streambaby until rebooting the Tivo?


I started seeing V301 errors after I updated Java in the last week. I thought I had Java 6 & Java 7 installed, but after the Java update, I only had Java 7. I downloaded and installed Java 6 again, changed the streambaby batch file to explicitly use Java 6 and Streambaby is running fine again.


----------



## jgametest

Not sure what everyone is having problems with but my Streambaby works fine in Java7.

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre7\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

Here is my config file.

#
# ./streambaby --help for more configuration file options
#

com.unwiredappeal.tivo.streambaby
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
com.unwiredappeal.tivo.vm.ffexe
cc.background.transparency=0
quality.highestabr=384
quality.highres=1080
quality.select=true
preview.autogenerate= (default:true)
autogenerate.background= (default:0)
mp4mod.streamformats= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,tivo,asf)
lib.native=c:/apps/streambaby-20111203-2132/native
ffmpeg.path=c:/apps/streambaby-20111203-2132/native/ffmpeg.exe
dir.1=C:\Users\Amd\Videos
dir.1.name=Amd Flix
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290
[email protected]
tivo.password=kXXXenX3


----------



## CoxInPHX

jgametest said:


> Not sure what everyone is having problems with but my Streambaby works fine in Java7.


Java 7 worked for me also. However, Java 7 would not play any video with a .txt description files associated with a video
http://www.tivocommunity.com/tivo-vb/showthread.php?p=9805532#post9805532


----------



## moyekj

CoxInPHX said:


> Java 7 worked for me also. However, Java 7 would not play any video with a .txt description files associated with a video
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9805532#post9805532


 Yes, same here. With Java 7 pyTivo metadata files cause streambaby to crash because of FontManager related issue:
java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, but class was expected
at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)
...


----------



## Radiomanpj

I have a question about streaming vs push.

When I stream a video with subtitles (srt) the subtitles are overlay on the streamed file to the Tivo. So why can't it do the same when it pushes a file?

I notice the subtitles dissapear when the progress bar is visible so I guess that the
overlay is being done by the Tivo? 

Works great on my Premiere and I think if you had the right video format it would stream to a Series 2.
I have ran some old mpeg video on my Series 2, and was surprised to see a video that almost was watchable. Poorly but it ran.


----------



## lpwcomp

Radiomanpj said:


> I have a question about streaming vs push.
> 
> When I stream a video with subtitles (srt) the subtitles are overlay on the streamed file to the Tivo. So why can't it do the same when it pushes a file?


See this thread for how to do what you want.


----------



## moyekj

Radiomanpj said:


> I have a question about streaming vs push.
> 
> When I stream a video with subtitles (srt) the subtitles are overlay on the streamed file to the Tivo. So why can't it do the same when it pushes a file?


 Because in case of streaming with streambaby, streambaby is rendering the captions itself based on the contents of the .srt file. When pushing to TiVo there needs to be embedded captions in the video itself in a format that TiVo understands, since it will render the captions itself. As lpwcomp posted it takes a lot of care to get captions working on a TiVo, even for mpeg2 files originally downloaded from the same TiVo.


----------



## lpwcomp

moyekj said:


> Because in case of streaming with streambaby, streambaby is rendering the captions itself based on the contents of the .srt file. When pushing to TiVo there needs to be embedded captions in the video itself in a format that TiVo understands, since it will render the captions itself. As lpwcomp posted it takes a lot of care to get captions working on a TiVo, even for mpeg2 files originally downloaded from the same TiVo.


Actually, the link I posted is to a thread in the sourceforge pyTivo forum documenting a way to get pyTivo (using ffmpeg) to add open captions from a .srt or .ass file. You may have to use the lucansz fork of pyTivo if the capability has not been merged into the main fork.


----------



## Bytez

If I just want to stream videos on the computer to the Tivo via the same network, what is the difference between this and PyTivo?


----------



## jacobb

I've been using Streambaby via Ubuntu for the last few years. I just got a new machine with the latest versions of everything, and I can't get Streambaby to play any files that are not mp4. The old one handles avi, mkv, m4v, probably others, but the new one does not.

The new machine has the same Streambaby version, as it hasn't been updated in 4+ years. But it has a different Java and ffmpeg. The ffmpeg works as a command line tool, as I've been able to (slowly) transcode examplars of each file format I mentioned.

Any suggestions? Is it just time to let go of Streambaby?

Thanks,
Jacob


----------



## jacobb

I figured out a solution via trial and error.

I believe the problem is that streambaby invokes ffmpeg with flag -sameq,
but ffmpeg stopped supporting that flag in early 2013.

I downloaded ffmpeg from http://ffmpeg.gusari.org/static/ .
(I chose the June 2nd, 2014 version but it probably doesn't matter much.)
I named the ffmpeg binary /usr/bin/2014-ffmpeg .
Then I wrote a simple Python script to wrap it but remove flag -sameq:

#!/usr/bin/python

import sys
import subprocess

arglist = sys.argv[1:]
try:
arglist.remove('-sameq')​ except:
pass​ subprocess.call(['/usr/bin/2014-ffmpeg'] + arglist)​
and named that script /usr/bin/ffmpeg . (The script needs "chmod a+x".)

It's not beautiful, but it's simple and it works.


----------



## telemark

Yah, they're saying they're not to going to implement -sameq anymore.
https://trac.ffmpeg.org/ticket/1835

Maybe it's time for a new streambaby build.


----------



## lpwcomp

telemark said:


> Maybe it's time for a new streambaby build.


Definitely. Unless the option was specified for no reason, it needs to be modified to use other options to achieve the same result.


----------



## moyekj

You can fix that problem using streambaby.ini file.
From documentation there's a sameqargs option:
https://code.google.com/p/streambaby/wiki/StreamBabyIni

So you could add following to your streambaby.ini (use -qscale 0 in place of -sameq):
ffmpegexe.transcode.sameqargs=-qscale 0 -ab 192k


----------



## lpwcomp

moyekj said:


> You can fix that problem using streambaby.ini file.
> From documentation there's a sameqargs option:
> https://code.google.com/p/streambaby/wiki/StreamBabyIni
> 
> So you could add following to your streambaby.ini (use -qscale 0 in place of -sameq):
> ffmpegexe.transcode.sameqargs=-qscale 0 -ab 192k


I stand, uh sit, corrected. No rebuild required.

I am curious though. Why use Streambaby at all? This is not a criticism, I am genuinely curious. Are there circumstances under which it is preferable to use it (and endure the buffer problem) rather than transfer the recording?


----------



## telemark

I don't actually use it, but when I tested it, I found it was convenient to not have to delete the file afterwards. 

When you have a large networked media library, are watching a number of streams in a row, or when the drive full, you don't want the one time viewings to build up on the Tivo.

I feel the buffer problem is blown out of proportion and is less noticeable than cable company oddities.


----------



## lpwcomp

telemark said:


> I don't actually use it, but when I tested it, I found it was convenient to not have to delete the file afterwards.


No comment.



telemark said:


> When you have a large networked media library, are watching a number of streams in a row, or when the drive full, you don't want the one time viewings to build up on the Tivo.


I don't usually transfer anything until I am about to watch it. I have mostly h.264 in either mkv or mp4 containers so the files aren't that large.



telemark said:


> I feel the buffer problem is blown out of proportion and is less noticeable than cable company oddities.


The few times I used it, I found it extremely annoying.


----------



## moyekj

lpwcomp said:


> I am curious though. Why use Streambaby at all?


 I'm not good person to ask since I don't use Streambaby or pyTivo either except for test purposes once in a while. The other direction from TiVo->PC I use occasionally but even that not very much anymore. I did find the built in ability of Streambaby to show captions based on .srt file that can be toggled on/off an advantage and used to use that quite a lot. It can be a big pain and sometimes impossible to get captions working for programs transferred to TiVos (like from ripped DVDs for example), so I think that's one unique advantage of Streambaby.


----------



## lpwcomp

moyekj said:


> I'm not good person to ask since I don't use Streambaby or pyTivo either except for test purposes once in a while. The other direction from TiVo->PC I use occasionally but even that not very much anymore. I did find the built in ability of Streambaby to show captions based on .srt file that can be toggled on/off an advantage and used to use that quite a lot. It can be a big pain and sometimes impossible to get captions working for programs transferred to TiVos (like from ripped DVDs for example), so I think that's one unique advantage of Streambaby.


Captions and 1080p were the two reasons I used Streambaby. It is a bit of a pain to use the captions with pyTivo, especially with the problem with ffmpeg's command parser, but since I _*always*_ want the captions, the ability to toggle them on and off is not an issue with me. I can see how it would be for some people, so I understand they would prefer Streambaby.

Since 1080p works for transferred files, that's not an issue either.

As I said, I was curious. I have been provided with reasons for some people's preference for streambaby, so I am content.


----------



## jgametest

I have determined Streambaby works with the new update rolled out yesterday. But this brought me to a very curious question, how do we map This PC\Plex Media Server: Amd-PC\Video\Video Channels as network drive. I am able to map my network files as a letter and program that into my config file. But I would like to know if there was a way to make backwards compatible a way to read the channel folders we could then benefit from the Plex server we run at home.

STREAMBABY.BAT
@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
"C:\Program Files (x86)\Java\jre7\bin\java.exe" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

Streambaby.ini
#
# ./streambaby --help for more configuration file options
#

com.unwiredappeal.tivo.streambaby
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
com.unwiredappeal.tivo.vm.ffexe
cc.background.transparency=0
quality.highestabr=384
quality.highres=1080
quality.select=true
preview.autogenerate= (default:true)
autogenerate.background= (default:0)
mp4mod.streamformats= (default:mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,tivo,asf)
lib.native=C:/apps/streambaby-20111203-2132/native/native
ffmpeg.path=C:/apps/streambaby-20111203-2132/native/ffmpeg.exe
ffplay.path=C:/apps/streambaby-20111203-2132native/ffplay.exe
dir.1=z:\
dir.1.name=Amd Flix
dir.2=y:\
dir.2.name=Amd Shows
# Ip address to bind to
# most people don't need to change this. 
#ip=192.168.1.37
# port to use
#port=7290
[email protected]
tivo.password=kxtxxex23


----------



## jgametest

https://forums.plex.tv/index.php?/topic/114279-Option-to-map-channel-folder-as-network-resource?

Sent from my Nokia Lumia 521 using Tapatalk


----------



## jgametest

JamminR has just posted a reply to a topic that you have subscribed to titled "Option to map channel folder as network resource?".

--------------------------------------------------------------------------------

More complex than that. There's no way to map Plex services/libraries as samba/NFS shares.

Most the channel code is simply the server grabbing web URLs and grabbing the streams from them using the supported URL services=>transcoder if necessary, else feeding url to the client if it's compatible.

https://forums.plex.tv/index.php/to...el-folder-as-network-resource/?view=getnewpos


----------



## wkearney99

If running StreamBaby from the cmd line, what's the proper way to have it exit and clean it's name entry out of mDNS? I ask this because of it showing \032 in the name instead of spaces. I changed it but the old name is still in that Tivo Roamio HME list.


----------



## moyekj

Reboot UI perhaps? Thumbs Down, Thumbs Up, Play, Play


----------



## thewebgal

lpwcomp said:


> I stand, uh sit, corrected. No rebuild required.
> 
> I am curious though. Why use Streambaby at all? This is not a criticism, I am genuinely curious. Are there circumstances under which it is preferable to use it (and endure the buffer problem) rather than transfer the recording?


I can decide to WATCH files from my mac Pro drive library via streambaby without actually having to LOAD them to my Roamio hard drive ahead of time. I do get the "rebuffering" legend and a brief pause every 45 mins or so (depending on filetype: avi, or mkv or mp4), but that's not a big inconvenience like having to delete the full file might be.

It all streams via airport Express Wifi - pretty painless stuff!


----------



## benichols

FYI, in case anyone is interested, I installed pytivoX (1.3) on my Mac Mini running Yosemite (public beta) and Java 1.7.0.45. Using a Tivo Roamio Plus.

Both pytivo and streambaby work but streambaby seems rock solid. pytivo will rapidly lose connection and the "Devices" tab will disappear. To get streambaby to work, I navigated to "Apps and Games" and selected "Install app". I then entered the fixed IP address of my Mac Mini and the pytivo folder structure comes up. All my movies (folder within iTunes) come up and play fine. I haven't yet figured out how to eliminate the folder structure but that doesn't both me much. YMMV


----------



## jcthorne

thewebgal said:


> I can decide to WATCH files from my mac Pro drive library via streambaby without actually having to LOAD them to my Roamio hard drive ahead of time. I do get the "rebuffering" legend and a brief pause every 45 mins or so (depending on filetype: avi, or mkv or mp4), but that's not a big inconvenience like having to delete the full file might be.
> 
> It all streams via airport Express Wifi - pretty painless stuff!


You can do the same thing using pytivo 'transfer' selected from the tivo menu (ie pull). Once the video is selected for transfer, it starts very quickly and you can begin playing right then so long as your network is faster than the video consumption rate. This way there is no rebuffering.


----------



## thewebgal

jcthorne said:


> You can do the same thing using pytivo 'transfer' selected from the tivo menu (ie pull). Once the video is selected for transfer, it starts very quickly and you can begin playing right then so long as your network is faster than the video consumption rate. This way there is no rebuffering.


Okay, I'll have to check out the difference then. I installed Yosemite Beta 2 on my old macpro last night. The mac prompted me afterwards to install Legacy Java 6, so after I did that, and after I rebooted the Roamio, I had some weird pytivo jibberish in the apps menu, but when I clicked it, I got my usual Streambaby folder listings. And when I clicked a file, streambaby was still working.

Surprised me!


----------



## wmcbrine

thewebgal said:


> ... I had some weird pytivo jibberish in the apps menu, but when I clicked it, I got my usual Streambaby folder listings.


Don't blame pyTivo for your gibberish. I assume what you saw was something like this:

Stream,\032Baby,\032Stream

which is due to a change (bug) in the TiVo's handling of mDNS. Nothing to do with pyTivo, which doesn't put anything in the Apps menu.


----------



## species8472jj

I was able to get Streambaby running on my Synology DS. 

I am wondering if anyone had any issues with .ts files not being "seen" by Streambaby. That is to say when I go into a folder with .ts files, the folder will appear empty.

When I find a file in another format, it does show up, but when I select it to show the info., Streambaby gets locked up with the "Please Wait" message on my TiVo window.

Has anyone had any similar issues like this before?


----------



## moyekj

species8472jj said:


> I was able to get Streambaby running on my Synology DS.
> 
> I am wondering if anyone had any issues with .ts files not being "seen" by Streambaby. That is to say when I go into a folder with .ts files, the folder will appear empty.
> 
> When I find a file in another format, it does show up, but when I select it to show the info., Streambaby gets locked up with the "Please Wait" message on my TiVo window.
> 
> Has anyone had any similar issues like this before?


 Check out the streambaby.ini documentation:
https://code.google.com/p/streambaby/wiki/StreamBabyIni
You probably need to set "extensions" to add .ts as a known extension in addition to the default ones listed in the documentation. Whether Streambaby can handle them properly I'm not sure, haven't tried.


----------



## thewebgal

wmcbrine said:


> Don't blame pyTivo for your gibberish. I assume what you saw was something like this:
> 
> Stream,\032Baby,\032Stream
> 
> which is due to a change (bug) in the TiVo's handling of mDNS. Nothing to do with pyTivo, which doesn't put anything in the Apps menu.


That's probably it - I'm just happy as a clam its still working through all these changes!

Actually, no - what it actually said was

pyTivoX\032-\032-Heather-Jam... so maybe that's why I thought pyTivoX ws involved (grin)!
But I get that its a Tivo Interface issue - thanks!


----------



## species8472jj

Thank you, moyekj. I added .ts to the extension and now I'm seeing my .ts files. I did some testing and have a couple of issues.

I have streambaby installed on my synology DS214play as well as my PC (for comparison testing).

I ran into a couple of issues.

If I have a metadata file (along with the video file) and I select it, I will get the "Please wait" screen perpetually. The only way to get out of it is to select "Live Tv" on my remote. If I do not have a metadata file, I can select the program with no issues. I am wondering if the latest TiVo update has something to do with this as this has never been an issue before. I found this to be a problem whether synology was being run on my PC or my synology DS.

The other problem I had was watching TS files. It worked on my PC (as long as I didn't have a metadata file), however it did not work when trying to watch off of my synology DS. I'm guessing I would need a different version of ffmpeg. If anyone could help with this, that would be great.

Thank you.


----------



## moyekj

species8472jj said:


> If I have a metadata file (along with the video file) and I select it, I will get the "Please wait" screen perpetually. The only way to get out of it is to select "Live Tv" on my remote. If I do not have a metadata file, I can select the program with no issues. I am wondering if the latest TiVo update has something to do with this as this has never been an issue before. I found this to be a problem whether synology was being run on my PC or my synology DS.


 That issue only happens if using Java 7. If you install and run with Java 6 or older you will not have that problem. The streambaby code related to parsing/displaying metadata information doesn't work with Java 7 is the problem.


----------



## moyekj

FYI, it turns out the infamous 1.1GB buffer limitation (where Streambaby can only stream that much of a segment at a time to the TiVo before it has to initiate a new segment), is not an inherent HME streaming problem as was once thought. Playing around with wmbcrine python HME I was able to stream buffer movies > 4GB without any problem. Forum member davidblackledge was able to replicate the sample code I had using python HME and prove that it works also using Java HME SDK. The streambaby code for starting a video stream is very convoluted and something in that jumble is imposing the limitation. I was able to get a much more simplified version of Java HME to work as well (based on my ancient "videostream" project from where streambaby was born), and now I need to spend some time seeing if I can get transcoding streaming working as well. i.e. I think it is a solvable problem. But streambaby code is too convoluted for me to try and fix it, so I may end up just starting a new project that will borrow bits and pieces from streambaby, but this is a long term project with lots of work involved...


----------



## gonzotek

moyekj said:


> FYI, it turns out the infamous 1.1GB buffer limitation (where Streambaby can only stream that much of a segment at a time to the TiVo before it has to initiate a new segment), is not an inherent HME streaming problem as was once thought. Playing around with wmbcrine python HME I was able to stream buffer movies > 4GB without any problem. Forum member davidblackledge was able to replicate the sample code I had using python HME and prove that it works also using Java HME SDK. The streambaby code for starting a video stream is very convoluted and something in that jumble is imposing the limitation. I was able to get a much more simplified version of Java HME to work as well (based on my ancient "videostream" project from where streambaby was born), and now I need to spend some time seeing if I can get transcoding streaming working as well. i.e. I think it is a solvable problem. But streambaby code is too convoluted for me to try and fix it, so I may end up just starting a new project that will borrow bits and pieces from streambaby, but this is a long term project with lots of work involved...


That's great to hear! I've been super busy with start-of-year tasks for work (an elementary school), but those things will begin to stabilize soon and I should have more free time in the evenings if you need any testing done. Sorry I couldn't participate more with PlexTiVo - but I'm still keeping an eye on the progress being made by you and ntlord and looking for ways to make it more convenient to launch.


----------



## moyekj

gonzotek said:


> That's great to hear! I've been super busy with start-of-year tasks for work (an elementary school), but those things will begin to stabilize soon and I should have more free time in the evenings if you need any testing done. Sorry I couldn't participate more with PlexTiVo - but I'm still keeping an eye on the progress being made by you and ntlord and looking for ways to make it more convenient to launch.


 The PlexTiVo stuff is interesting, especially since it can run on a Mini. The thing I don't like about it though is the Opera browser imposes pretty bad limitations on what kind of videos run natively, and doesn't support AC3 audio (only AAC audio is supported). So, for example, any mpeg2 recordings you have need to be transcoded and you lose surround sound. The other problem with it is anything that is transcoded you don't have any buffer, so jumping around in video means quite a long delay whenever you use trick play, vs with HME and buffering if you stay within buffer limits (backwards and forwards), the trick play response is immediate. So especially if the 1.1GB limitation is overcome, you can buffer a whole video and have skip around it to your hearts content quickly and easily. Using HME obviously you can play mpeg2 directly and preserve AC3 audio for any video format, but obviously it won't run on TiVo Mini, so it has down side as well...

So my take on PlexTiVo is it's the only solution that works on a Mini, but if you have a non-Mini then HME is still a better option, and obviously you don't have to jump through hoops to launch an HME application. I wouldn't be too surprised though after putting a lot of effort into HME that TiVo would just decide to kill it completely with software updates and/or newer platforms.
EDIT: Also note that using HME it would be possible to communicate with a Plex server to get video files and metadata etc. just as is being done with PlexTiVo.


----------



## moyekj

streambaby-0.30.zip

What's updated:
* The age old 1.1 GB buffer limit is finally fixed!! It took hours of trial and error and wireshark captures to figure it out, but I think I've got a reliable fix for that problem in place. So now you can buffer videos > 1.1 GB without interruption.

* Fix to the Font Manager related problem when using Java 7. I included the patched cobra.jar file that was given earlier in this thread. So now should run without issues using Java 7.

* Added a few more streambaby.ini config variables related to video playback:

display.timeout_status_bar= (default:5)
Number of seconds for status bar to timeout

display.timeout_icon= (default:5)
Number of seconds for icon display to timeout

display.timeout_info= (default:10)
Number of seconds for program information to timeout

display.skip_backwards= (default:8)
Number of seconds for skip backwards

display.skip_forwards= (default:30)
Number of seconds for skip forwards

Since svn checkin doesn't seem to be working I couldn't check in the code. Also since Google no longer allows writing to Downloads, I couldn't upload it to the Google project area. So for now I've but a copy of streambaby-0.30.zip on Google Drive, available via above link.

Perhaps what I'll do is just make a new streambaby home at Sourceforge, similar to how I moved kmttg over, but I don't want to deal with that right now.

If there's enough interest, it should be possible to enable streambaby to talk to a Plex server to retrieve video and metadata information. That would be a longer term enhancement and it would be nice if I could get some coding help from any volunteers.


----------



## jcthorne

WOW! I cant wait to try this.

I set up streambaby years ago and eventually abandoned it as videos grew to many GB for HD movies. Always liked the UI on the tivo.

This is GREAT news and thanks for picking this up. Will report back when I get to work installing it later today (I hope, gotta see what mama has for me to do today).

Thanks!:up::up::up:


----------



## reneg

Installed this on my server and in the few minutes I played with it, it seems to be working fine. Thanks for the update. I'm interested in seeing what develops with Plex support


----------



## jcthorne

Well that did not take long at all. Up and running. Played with the menus and changed a few ini options and its a go.

Thanks moyekj for bringing this current and picking up development of a great tivo addition.

I am going to do some reading of the forum now and see what else I might be able to customize but its working.....

*THANKS!*


----------



## tzilla

moyekj said:


> What's updated:
> * The age old 1.1 GB buffer limit is finally fixed!! It took hours of trial and error and wireshark captures to figure it out, but I think I've got a reliable fix for that problem in place. So now you can buffer videos > 1.1 GB without interruption.
> 
> * Fix to the Font Manager related problem when using Java 7. I included the patched cobra.jar file that was given earlier in this thread. So now should run without issues using Java 7.
> 
> * Added a few more streambaby.ini config variables related to video playback:


Excellent update. I'm a new Tivo user/owner and was just googling last night on how I could stream my videos in MKV to the Tivo. I didn't want to push/upload them, I simply wanted to stream them from my existing NAS device.

I tried the latest v0.30 build today using my Windows 8.1 machine with the following setup instructions pieced together from various threads, wiki's, etc:


 Unzipped archive into c:/streambaby/ folder
 Updated streambaby.cmd and added/commented a few lines to ensure 
Java 7 (32bit) was used (not my code, was obtained from project site):


Code:


REM java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
REM echo Exited.
REM pause
REM popd
IF NOT EXIST "%ProgramFiles(x86)%" GOTO WIN32
REM 32-bit Java on 64-bit Windows
SET MYPATH=%ProgramFiles(x86)%\Java\jre7\bin\java.exe
GOTO COMMON
:WIN32
REM 32-bit Windows
SET MYPATH=%ProgramFiles%\Java\jre7\bin\java.exe
:COMMON
IF EXIST "%MYPATH%" GOTO JAVA
POPD
ECHO 32-bit JRE7 not found. Install Java 32-bit!
PAUSE
EXIT
:JAVA
ECHO Using Java: "%MYPATH%"
"%MYPATH%" -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
popd
echo Exited.
pause


 Updated ffmpeg and support libraries with 64-bit Zeranoe builds, specifically this one ffmpeg-20140913-git-bcac0f4-win64-shared
 Modified streambaby.ini to support new ffmpeg build and optimize thread count


Code:


com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.threads=0



I have no experience with previous versions so I'm not sure how things behaved in the past, but I can say that the new version was able to play my smallest 13GB MKV with only 1 "rebuffer" at the 1hour16 minute mark which I believe was the 10GB limit imposed when the application had to guess at the size? I vaguely recall seeing that in the output/logs but have since disappeared.

My other observation is the transcode performance is really slow. This is something odd because my Windows machine never goes beyond 2-4% cpu during the whole transcode time. What ends up happening is the Tivo pauses the video while the green bar loads. Then I have to manually un-pause to resume play. It happened 3 times, the first I waited 5 minutes which worked for a while but paused 40 minutes later. The second time I waited 15 minutes and that work well until the 3rd time which was different message "rebuffer" that I believe was related to the 10GB limit. Also the logs did have a different message for the 3rd time:



> 09/14/14 12:23:45 NewStatusBar: state=false
> 09/14/14 12:45:34 ViewScreen: goto position: 4593424, vidlen: 5867860
> 09/14/14 12:45:34 ViewScreen: Position not in buffer, starting new stream
> 09/14/14 12:45:34 NewStatusBar: state=false
> 09/14/14 12:45:34 Application: Received event for unknown resource id. Id = 2694, event = 2694.RESOURCE_INFO(closed, {position=0, duration=0, start=0, speed=0})
> 09/14/14 12:45:34 NamedStream: DeRegistering named stream: e92e40e7-2cf9-4e71-ba6d-0289ab784e69.stream
> 09/14/14 12:45:34 SocketProcessInputStream: Destroying running process...
> 09/14/14 12:45:34 Listener:
> 09/14/14 12:45:34 Listener: 192.168.1.37 I/O Exception handling HTTP GET e92e40e7-2cf9-4e71-ba6d-0289ab784e69.stream: Connection reset by peer: socket write error
> 09/14/14 12:45:34 Listener: ctx=HttpRequest /streambaby/e92e40e7-2cf9-4e71-ba6d-0289ab784e69.stream t=java.net.SocketException: Software caused connection abort: recv failed
> 09/14/14 12:45:34 ViewScreen: Openening stream at position: 4593000(4593 secs)
> 09/14/14 12:45:34 VideoModuleHelper: quality setting is above quality of video, streaming normally
> 09/14/14 12:45:34 FFmpegExeVideoModule: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 0 -qscale 0 -ab 192k -ar 48000
> 09/14/14 12:45:34 FFmpegExeVideoModule: FFmpegCmd: C:\streambaby\native\ffmpeg.exe -ss 4593.0 -i \\nas\video.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 0 -qscale 0 -ab 192k -ar 48000 tcp://127.0.0.1:8500
> 09/14/14 12:45:34 NamedStream: Registering named stream: c1a69417-3da9-466f-a07d-e992411c7dc9.stream
> 09/14/14 12:45:35 Listener: http=HttpRequest /streambaby/c1a69417-3da9-466f-a07d-e992411c7dc9.stream
> 09/14/14 12:45:35 Listener: path=/streambaby/c1a69417-3da9-466f-a07d-e992411c7dc9.stream uri=/streambaby/
> 09/14/14 12:45:35 Listener:
> 09/14/14 12:45:35 Listener: 192.168.1.37 c1a69417-3da9-466f-a07d-e992411c7dc9.stream HTTP GET - to factory /streambaby/
> 09/14/14 12:45:35 StreamBabyStream$StreamBabyStreamFactory: uri=c1a69417-3da9-466f-a07d-e992411c7dc9.stream
> 09/14/14 12:45:35 NamedStream: Getting mapped stream for named stream: c1a69417-3da9-466f-a07d-e992411c7dc9.stream
> 09/14/14 12:45:35 NamedStream: Getting mapped stream for named stream: c1a69417-3da9-466f-a07d-e992411c7dc9.stream


This was my experience anyway.

Much appreciation for your development efforts on this new build. Thanks.


----------



## lpwcomp

Question: Does streambaby always transcode to mpeg2 or does it leave it as mpeg4 if the destination is a Series 3 or later?


----------



## gonzotek

moyekj said:


> streambaby-0.30.zip
> 
> What's updated:
> * The age old 1.1 GB buffer limit is finally fixed!! It took hours of trial and error and wireshark captures to figure it out, but I think I've got a reliable fix for that problem in place. So now you can buffer videos > 1.1 GB without interruption.
> 
> * Fix to the Font Manager related problem when using Java 7. I included the patched cobra.jar file that was given earlier in this thread. So now should run without issues using Java 7.
> 
> * Added a few more streambaby.ini config variables related to video playback:
> 
> display.timeout_status_bar= (default:5)
> Number of seconds for status bar to timeout
> 
> display.timeout_icon= (default:5)
> Number of seconds for icon display to timeout
> 
> display.timeout_info= (default:10)
> Number of seconds for program information to timeout
> 
> display.skip_backwards= (default:8)
> Number of seconds for skip backwards
> 
> display.skip_forwards= (default:30)
> Number of seconds for skip forwards
> 
> Since svn checkin doesn't seem to be working I couldn't check in the code. Also since Google no longer allows writing to Downloads, I couldn't upload it to the Google project area. So for now I've but a copy of streambaby-0.30.zip on Google Drive, available via above link.
> 
> Perhaps what I'll do is just make a new streambaby home at Sourceforge, similar to how I moved kmttg over, but I don't want to deal with that right now.
> 
> If there's enough interest, it should be possible to enable streambaby to talk to a Plex server to retrieve video and metadata information. That would be a longer term enhancement and it would be nice if I could get some coding help from any volunteers.


With a small bit of effort I got it up and running on OSX Mavericks with Java 7 (build 1.7.0_67-b01). :up: Started streaming an mkv I had on hand already without issue. I'll run it for a while and report back if I run into any new/unknown issues.


----------



## jcthorne

Is there a size limitation for the artwork jpg files or does stream baby resize them on the fly for display?


----------



## moyekj

tzilla said:


> I have no experience with previous versions so I'm not sure how things behaved in the past, but I can say that the new version was able to play my smallest 13GB MKV with only 1 "rebuffer" at the 1hour16 minute mark which I believe was the 10GB limit imposed when the application had to guess at the size? I vaguely recall seeing that in the output/logs but have since disappeared.


 For transcoding there is no way to know for sure how big the video is going to be, so I put in an arbitrary size. Part of the 1.1 GB buffer limit fix is you have to provide content range headers which include total size. I haven't tried it, but I can probably just up that number to 20 or 30 GB. For the videos I was using 10 GB was way plenty. Better yet, I'll probably just make this a configurable option instead of hardcoding it.


----------



## moyekj

lpwcomp said:


> Question: Does streambaby always transcode to mpeg2 or does it leave it as mpeg4 if the destination is a Series 3 or later?


 It only transcodes what cannot natively play on the TiVos, so mp4 container with H.264 video and AC3 or AAC audio won't transcode for most cases. If however you use TS or MKV containers then it will transcode regardless of the codecs since those containers are not natively supported by TiVos for HME streaming. At some point I'll need to look into the code in more depth to just do a remux instead of full transcode where it makes sense to do so, but I think right now the behavior is anything incompatible even if just wrong container will mean a full mpeg2 transcode. From my recollection of TS containers I think you may have to force streambaby to transcode them in some cases by picking a quality setting other than default.


----------



## moyekj

New project home is now up (still a work in progress):
http://sourceforge.net/projects/streambaby/

Version 0.31 is available to download there. Release notes which include version 0.30 & 0.31 changes can be found here.

Summary of changes in 0.31:
* Default max buffer size is now 20 GB and configurable in streambaby.ini
* Default HME name is now "streambaby" instead of "Stream, Baby, Stream" (looks better under Apps&Games)
* Files with .ts extension are now automatically included in file browser


----------



## Tobashadow

Wow many thanks, I haven't even had a chance to try out the new ones yet but they look vastly improved.


----------



## jcthorne

jcthorne said:


> Is there a size limitation for the artwork jpg files or does stream baby resize them on the fly for display?


Nevermind. Found my problem with artwork not displaying for some vids. Items stored on my server prior to the metagenerator update on Dec 11, 2011 did not include the image: data in the metadata txt file. Streambaby uses that data rather than just pulling the same name jpg file or using the artwork stored in the mp4 file. In fact, as far as I can tell, streambaby does not use the metadata stored in the mp4 file at all, only the pytivo compatible txt file.

Ok by me as I have both but thought others might want to know.


----------



## jcthorne

moyekj,

For your future ideas list possibly...

Could the streambaby screen presented on the tivo be updated to the newer Tivo HDUI 2 column view where the list of items is on the left and the information for each item with its artwork is on the right allowing easier browsing?

Thanks again for picking up this gauntlet.


----------



## greenawayj

Hi -- Thanks for taking on the streambaby updates. I've been using it now for several years and really love it's stability and functionality. As with most things, there can be improvements, but it really does what i (my kids!!) need.

I installed the new version last night and seem to have a problem. I watched it go through it's usual first-run sequence to install ffmpeg, assumed it worked, and then tried it out.

Streambaby showed up on the tivo, but opened a dialog box when I selected it saying there was a problem (Can't remember what the box said... It was late and I didn't want to bother with it last night - Not up for going down the proverbial rat hole at midnight)

So I logged onto my video server this morning (Win 8.1 running as a VM on Windows Server 2012R2) to see what was going on and I was getting the following in my CMD window when running



> 09/16/14 07:14:48 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
> 09/16/14 07:14:49 Listener: added factory
> 09/16/14 07:14:49 Main: streambaby ready & listening.


So just in case I had a corrupted FFmpeg install on the first run, I deleted everything and started over... I got the following full log file also depicting a failed FFmpeg...



> 09/16/14 07:28:40 StreamBabyMain$BshLogger: Download ffmpeg for first-run...
> 09/16/14 07:28:40 StreamBabyMain$BshLogger: Connecting: streambaby-dot-googlecode-dot-com/files//ffmpeg-r15986-gpl-shared-win32.tar.bz2
> 09/16/14 07:28:40 StreamBabyMain$BshLogger: Downloading...
> 09/16/14 07:28:43 StreamBabyMain$BshLogger: Finished downloading, begin extract.
> 09/16/14 07:28:43 StreamBabyMain$BshLogger: extracting: avcodec-52.dll (bin/avcodec-52.dll)
> 09/16/14 07:28:46 StreamBabyMain$BshLogger: extracting: avdevice-52.dll (bin/avdevice-52.dll)
> 09/16/14 07:28:46 StreamBabyMain$BshLogger: extracting: avformat-52.dll (bin/avformat-52.dll)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: extracting: avutil-49.dll (bin/avutil-49.dll)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: extracting: ffmpeg.exe (bin/ffmpeg.exe)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: extracting: ffplay.exe (bin/ffplay.exe)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: extracting: SDL.dll (bin/SDL.dll)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: extracting: swscale-0.dll (bin/swscale-0.dll)
> 09/16/14 07:28:47 StreamBabyMain$BshLogger: Retrieval of ffmpeg complete
> 09/16/14 07:28:48 FFmpegJavaVideoModule: Unable to load FFmpeg native libraries
> 09/16/14 07:28:49 Listener: added factory
> 09/16/14 07:28:49 Main: streambaby ready & listening.


(note URL above broken intentially by me since the forum software would not allow me to post an actual URL due to my post count!)

Anyone see this before?

Only other change relative to my prior streambaby install (v20120828-2030) is that it was previously running on a W7 VM on the same server and of course running on Java 6. I just tried to run streambaby 0.31 on that machine and get the same FFmpeg error (also running on Java 6 on that W7 machine - I don't think I have Java 7 installed there.)

Thanks in advance for any help...

greenawayj


----------



## moyekj

You should install and run streambaby with 32 bit Java.


----------



## moyekj

jcthorne said:


> Nevermind. Found my problem with artwork not displaying for some vids. Items stored on my server prior to the metagenerator update on Dec 11, 2011 did not include the image: data in the metadata txt file. Streambaby uses that data rather than just pulling the same name jpg file or using the artwork stored in the mp4 file. In fact, as far as I can tell, streambaby does not use the metadata stored in the mp4 file at all, only the pytivo compatible txt file.


 Not familiar with that part of the code yet, but it does read embedded mp4 metadata as I have several titles with no pyTivo metadata that are showing info in streambaby. I think if you have both pyTivo metadata file and embedded that pyTivo metadata takes precedence. Note also there's a "stylesheets" folder as part of streambaby installation that has css and xsl files defining how the metadata is presented from different sources.


----------



## jcthorne

moyekj said:


> Not familiar with that part of the code yet, but it does read embedded mp4 metadata as I have several titles with no pyTivo metadata that are showing info in streambaby. I think if you have both pyTivo metadata file and embedded that pyTivo metadata takes precedence. Note also there's a "stylesheets" folder as part of streambaby installation that has css and xsl files defining how the metadata is presented from different sources.


Any suggestions on where I can learn the syntax of those stylesheets to have any chance of editing them? Or is this just above my pay grade?

Perhaps others have formed alternate stylesheets?


----------



## greenawayj

moyekj said:


> You should install and run streambaby with 32 bit Java.


Thanks. So silly of me. I don't think I've ever installed the 64 bit Java before... But obviously did when bringing up this new win 8.1 media server vm! Thanks.

Working as expected now.


----------



## moyekj

jcthorne said:


> Any suggestions on where I can learn the syntax of those stylesheets to have any chance of editing them? Or is this just above my pay grade?
> 
> Perhaps others have formed alternate stylesheets?


 Google? That's about as much as I know about them too. I was playing around with meta-720.css as I don't like how it hard codes art image size to 150x200 which I presume was to match IMDB art size. So any art that doesn't have those dimensions can easily get distorted. I was Googling around css proportional image scaling and found plenty of suggested solutions, but it doesn't look like more advanced css properties such as max-width, max-height, height=auto, etc. work as those are probably for modern browsers, not ancient Java css parsing code. However, percentages do seem to work, so for example something like this yielded better results:


Code:


img {
    float:right;
    width:25%;
    height:44%;
}

I came up with above by considering 16:9 aspect ratio, so if using 
width=25% then a non-distorted height maybe should be (16/9)*40=44%. I don't know if this is right, but it did seem to result in non-distorted pictures for me. Note that the percentage is how much of the available space to use for the picture, not how much to scale the picture itself. The available space is not the whole screen either, but some sub-section of the screen.

I'm terrible at aesthetic programming so could use some help from others. For example the assets/background-720.mpg which is the main background being used in streambaby seems very dated and could use an update perhaps to match the darker colors of the series 5 TiVos being used today. That image needs to be exactly 1280x720 in dimensions.

It's easy enough to try changing these things yourself. Note that you need to kill the streambaby console and start another between each change you make when trying things out.


----------



## mattack

Does/can streambaby delete the shows off of the server at the end of watching them? (Out of paranoia, I'd probably move them to the trash for a long time instead..)

But being able to do that would be awesome, similar to what you can do when streaming a show from one tivo to another..


----------



## moyekj

mattack said:


> Does/can streambaby delete the shows off of the server at the end of watching them? (Out of paranoia, I'd probably move them to the trash for a long time instead..)
> 
> But being able to do that would be awesome, similar to what you can do when streaming a show from one tivo to another..


 Yes. It's under "more" in program details a couple levels deep to intentionally make it difficult, but there is a delete option there.


----------



## jcthorne

Trying to get streambaby to push a video to my roamio.

Getting an error on the streambaby log:

Mind: ERROR: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints - https://mind.tivo.com:8181/mind/login

It then says failed to login and gives my username and password from the ini file which are correct and work for pytivo.

Suggestions?


----------



## thewebgal

I just saw this post -

W O W !!

I'll grab it over the weekend and see how it works in Yosemite beta 3 with my base Roamio.

Thank you!!

Edit - 
Just ran across the update about ver 31 on Source Forge - 
(I'll check that out when i find some time (will MAKE TIME) over the weekend!

Thanks again!!

>> New project home is now up (still a work in progress):
>> http://sourceforge.net/projects/streambaby/



moyekj said:


> streambaby-0.30.zip


----------



## moyekj

jcthorne said:


> Trying to get streambaby to push a video to my roamio.
> 
> Getting an error on the streambaby log:
> 
> Mind: ERROR: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints - https://mind.tivo.com:8181/mind/login
> 
> It then says failed to login and gives my username and password from the ini file which are correct and work for pytivo.
> 
> Suggestions?


 I know what the problem is since I had to fix a similar one for kmttg a while back following a Java update, so I'll look into putting fix into streambaby for next release.
EDIT: If you run using Java 6 it should work fine as is.


----------



## jcthorne

moyekj said:


> I know what the problem is since I had to fix a similar one for kmttg a while back following a Java update, so I'll look into putting fix into streambaby for next release.
> EDIT: If you run using Java 6 it should work fine as is.


Thanks, yep, that machine is running java 7 update 67. J7 was required for something else it does but forget what at the moment. Look forward to the update when you get a chance.


----------



## moyekj

jcthorne said:


> Thanks, yep, that machine is running java 7 update 67. J7 was required for something else it does but forget what at the moment. Look forward to the update when you get a chance.


 I took a good long look at this. While I can fix the Certificates problem easily, there's another problem beyond that which I can't fix. Exact same code works fine with Java 6 and older Java 7 installations, but fails with "malformed request" response from mind.tivo.com for newer Java 7 installations. I spent several hours trying different things and can't get it working, so I'm giving up for now. Doesn't help these are SSL connections so sniffing communications doesn't help. I can point someone to the relevant code if somebody wants to take a stab at it...

As a workaround, if you really want this, you can install and run java 6 alongside your java 7 and run Streambaby by using full path to java 6 in streambaby.bat file.


----------



## jcthorne

moyekj said:


> I took a good long look at this. While I can fix the Certificates problem easily, there's another problem beyond that which I can't fix. Exact same code works fine with Java 6 and older Java 7 installations, but fails with "malformed request" response from mind.tivo.com for newer Java 7 installations. I spent several hours trying different things and can't get it working, so I'm giving up for now. Doesn't help these are SSL connections so sniffing communications doesn't help. I can point someone to the relevant code if somebody wants to take a stab at it...
> 
> As a workaround, if you really want this, you can install and run java 6 alongside your java 7 and run Streambaby by using full path to java 6 in streambaby.bat file.


Thanks for looking into it. Perhaps another of the great programmers on the forum can help. Beyond my abilities in programming. Until then, I will install a copy of java 6 as you suggest and give that a go.


----------



## HerronScott

Does this help with this issue?

java.security.cert.CertificateException: Certificates does not conform to algorithm constraints

After ages trying to figure out how to get around it, the solution is simple...

JDK7 changed the default Java security settings to disable MD2 algorithm to sign SSL certificates. BUT this can be re-enabled by editing JDK_HOME/jre/lib/security/java.security and commenting out the following line:

jdk.certpath.disabledAlgorithms=MD2

... becomes ...

#jdk.certpath.disabledAlgorithms=MD2

Scott


----------



## moyekj

HerronScott said:


> Does this help with this issue?
> 
> java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
> 
> After ages trying to figure out how to get around it, the solution is simple...
> 
> JDK7 changed the default Java security settings to disable MD2 algorithm to sign SSL certificates. BUT this can be re-enabled by editing JDK_HOME/jre/lib/security/java.security and commenting out the following line:
> 
> jdk.certpath.disabledAlgorithms=MD2
> 
> ... becomes ...
> 
> #jdk.certpath.disabledAlgorithms=MD2
> 
> Scott


 That part was easy to fix inside streambaby code itself (no need to modify the security file in Java installation). The problem is with recent Java 7 installations you now get "malformed request" response from mind.tivo.com for the exact same code that works fine with Java 6 and earlier versions of Java 7.


----------



## moyekj

Release notes:
https://sourceforge.net/p/streambaby/wiki/release_notes

This version updates the browser and information screens to use more screen real estate and a new main background image.

This version also contains *VERY PRELIMINARY* Plex client capabilities. Consult release notes for making your Plex Media Server visible to streambaby, but keep in mind it may not work well or at all for your particular library. I have a very small and simple library I used to test with. If you do try it out some feedback in this thread would be useful.
Note that currently episodic shows are not grouped together as may be expected, which is something I still need to work on. This is essentially a proof of concept implementation right now.


----------



## plambert

How difficult would it be to add a feature to ignore files/directories matching a regular expression?

On my Synology, for various reasons, there are @eaDir directories interspersed among my files and folders and I'd like to just hide them in the UI--they contain nothing interesting.

Paul


----------



## jcthorne

moyekj said:


> I took a good long look at this. While I can fix the Certificates problem easily, there's another problem beyond that which I can't fix. Exact same code works fine with Java 6 and older Java 7 installations, but fails with "malformed request" response from mind.tivo.com for newer Java 7 installations. I spent several hours trying different things and can't get it working, so I'm giving up for now. Doesn't help these are SSL connections so sniffing communications doesn't help. I can point someone to the relevant code if somebody wants to take a stab at it...
> 
> As a workaround, if you really want this, you can install and run java 6 alongside your java 7 and run Streambaby by using full path to java 6 in streambaby.bat file.


Do you have a reliable source where I can download a copy of the Java 6 runtime for install?

Just a question, since its just the push function having the Java 7 problem, could streambaby just use the push code from kmttg to do the push via pytivo? I know its nice that streambaby runs without pytivo installed but.... an option?


----------



## reneg

jcthorne said:


> Do you have a reliable source where I can download a copy of the Java 6 runtime for install?
> 
> Just a question, since its just the push function having the Java 7 problem, could streambaby just use the push code from kmttg to do the push via pytivo? I know its nice that streambaby runs without pytivo installed but.... an option?


Try http://www.oracle.com/technetwork/java/javase/archive-139210.html


----------



## moyekj

plambert said:


> How difficult would it be to add a feature to ignore files/directories matching a regular expression?
> 
> On my Synology, for various reasons, there are @eaDir directories interspersed among my files and folders and I'd like to just hide them in the UI--they contain nothing interesting.
> 
> Paul


 Would you truly want regex expressions or just straight string matches? With regex one would have to enter something like "^ignoreMe$" to ignore a file or folder called "ignoreMe", so for those using it would require some understanding of regex syntax.



jcthorne said:


> Just a question, since its just the push function having the Java 7 problem, could streambaby just use the push code from kmttg to do the push via pytivo? I know its nice that streambaby runs without pytivo installed but.... an option?


 It's possible, and before the native push streambaby did use pyTivo push, so I'll have to look into perhaps reviving that. Of course it adds some complications such as your streambaby shares also need to be pyTivo video shares.


----------



## jcthorne

moyekj said:


> Would you truly want regex expressions or just straight string matches? With regex one would have to enter something like "^ignoreMe$" to ignore a file or folder called "ignoreMe", so for those using it would require some understanding of regex syntax.
> 
> It's possible, and before the native push streambaby did use pyTivo push, so I'll have to look into perhaps reviving that. Of course it adds some complications such as your streambaby shares also need to be pyTivo video shares.


I would find the simple string match for ignore files and folders useful, my backup software leaves a small folder in each with archive info in it, would prefer it did not appear.

On the push thing, don't waste your time on it. I installed J6 alongside J7 and pointed streambaby to it. Push works normal again. SB is more complete as it is, needs J7 support at some point but no need to revert to using pytivo just for this.


----------



## plambert

moyekj said:


> Would you truly want regex expressions or just straight string matches? With regex one would have to enter something like "^ignoreMe$" to ignore a file or folder called "ignoreMe", so for those using it would require some understanding of regex syntax.


Regular expressions are not a problem for me. Most folks would want string matching. If it's not too much trouble, these settings would work, applied in this order:

A whitelist of strings
A blacklist of strings
A whitelist regular expression
A blacklist regular expression

If the regular expressions are PCRE, or have the equivalent lookahead and lookbehind features, then one blacklist regular expression is sufficient and the whitelist can be omitted.

However, I'm a beggar who is being choosy, so even just a blacklist of fixed substring matches would be fantastic. 

If I knew any java at all, I'd try to figure out how to do it myself. I'm going to try anyway, of course...

While I'm being very wishful... I have been thinking of writing a wrapper for ffmpeg on my Synology that instead checks to see if my Mac Pro is alive, and if it is, uses ssh (and a limited authorized_key) to make sure the volume is mounted and run ffmpeg there instead. It's hard to get it to work correctly on the NAS even though it's not too bad of a CPU. (dual-core Cedarview).

And if ffmpeg won't be fast enough on the NAS, then I'll resurrect my Mac mini.

Paul


----------



## thewebgal

Okay, looks I have an older install tied to PyTivoX and I suspect the limits I'm hitting are from PyTivoX 
[Upgraded to ver 0.31 and still having buffer pauses]

... any suggestion on uninstalling pyTivoX so I can run Streambaby standalone? 
When I turn off PyTivoX so far I lose Streambaby function as well.
I'm on Mac OSX (Yosemite Beta3)


----------



## plambert

thewebgal said:


> Okay, looks I have an older install tied to PyTivoX and I suspect the limits I'm hitting are from PyTivoX
> [Upgraded to ver 0.31 and still having buffer pauses]
> 
> ... any suggestion on uninstalling pyTivoX so I can run Streambaby standalone?
> When I turn off PyTivoX so far I lose Streambaby function as well.
> I'm on Mac OSX (Yosemite Beta3)


If you enable streambaby in PyTivoX, it uses the version that comes with it, buried in its application folder. So turn streambaby off there, and run the version of streambaby you downloaded in a terminal window. You'll need to copy the default config file to streambaby.ini and edit that to reflect the settings you need.

There's no GUI interface to streambaby alone.

If you need more specific instructions, ask, and if I can I'll write them up.

Paul


----------



## thewebgal

plambert said:


> If you enable streambaby in PyTivoX, it uses the version that comes with it, buried in its application folder. So turn streambaby off there, and run the version of streambaby you downloaded in a terminal window. You'll need to copy the default config file to streambaby.ini and edit that to reflect the settings you need.
> 
> There's no GUI interface to streambaby alone.
> 
> If you need more specific instructions, ask, and if I can I'll write them up.
> 
> Paul


Well, I have a TIVO application folder with the PyTivoX app and a few other things then a series of folders and such for Streambaby.
I closed PyTivoX and removed it from the Login autostart list, did a restart, Restarted my Roamio, and then didn't have PyTivo in the apps list on the TIVO.

So, I dragged the PyTivoX app into the Streambaby folder itself
(same directory level as the Streambaby.ini file, bat file and such).
Then I went back to the User config and Added pyTivoX and Streambaby back into the Login autostart menu.

Restarted the Mac again, and now have the PyTivoX icon on the top dock of the Mac again.
Went downstairs and checked the Roamio and again see this in the Apps

pyTivoX\032-\032Heather-James ...

Looks like I have the older config back again ...


----------



## mr_pink

Downloaded .32 and started fresh. added plex.server= to .ini but I don't see a plex folder.

More importantly, can't stream anything. running under jre6_u45. on first run looked like it went out and grabbed latest ffmpeg. But I get this whenever I try to stream anything:

09/23/14 09:47:03 FFmpegExeVideoModule: FFmpeg failed to continue running... Ass
uming error

Ideas?


----------



## moyekj

mr_pink said:


> Downloaded .32 and started fresh. added plex.server= to .ini but I don't see a plex folder.
> 
> More importantly, can't stream anything. running under jre6_u45. on first run looked like it went out and grabbed latest ffmpeg. But I get this whenever I try to stream anything:
> 
> 09/23/14 09:47:03 FFmpegExeVideoModule: FFmpeg failed to continue running... Ass
> uming error
> 
> Ideas?


 Need more information from log files. See debugging_problems Wiki on how to generate more detailed logs.
For the Plex IP you need to supply it as IPort if you didn't, and if you have a large Plex library it may take a while before the Plex folder shows up at top level (streambaby builds in background non-blocking mode).


----------



## mr_pink

moyekj said:


> if you have a large Plex library it may take a while before the Plex folder shows up at top level (streambaby builds in background non-blocking mode).


Ill give it some more time and see on the plex folder.

debug log output: http://pastebin.com/bT34EjYL


----------



## mr_pink

(PS New UI tweaks (background, etc.) are a major improvement!


----------



## moyekj

mr_pink said:


> Ill give it some more time and see on the plex folder.
> 
> debug log output: http://pastebin.com/bT34EjYL


Probably ffmpeg is erroring out. Execute the following from a cmd window so you can see the ffmpeg error:


Code:


C:\streambaby\native\ffmpeg.exe -ss 0.0 -i "o:\tv shows\Breaking Bad\Season 05\Breaking Bad - s05e01 - 1080p WEB-DL.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 0 -ab 192k -ar 48000 testing.mpg

You can also try replacing the ffmpeg.exe in location above with a much more recent version. I haven't updated what version of ffmpeg streambaby grabs by default, so currently a very old version is being downloaded.


----------



## mr_pink

Seems to dislike the qscale of 0

returns: qscale must be > 0.0 and <= 255

(unrelated question - show comes up as "quality=same" - is ffmpeg just doing a remux here or is it doing a full transcode?)


----------



## moyekj

A newer version of ffmpeg would probably fix that problem. For your mkv file a full transcode to mpeg2 is being done. Unlike pyTivo which uses HMO protocol and is able to videos in TS container, HME protocol doesn't support that, so effectively the only valid containers are mpeg2 or mp4. Since TS container is not supported natively and transcoding to mp4 is expensive and TiVo requires MOOV atom at the start, the only choice is to transcode to mpeg2. If the mkv had mpeg2 video and ac3 audio then only a remux would be needed, but those aren't too common these days.


----------



## benichols

Being a noob, I would love a step by step guide to installing this new version of streambaby on a Mac. I can't seem to get it work. pyTivoX works great but obviously does not have this new improved version of streambaby. Is there a way to drop the new version of streambaby into the internal version pyTivoX uses to make it seamless?


----------



## moyekj

benichols said:


> Being a noob, I would love a step by step guide to installing this new version of streambaby on a Mac. I can't seem to get it work. pyTivoX works great but obviously does not have this new improved version of streambaby. Is there a way to drop the new version of streambaby into the internal version pyTivoX uses to make it seamless?


 Start with the getting_started Wiki if you haven't looked at that already, and then post questions here if you still have trouble. pyTivoX project is dead, so I would recommend completely divorcing yourself from that to run streambaby.
I've considered perhaps adding a streambaby installer and perhaps some kind of GUI around streambaby options as part of kmttg, but if I did do that it would be a long term project.


----------



## mr_pink

moyekj said:


> A newer version of ffmpeg would probably fix that problem.


Thanks for your help so far!

OK - so newer version of ffmpeg does indeed fix the qscale error. However - I am now getting an error when streambaby starts about one of the libraries. Streambaby appears to be hardcoded to look for avutil-49.dll. The newer ffmpeg releases I have tried do not include that dll, it now is avutil-54.dll.

09/23/14 14:13:21 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
09/23/14 14:13:21 FFmpegJavaConfig$1: Error attempting toload ffmpeg libraries:
Unable to load library 'avutil-49': The specified module could not be found.


----------



## mr_pink

On a seperate note, while I can't stream anything yet - the plex share did load. For a preliminary alpha support item it looks pretty good! Comments so far:

1) TV Shows are not listed in any sort of folder structure - basically it is just a huge long list of every episode of every show. 
2) Drilling down to an episode or movie shows a graphic along with the same description that streambaby was already showing in the default shares (presumably sb is already pulling from existing plex/xbmc .nfo?). This is nice. 
3) When selecting an episode it takes about 5 seconds for the info screen to pop up with the episode description and graphic. When browsing the regular streambaby shares, it pops up basically instantly. (Roamio connected to server over wired 1gb)

Great work!


----------



## moyekj

mr_pink said:


> Thanks for your help so far!
> 
> OK - so newer version of ffmpeg does indeed fix the qscale error. However - I am now getting an error when streambaby starts about one of the libraries. Streambaby appears to be hardcoded to look for avutil-49.dll. The newer ffmpeg releases I have tried do not include that dll, it now is avutil-54.dll.
> 
> 09/23/14 14:13:21 FFmpegJavaConfig$1: Loading avutil, default: avutil-49
> 09/23/14 14:13:21 FFmpegJavaConfig$1: Error attempting toload ffmpeg libraries:
> Unable to load library 'avutil-49': The specified module could not be found.


 I'll have to look at ffmpeg setup. For now probably easiest thing to do then is revert back to the streambaby ffmpeg and add this to streambaby.ini (to override the streambaby default -f -qscale 0 -ab 192k):
ffmpegexe.transcode.sameqargs=-qscale 1 -ab 192k

For Plex the next release will have folders for episodic shows and a split File Browser view with the right side containing some metadata of the selected show in the list on the left. Note that HME image rendering is pretty slow and currently the Plex 1920x1080 images are downloaded from Plex server and downscaled. In fact the way streambaby is doing metadata rendering is using html/css, generating images and then displaying those images in HME, so pretty slow sequence. At least once created the metadata is cached, so 1st time is expensive, subsequent rendering much faster. For the File Browser split view I'm avoiding displaying images and using HME directly to display only text, so performance is pretty good that way.


----------



## thewebgal

moyekj said:


> Start with the getting_started Wiki if you haven't looked at that already, and then post questions here if you still have trouble. pyTivoX project is dead, so I would recommend completely divorcing yourself from that to run streambaby.
> I've considered perhaps adding a streambaby installer and perhaps some kind of GUI around streambaby options as part of kmttg, but if I did do that it would be a long term project.


The wiki seems to be for Windows users ...

I have installed streambaby 0.32 (overwriting the previous version) and have a proper ini file.
I have disabled pyTivoX as suggested. 
I have restarted my Mac and then restarted my Roamio.

pyTivoX\032-032Heather-... no longer shows in the apps list. 
streambaby does not show in the apps list.

Ideas?


----------



## moyekj

If you're starting streambaby with no errors such that you're seeing "ready & listening" in the streambaby console then do the following to re-start HDUI for Roamio TiVo Central:
Thumbs Up, Thumbs Down, Play, Play

Obviously if you're getting errors starting streambaby then HDUI re-start won't help.


----------



## thewebgal

moyekj said:


> If you're starting streambaby with no errors such that you're seeing "ready & listening" in the streambaby console then do the following to re-start HDUI for Roamio TiVo Central:
> Thumbs Up, Thumbs Down, Play, Play
> 
> Obviously if you're getting errors starting streambaby then HDUI re-start won't help.


Okay - I do see this embedded in the log-file

09/23/14 17:28:57 Main: streambaby ready & listening.

The whole streambaby log is below ...

Initializing StreamBaby v0.32...
09/23/14 17:28:57 StreamBabyConfig: WorkingDir: /Users/heatherjames
09/23/14 17:28:57 StreamBabyConfig: StreamBabyDir: /Applications/TIVO/streambaby
09/23/14 17:28:57 StreamBabyConfig: CurDir: /Users/heatherjames
09/23/14 17:28:57 FFmpegExeVideoModule: FFmpegPath: /opt/local/bin/ffmpeg
09/23/14 17:28:57 FFmpegExeVideoModule: FFmpegExeModule: Loaded
09/23/14 17:28:57 StreamBabyMain: STARTING StreamBaby v0.32...
09/23/14 17:28:57 Main: args= start=true
09/23/14 17:28:57 Main: args= [email protected]
09/23/14 17:28:57 Listener: [email protected] [email protected]
Sep 23, 2014 5:28:57 PM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
WARNING: closeMulticastSocket() Close socket exception 
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.leave(Native Method)
at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:232)
at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
at javax.jmdns.JmDNS.create(JmDNS.java:41)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:157)
09/23/14 17:28:57 Listener: factoryList=[StreamBabyStreamFactory[/streambaby/,streambaby]]
09/23/14 17:28:57 Listener: factory=StreamBabyStreamFactory[/streambaby/,streambaby]
09/23/14 17:28:57 Listener: name=/streambaby/
09/23/14 17:28:57 Listener: 
09/23/14 17:28:57 Listener: added factory
09/23/14 17:28:57 Main: factory=StreamBabyStreamFactory[/streambaby/,streambaby]
09/23/14 17:28:57 Main: MDNS: http://192.168.1.10:7290/streambaby/
09/23/14 17:28:57 Main: streambaby ready & listening.
09/23/14 17:28:57 Main: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,streambaby] port=7290
09/23/14 17:29:03 TiVoListener: addService: Roamio3T
09/23/14 17:29:03 TiVoListener: Updating service: _http._tcp.local. (Roamio3T)
09/23/14 17:29:03 TiVoListener: resolveService: _http._tcp.local. (Roamio3T)
09/23/14 17:29:03 TiVoListener: jmDns found TiVo: Roamio3T, tsn: 8460001902569D1


----------



## moyekj

So looks like it is running. So you may just have to do the sequence I gave above to be able to see it:
Thumbs Up, Thumbs Down, Play, Play
(Series 4 and above units have bug where they don't always see local HME files right away. Re-starting the HDUI using above sequence is the workaround for this bug).

EDIT: Looking again at your log file I do see a problem:
java.net.SocketException: Can't assign requested address

If you still have another streambaby session running that would explain it, so make sure you kill any running sessions.


----------



## benichols

Hello,
I was able to take the time to read some partial tutorials regarding getting streambaby running under Mac OS X (Mavericks). I downloaded 0.32 streambaby and placed it into the /Applications folder. I downloaded the latest version of ffmpeg (1.1) and placed the executable into the streambaby Applications folder. I modified the .ini file to direct to my movie folder and also added a couple of lines recommended for Mac installation:

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.path=/Applications/streambaby/ffmpeg

I then started streambaby from the terminal (/Applications/streambaby/streambaby) with the following output in terminal:

Mac-Theater:~ mactheater$ /Applications/streambaby/streambaby
Initializing StreamBaby v0.32...
Sep 23, 2014 7:19:11 PM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
WARNING: closeMulticastSocket() Close socket exception 
java.net.SocketException: Can't assign requested address
at java.net.PlainDatagramSocketImpl.leave(Native Method)
at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:232)
at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
at javax.jmdns.JmDNS.create(JmDNS.java:41)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:161)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:157)
09/23/14 19:19:11 Listener: added factory
09/23/14 19:19:11 Main: streambaby ready & listening.

Nothing shows up on my Tivo so I assume there are some java errors - is that a 64bit versus 32 bit error?

Thanks for any help!


----------



## thewebgal

(I've got a macPro running Yosemite Beta 3 & a Base Roamio downstairs - Mac 802.11an wifi - Java 1.7)

Agreed there is some good info here: http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/

But it sounds like the socket error shown here is my main problem now ...

WARNING: closeMulticastSocket() Close socket exception
java.net.SocketException: Can't assign requested address

I have been reading through the thread from post 1 in 2009 forward and saw 
in post 2664 Divvins said:



ddivins said:


> I was having the exact issues. Looks like streambaby dislikes Apple's java 1.6 but seems ok with Oracle's 1.7 (at least 1.7u21)
> 
> To correct, install the latest java from java.com (1.7).
> 
> Even after doing this, java is still pointing to the Apple version via /usr/bin/java (as seen by "which java") and that version is probably still the apple version:
> dsd$ java -version
> java version "1.6.0_45"
> Java(TM) SE Runtime Environment (build 1.6.0_45-b06-451-11M4406)
> Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01-451, mixed mode)
> 
> You need to link the Oracle Java 1.7 here:


and in post 2673, MacGuruTX posted the corrected string to enter in the terminal:


MacGuruTX said:


> For this to work correctly, I believe you will need to put quotations around the first directory path.
> 
> like this
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java
> 
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws


Apparently, this makes apple point at the newer java module instead of the older default one ...

Now that I did that I can see "streambaby" in my Apps list on my Roamio downstairs -
I have bare Streambaby (no pyTivoX now) running fine ...

Thanks for all the support folk - current and back then!!
Gotta scoot to bed - its 10:30 and 5-ayem comes early!


----------



## moyekj

benichols since you are also on Mac see post above this one for possible solution. Looks like something I may have to include in installation notes for Mac OS.


----------



## benichols

Thanks,
I've got it up and running - I installed java 1.7 and entered the 2 terminal commands to set 1.7 as the default -version of java. I also downloaded 1.1 ffmpeg and placed it into the streambaby folder and changed the .ini file to direct to the latest ffmpeg (as indicated earlier). I started up streambaby from the terminal and it works in Mavericks. However, the resulting videos play in full screen mode only (ie filling the screen of the TV) rather than the native format. Is there an easy fix for that?
Thanks again!


----------



## moyekj

If you don't have the latest TiVo software yet and these are SD videos you are playing then the culprit is the TiVo software. 20.4.4 software has a fix for the SD aspect ratio bug introduced in last TiVo software update.


----------



## thewebgal

moyekj said:


> If you don't have the latest TiVo software yet and these are SD videos you are playing then the culprit is the TiVo software. 20.4.4 software has a fix for the SD aspect ratio bug introduced in last TiVo software update.


Right - during my testing last night, after I had success, I streamed a piece of a film that was in an mkv file. It was nicely letterboxed with black bars top and bottom.
Just checked and mine shows ver 20.4.4a-USA-6-846

I'll try some of the more fancy toggles in the streambaby.ini file tonight -

Thanks again for all the help folks - gotta scoot to work!


----------



## thewebgal

Got home from work and am checking things further ...
Started DW_S08E01.deep_breath.720p_hdtv_x264-fov.mkv - a 1.38gB mkv file ...
started to play it and realized I'm getting the full 5.1 audio decoding - sweet!

Also paused it and let it load and when I came back later it looked the whole progress window was displayed - 
not fill-to-just-the-buffer, but the complete file loaded ready to play! FanTAStic!

Thank you, thank you *Moyekj* for all these code upgrades - just amazing!


----------



## benichols

Thanks to Moyekj for all the code upgrades as well - Great job!

My only issue continues to be formatting of the picture of the .mp4 files with the new code. It stretches to fill the entire screen effectively stretching the video significantly. Does anyone know if there is a simple fix for this (ie in the .ini file)? I checked and do have the latest software for my Roamio (20.4.4a-USA-6-846).


----------



## lpwcomp

benichols said:


> Thanks to Moyekj for all the code upgrades as well - Great job!
> 
> My only issue continues to be formatting of the picture of the .mp4 files with the new code. It stretches to fill the entire screen effectively stretching the video significantly. Does anyone know if there is a simple fix for this (ie in the .ini file)? I checked and do have the latest software for my Roamio (20.4.4a-USA-6-846).


When you hit the "Zoom" button on the TiVo remote, what appears on screen?


----------



## moyekj

The zoom button in HME applications doesn't affect aspect. (In streambaby zoom button is used to toggle srt captions on/off). So if the zoom is not set correctly you need to exit streambaby on the TiVo, set the zoom accordingly and then go back to streambaby again.

If setting the proper zoom outside of streambaby still doesn't help then post here "mediainfo" output of the source .mp4 that is giving trouble.


----------



## benichols

lpwcomp said:


> When you hit the "Zoom" button on the TiVo remote, what appears on screen?


Nothing changes - it give the Tivo error sound. I've also noticed that the videos take long to start up (longer than the old version of streambaby). All of my files should be compatible. Is it possible that this new version is trying to transcode when it doesn't need to?
Thanks!

Edit: I looked at the streambaby.log file and it's giving the following:

Listener: 10.0.1.34 I/O Exception handling HTTP GET f3f8b575-17e1-465a-8b90-2045d02fdb33.stream: Broken pipe

Even though I can view the video (after a lengthly delay).


----------



## lpwcomp

benichols said:


> Nothing changes - it give the Tivo error sound.


Ok, then as moyekj you need to check the applicable setting, which is under Tivo Central->Settings & Messages->Settings->Video. "Aspect Correction Mode" needs to be set to "Panel".

It's also possible that your TV is getting set to some weird mode.


----------



## benichols

lpwcomp said:


> Ok, then as moyekj you need to check the applicable setting, which is under Tivo Central->Settings & Messages->Settings->Video. "Aspect Correction Mode" needs to be set to "Panel".
> 
> It's also possible that your TV is getting set to some weird mode.


Wow I'm an idiot. Not sure how that setting was changed (maybe the update?). Nevertheless, that fixed it. Thanks!


----------



## moyekj

Some pretty major changes/enhancements in this release including:
* Introduction of File Browser mode double pane with information about currently selected folder or file shown on the right.
* Plex client now folderizes episodic shows
* Ability to ignore files/folders either by full name or regex expression
* On Mac 1st run tools package containing ffmeg is downloaded to "native" folder. NOTE: I don't have a Mac to test if that is working properly so let me know if there is a problem.
* TS .TiVo files can be streamed on Windows platform if you have at least partial TiVo Desktop installation - Streambaby uses DirectShowDump utility to decrypt.
* TS container with mpeg2 video now is simply remuxed instead of fully transcoded.

Consult release_notes for all the details.


----------



## jcthorne

Oh wow, love what you are doing with this.

The ignore feature works perfectly for me, ignoring the archive info directories my back up software leaves in the video shares. Was easy as all the folders have the same name.

The new two pane view is absolutly a step toward the current interface and seems to work well.

Do have a couple questions, Cover art will come back at a future release? Or did I miss a configuration step. None of my cover art is showing any longer.

Minor item, in the two pane view when you highlight a folder or title in the left pane, that item's name repeats at the top of the right pane. Is this intended? Could be left out as repetitive if the space is needed for cover art.

Oh, and streambaby updated the utility files just fine on first launch of 0.33.


----------



## thewebgal

Wow - very cool - thanks again for keeping this project going forward!

- Looks like this one broke my Mac install ...
ver 0.32 was working fine last night - I had downloaded and watched a .ts file 
it worked great and had never been able to do that before.

But this morning I got the SourceForge email and decided to load Ver 0.33

on first run it installed a number of things, and failed - 
here's the log -

Last login: Sun Sep 28 09:59:26 on console
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.33...
09/28/14 09:59:39 StreamBabyConfig: WorkingDir: /Users/heatherjames
09/28/14 09:59:39 StreamBabyConfig: StreamBabyDir: /Applications/TIVO/streambaby
09/28/14 09:59:39 StreamBabyConfig: CurDir: /Users/heatherjames
09/28/14 09:59:39 FFmpegExeVideoModule: FFmpegPath: ffmpeg
09/28/14 09:59:39 FFmpegExeVideoModule: FFmpegExeModule: Loaded
09/28/14 09:59:39 StreamBabyMain: STARTING StreamBaby v0.33...
09/28/14 09:59:39 Main: args= start=true
09/28/14 09:59:39 Main: args= [email protected]
Downloading file: http://sourceforge.net/projects/str...ools_v0p33.zip/download?use_mirror=autoselect ...
09/28/14 09:59:39 Listener: [email protected] [email protected]
Download completed successfully
Extracting directory: /Applications/TIVO/streambaby/native/
Extracting file: /Applications/TIVO/streambaby/native/.DS_Store
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg.bin
Extracting file: /Applications/TIVO/streambaby/native/gpl-2.0.txt
Extracting file: /Applications/TIVO/streambaby/native/libavcodec.dylib
Extracting file: /Applications/TIVO/streambaby/native/libavdevice.dylib
Extracting file: /Applications/TIVO/streambaby/native/libavformat.dylib
Extracting file: /Applications/TIVO/streambaby/native/libavutil.dylib
Extracting file: /Applications/TIVO/streambaby/native/libswscale.dylib
Extracting file: /Applications/TIVO/streambaby/native/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode
Extracting directory: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/.DS_Store
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/ChangeLog
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/COPYING
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/README
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode_MacOSX_ppc/tivodecode
java.net.UnknownHostException: Heather-James-MacPro.local: Heather-James-MacPro.local
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:135)
Caused by: java.net.UnknownHostException: Heather-James-MacPro.local
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
... 4 more
error: Heather-James-MacPro.local: Heather-James-MacPro.local
usage: Main [--port <port>] [--ip <ip>] class

09/28/14 09:59:49 ShutdownHook: Cleaning up...
logout

[Process completed]

================================

Not sure why its installing anything for MAC_powerpc

But its down and not coming back up as is ...



moyekj said:


> Some pretty major changes/enhancements in this release including:
> * Introduction of File Browser mode double pane with information about currently selected folder or file shown on the right.
> * Plex client now folderizes episodic shows
> * Ability to ignore files/folders either by full name or regex expression
> * On Mac 1st run tools package containing ffmeg is downloaded to "native" folder. NOTE: I don't have a Mac to test if that is working properly so let me know if there is a problem.
> * TS .TiVo files can be streamed on Windows platform if you have at least partial TiVo Desktop installation - Streambaby uses DirectShowDump utility to decrypt.
> * TS container with mpeg2 video now is simply remuxed instead of fully transcoded.
> 
> Consult release_notes for all the details.


----------



## moyekj

jcthorne said:


> Cover art will come back at a future release? Or did I miss a configuration step. None of my cover art is showing any longer.


 You still need to press "select" or right arrow on a title to see full details on it including cover art. The way cover art is rendered in Streambaby (making images out of everything) makes it too slow to include in browsing mode, so I intentionally left cover art out in the right pane, and I use non-image objects in right pane to make rendering faster. I did experiment with making right pane rendering run in background mode to eliminate navigation jerkiness, but that resulted in issues with contents not displaying at all sometimes.



> Minor item, in the two pane view when you highlight a folder or title in the left pane, that item's name repeats at the top of the right pane. Is this intended? Could be left out as repetitive if the space is needed for cover art.


 The title on the right can be different than on the left depending on your configuration options. I have the following options set:
use.title=false
sort.filename=true
Which means all of my files are shown with actual file names and sorted alphabetically in left pane. I like to see which specific file I'm looking at. So in my case titles on left are completely different than on the right.

EDIT TO ADD: Also space in left list pane is limited and can be cut off with "..." while in the right pane the title wraps around to next line if needed, so you should be able to see the whole thing rather than be cut off.


----------



## moyekj

thewebgal said:


> java.net.UnknownHostException: Heather-James-MacPro.local: Heather-James-MacPro.local


 Going by previous posts like this in this thread this problem is either:
1. You already have streambaby running somewhere and you are trying to start another
2. Address translation from name to IP is not working, so Streambaby can't resolve your host by name. In this case if you have fixed IP you should add following to your streambaby.ini:
ip=<IP>
(where <IP> is the actual IP of host running streambaby)


----------



## benichols

I installed 0.33 on my Mac Mini (thanks!) in place of 0.32.
0.33 did not seem to install ffmpeg. If I tried to play a video it gave a "stream not available" error.
If I dumped ffmpeg (version 1.1) binary into the stream baby folder and set the path to this ffmpeg in the .ini file, it works again.
I still have to use the ffmpeg instructions in this post (http://www.logicsector.com/mac/how-to-set-up-streambaby-under-mac-os-x-lion-10-7/) and include the following 2 lines in the streambaby.ini file:

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.path=/Applications/streambaby/ffmpeg

Thanks!

Edit: I do see that it downloaded a bunch of files into the "native" folder, including ffmpeg. But would not stream to the Tivo. Here is the terminal output on a fresh install of 0.33

Initializing StreamBaby v0.33...
Downloading file: http://sourceforge.net/projects/str...ools_v0p33.zip/download?use_mirror=autoselect ...
09/28/14 10:47:01 Listener: added factory
09/28/14 10:47:01 Main: streambaby ready & listening.
Download completed successfully
Extracting directory: /Applications/streambaby/native/
Extracting file: /Applications/streambaby/native/.DS_Store
Extracting file: /Applications/streambaby/native/ffmpeg
Extracting file: /Applications/streambaby/native/ffmpeg.bin
Extracting file: /Applications/streambaby/native/gpl-2.0.txt
Extracting file: /Applications/streambaby/native/libavcodec.dylib
Extracting file: /Applications/streambaby/native/libavdevice.dylib
Extracting file: /Applications/streambaby/native/libavformat.dylib
Extracting file: /Applications/streambaby/native/libavutil.dylib
Extracting file: /Applications/streambaby/native/libswscale.dylib
Extracting file: /Applications/streambaby/native/tdcat
Extracting file: /Applications/streambaby/native/tivodecode
Extracting directory: /Applications/streambaby/native/tivodecode_MacOSX_ppc/
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/.DS_Store
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/ChangeLog
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/COPYING
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/README
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/tdcat
Extracting file: /Applications/streambaby/native/tivodecode_MacOSX_ppc/tivodecode


----------



## benichols

I started a new post on this to avoid the garble in my previous post.

Installed 0.33 from scratch. It appeared to download all necessary files to the native folder and start up StreamBabyMain in Java. I am able to access the file directory on my Tivo. However, when I try to play a file, it gives a "Failed to open stream" error. I am unable to play any files with 0.33 unless I make the changes I indicated in the previous post.

I have the latest version of Java installed (java -version results in 1.7.0_67) and have Mac Mavericks installed on a late 2012 Mac Mini.

Any ideas?


----------



## moyekj

benichols said:


> I started a new post on this to avoid the garble in my previous post.
> 
> Installed 0.33 from scratch. It appeared to download all necessary files to the native folder and start up StreamBabyMain in Java. I am able to access the file directory on my Tivo. However, when I try to play a file, it gives a "Failed to open stream" error. I am unable to play any files with 0.33 unless I make the changes I indicated in the previous post.
> 
> I have the latest version of Java installed (java -version results in 1.7.0_67) and have Mac Mavericks installed on a late 2012 Mac Mini.
> 
> Any ideas?


 It seems like ffmpeg which is installed under "native" folder is not working properly for you. From a command prompt go inside the streambaby "native" folder and then run the following to see if it works:
./ffmpeg -version


----------



## benichols

Here is the result:

FFmpeg version SVN-r19732, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: [email protected]_path --arch=i386 --cpu=i686 --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libfaad --enable-libx264 --extra-cflags='-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2-2.7/include -I/Users/yoav/src/faac-1.28/include -I/Users/yoav/src/x264' --extra-ldflags='-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2-2.7/libfaad/.libs -L/Users/yoav/src/faac-1.28/libfaac/.libs -L/Users/yoav/src/x264/'
libavutil 50. 3. 0 / 50.27. 0
libavcodec 52.34. 0 / 52.89. 0
libavformat 52.38. 0 / 52.78. 5
libavdevice 52. 2. 0 / 52. 2. 2
libswscale 0. 7. 1 / 0.11. 0
built on Aug 27 2009 10:32:06, gcc: 4.0.1 (Apple Inc. build 5484)
FFmpeg SVN-r19732
libavutil 50. 3. 0 / 50.27. 0
libavcodec 52.34. 0 / 52.89. 0
libavformat 52.38. 0 / 52.78. 5
libavdevice 52. 2. 0 / 52. 2. 2
libswscale 0. 7. 1 / 0.11. 0

It appears to be working correctly? Is this an issue with my Java version? I installed the latest version from Oracle and changed the version Mac points to (via commands earlier in this thread).


----------



## thewebgal

moyekj said:


> Going by previous posts like this in this thread this problem is either:
> 1. You already have streambaby running somewhere and you are trying to start another
> 2. Address translation from name to IP is not working, so Streambaby can't resolve your host by name. In this case if you have fixed IP you should add following to your streambaby.ini:
> ip=<IP>
> (where <IP> is the actual IP of host running streambaby)


Okay - I had blown away my previous install a did a fresh install in the tivo folder under Applications (where the previous copy was). I edited the ini file to show the IP and the port number (Like my original file had before I masked it during some previous troubleshooting today ... 
So, the only thing in the ini file is the list of directories (unchanged in the last few years) and the IP/Port definition (like I used to have) as follow -

# 
ip=192.168.1.12
port=7290
#
#

I closed all the terminal windows, did a restart ... and pretty much the same errors

Last login: Sun Sep 28 13:20:30 on ttys003
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.33...
java.net.UnknownHostException: Heather-James-MacPro.local: Heather-James-MacPro.local
at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:135)
Caused by: java.net.UnknownHostException: Heather-James-MacPro.local
at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
... 4 more
error: Heather-James-MacPro.local: Heather-James-MacPro.local
usage: Main [--port <port>] [--ip <ip>] class

logout

[Process completed]

I checked Force QUIT (kind of like Windows task manager) and don't see another occurence of Streambaby running ...


----------



## moyekj

benichols said:


> Here is the result:
> 
> FFmpeg version SVN-r19732, Copyright (c) 2000-2009 Fabrice Bellard, et al.
> configuration: [email protected]_path --arch=i386 --cpu=i686 --disable-static --enable-shared --enable-pthreads --enable-gpl --enable-libmp3lame --enable-libfaac --enable-nonfree --enable-libfaad --enable-libx264 --extra-cflags='-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2-2.7/include -I/Users/yoav/src/faac-1.28/include -I/Users/yoav/src/x264' --extra-ldflags='-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2-2.7/libfaad/.libs -L/Users/yoav/src/faac-1.28/libfaac/.libs -L/Users/yoav/src/x264/'
> libavutil 50. 3. 0 / 50.27. 0
> libavcodec 52.34. 0 / 52.89. 0
> libavformat 52.38. 0 / 52.78. 5
> libavdevice 52. 2. 0 / 52. 2. 2
> libswscale 0. 7. 1 / 0.11. 0
> built on Aug 27 2009 10:32:06, gcc: 4.0.1 (Apple Inc. build 5484)
> FFmpeg SVN-r19732
> libavutil 50. 3. 0 / 50.27. 0
> libavcodec 52.34. 0 / 52.89. 0
> libavformat 52.38. 0 / 52.78. 5
> libavdevice 52. 2. 0 / 52. 2. 2
> libswscale 0. 7. 1 / 0.11. 0
> 
> It appears to be working correctly? Is this an issue with my Java version? I installed the latest version from Oracle and changed the version Mac points to (via commands earlier in this thread).


 It looks like this version is very old and perhaps that is the issue. Can you rename the "ffmpeg" that is currently under "native" and replace with alternate version that you were configuring for in streambaby.ini? I want to see if with an updated version of ffmpeg in place that things work as expected without you having to make the streambaby.ini changes. If that works then I will also ask if you can make that version of ffmpeg available for me somewhere so I can update the Mac tools package to use it.


----------



## moyekj

thewebgal said:


> Okay - I had blown away my previous install a did a fresh install in the tivo folder under Applications (where the previous copy was). I edited the ini file to show the IP and the port number (Like my original file had before I masked it during some previous troubleshooting today ...
> So, the only thing in the ini file is the list of directories (unchanged in the last few years) and the IP/Port definition (like I used to have) as follow -
> 
> #
> ip=192.168.1.12
> port=7290
> #
> #
> 
> I closed all the terminal windows, did a restart ... and pretty much the same errors
> 
> Last login: Sun Sep 28 13:20:30 on ttys003
> Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
> Initializing StreamBaby v0.33...
> java.net.UnknownHostException: Heather-James-MacPro.local: Heather-James-MacPro.local
> at java.net.InetAddress.getLocalHost(InetAddress.java:1473)
> at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:58)
> at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:103)
> at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:137)
> at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:135)
> Caused by: java.net.UnknownHostException: Heather-James-MacPro.local
> at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
> at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:901)
> at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1293)
> at java.net.InetAddress.getLocalHost(InetAddress.java:1469)
> ... 4 more
> error: Heather-James-MacPro.local: Heather-James-MacPro.local
> usage: Main [--port <port>] [--ip <ip>] class
> 
> logout
> 
> [Process completed]
> 
> I checked Force QUIT (kind of like Windows task manager) and don't see another occurence of Streambaby running ...


I think the problem is still resolving a host name to IP. From command line if you execute this what happens:
ping Heather-James-MacPro.local


----------



## benichols

moyekj said:


> It looks like this version is very old and perhaps that is the issue. Can you rename the "ffmpeg" that is currently under "native" and replace with alternate version that you were configuring for in streambaby.ini? I want to see if with an updated version of ffmpeg in place that things work as expected without you having to make the streambaby.ini changes. If that works then I will also ask if you can make that version of ffmpeg available for me somewhere so I can update the Mac tools package to use it.


I have the ffmpeg 1.1 binary and replaced the version in the native folder. ./ffmpeg -version results in:

ffmpeg version 1.1-pytivo
built on Jan 8 2013 15:00:31 with gcc 4.7.2 (MacPorts gcc47 4.7.2_2+universal)
configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-libmp3lame --mandir=/opt/local/share/man --enable-pthreads --cc=/opt/local/bin/gcc-mp-4.7 --arch=x86_64 --enable-yasm --enable-gpl --enable-postproc --enable-libx264 --disable-shared --enable-static --enable-swscale --enable-avfilter --enable-runtime-cpudetect --enable-hardcoded-tables --enable-postproc --enable-libx264
libavutil 52. 13.100 / 52. 13.100
libavcodec 54. 86.100 / 54. 86.100
libavformat 54. 59.106 / 54. 59.106
libavdevice 54. 3.102 / 54. 3.102
libavfilter 3. 32.100 / 3. 32.100
libswscale 2. 1.103 / 2. 1.103
libswresample 0. 17.102 / 0. 17.102
libpostproc 52. 2.100 / 52. 2.100

Unfortunately, it gives the same error "Failed to open stream"
BTW, I also don't see any cover art - not sure if that is related.
Here is where I downloaded the ffmpeg binary: http://pytivo.sourceforge.net/forum/ffmpeg-builds-for-mac-os-x-t1803.html
Thanks!

Edit: I download the absolutely latest ffmpeg binary for Mac here (http://ffmpegmac.net) and it worked fine for me as well as long as I included the following 2 lines in the stream baby.ini file:

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.path=/Applications/streambaby/ffmpeg

There must be something about trying to load the ffmpeg modules that FFmpegJavaVideoModule is turning off that is making a difference...


----------



## moyekj

benichols, generate a debug log as outlined in debugging_problems Wiki then post or PM me the resulting streambaby.log file so I can get a better idea of what is going wrong.

NOTE: The ffjava module is removed from streambaby so not sure why that makes any difference. Try streambaby without setting this in your streambaby.ini:
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false

(I suspect it's ffmpeg.path setting that is allowing things to work, not the above setting)


----------



## moyekj

I think I see what's happening on Mac platform now. Without explicitly setting ffmpeg.path in streambaby.ini it simply defaults to "ffmpeg" without any path. I'll try and update the code such that it will default to the one under "native" folder instead and I think that should allow things to work by default.


----------



## benichols

moyekj said:


> I think I see what's happening on Mac platform now. Without explicitly setting ffmpeg.path in streambaby.ini it simply defaults to "ffmpeg" without any path. I'll try and update the code such that it will default to the one under "native" folder instead and I think that should allow things to work by default.


Sounds great. You were correct, I commented out the line you recommended and left only the path line and it still works fine.


----------



## moyekj

Version 0.34 is posted with hopefully fix to Mac platform not defaulting to ffmpeg under "native" folder. Also added support for extracting and displaying .TiVo file metadata. See release notes for details on getting that working, since you have to supply your MAK in streambaby.ini. Full details in release_notes Wiki.


----------



## benichols

moyekj said:


> Version 0.34 is posted with hopefully fix to Mac platform not defaulting to ffmpeg under "native" folder. Also added support for extracting and displaying .TiVo file metadata. See release notes for details on getting that working, since you have to supply your MAK in streambaby.ini. Full details in release_notes Wiki.


Can confirm that this now works properly on Mac. It installs ffmpeg into native on first run and works appropriately. Thanks!

Newbie question - Does stream baby read cover art from .m4v files? I am not showing any cover art for my movies and wonder if I'm doing something wrong.


----------



## moyekj

benichols said:


> Newbie question - Does stream baby read cover art from .m4v files? I am not showing any cover art for my movies and wonder if I'm doing something wrong.


 Not sure as I haven't looked at that part of the code, but I know streambaby is picking up title, description, etc. metadata from mp4/m4v files that I have. Where are you looking for art? As I posted above, to see any art you have to actually select or right press on the show to get the Play screen in order to see any art. The Browser right pane intentionally doesn't display art.


----------



## benichols

moyekj said:


> Not sure as I haven't looked at that part of the code, but I know streambaby is picking up title, description, etc. metadata from mp4/m4v files that I have. Where are you looking for art? As I posted above, to see any art you have to actually select or right press on the show to get the Play screen in order to see any art. The Browser right pane intentionally doesn't display art.


Strange. I see nothing on the play screen except for the file name. And they are all .m4v files that have metadata and cover art (configured for iTunes). I am using default stream baby settings.

Edit: BTW, I am on a new Roamio - not sure if that makes a difference or not.


----------



## jcthorne

benichols said:


> Strange. I see nothing on the play screen except for the file name. And they are all .m4v files that have metadata and cover art (configured for iTunes). I am using default stream baby settings.
> 
> Edit: BTW, I am on a new Roamio - not sure if that makes a difference or not.


Its doing the same on my PC running streambaby. The artwork no longer displays on the play screen like it did in 0.32. My mp4 files have cover art internally and there is also a xxx.mp4.jpg file for each with a pointer to it in the xxx.mp4.txt file created by metagenerator. This all worked to display artwork (the jpg file, not the one contained in the mp4) in previous versions.


----------



## thewebgal

Ahhh!! I went out and found there was NEW version of Java 8u20, so I did that install and now all seems happy!
I'll go downstairs and check the TIVO and will report back later!

Okay, I tried it again and it looks happy up here, the new interface looks amazing.
But when I drill down into the folder, none of the streams decode now ... 

Edit - 500PM

Okay - came back and got a notice that ver 0.34 was at Sourceforge, downloaded it, unpacked and copied it to the existing install - overwrote everything except the ini files and the simplelog.properties file from before. Restarted the machine and all looked fine on my macpro. When downstairs and restarted the TIVO UI (thumb down, thumb up play, play - thanks for THAT tip yesterday)!

Drop into Steambaby - new 2 column menu & preview format - lookin good!
Rolled into a folder - tried a .TS file - played fine.
Tried an .mkv file - played fine. Played an AVI file just fine as well!

I'm happy as a clam! 

All is working perfecto here - 
MacPro under Yosemite beta3!! 
Java Version 8 Update 20.

Thank you, thank you!! It is Amazing!


----------



## benichols

thewebgal said:


> Ahhh!! I went out and found there was NEW version of Java 8u20, so I did that install and now all seems happy! I'll go downstairs and check the TIVO and will report back later!
> 
> Okay, I tried it again and it looks happy up here, the new interface looks amazing.
> But when I drill down intop the folder, none of the streams decode now ...
> 
> Okay - came back and got a notice that ver 0.34 was at Sourceforge, downloaded it, unpacked and copied it to the existing install - overwrote everything except the ini files and the simplelog.properties file from before. Restarted the machine and all looked fine on my macpro. When downstairs and restarted the TIVO UI (thumb down, thumb up play, play - thanks for THAT tip yesterday)!
> 
> Drop into Steambaby - new 2 column menu & preview format - lookin good!
> Rolled into a folder - tried a .TS file - played fine.
> Tried an .mkv file - played fine. Played an AVI file just fine as well!
> 
> I'm happy as a clam!
> 
> All is working perfecto here -
> MacPro under Yosemite beta3!!
> Java Version 8 Update 20.
> 
> Thank you, thank you!! It is Amazing!


Are you getting metadata and cover art? I am not getting any of that but I have all .m4v iTunes files that have the metadata and cover art embedded within the file.


----------



## thewebgal

benichols said:


> Are you getting metadata and cover art? I am not getting any of that but I have all .m4v iTunes files that have the metadata and cover art embedded within the file.


Sorry, but I don't have any metadata files or coverart in the directories to load - I just have 2 TB or so of various video files that all seem to be playing properly.


----------



## moyekj

jcthorne said:


> Its doing the same on my PC running streambaby. The artwork no longer displays on the play screen like it did in 0.32. My mp4 files have cover art internally and there is also a xxx.mp4.jpg file for each with a pointer to it in the xxx.mp4.txt file created by metagenerator. This all worked to display artwork (the jpg file, not the one contained in the mp4) in previous versions.


 I didn't change that part of the code. Like I asked before, where are you looking for art? The play screen is where you should see art, not in right hand pane of browser screen.


----------



## benichols

moyekj said:


> I didn't change that part of the code. Like I asked before, where are you looking for art? The play screen is where you should see art, not in right hand pane of browser screen.


Streambaby will read metadata embedded in mp4 files. However, if the file has an m4v extension (even though it's still an mp4 file - used by Apple to deal with chapters and AC3 audio) streambaby won't extract the metadata. Is there an easy way to fix that by making stream baby think that a m4v file is the same as a mp4 file?


----------



## moyekj

benichols said:


> Streambaby will read metadata embedded in mp4 files. However, if the file has an m4v extension (even though it's still an mp4 file - used by Apple to deal with chapters and AC3 audio) streambaby won't extract the metadata. Is there an easy way to fix that by making stream baby think that a m4v file is the same as a mp4 file?


 Don't think it's that simple. As a quick test I renamed a .mp4 file to .m4v and Streambaby reads the embedded metadata fine for me, so I don't think it's a simple file extension issue. Perhaps post here the output of "mediainfo" on the m4v file in question.

EDIT: Just to further test I used kmttg with "hp_ipad" profile to generate m4v file with accompanying pyTivo metadata file. After kmttg run AtomicParsley I moved the pyTivo text file out of the way to test streambaby using internal m4v metadata and it worked for me. I also learned from this experiment that if you have both internal metadata and pyTivo metadata, the pyTivo metadata is used instead of internal metadata.


----------



## benichols

moyekj said:


> Don't think it's that simple. As a quick test I renamed a .mp4 file to .m4v and Streambaby reads the embedded metadata fine for me, so I don't think it's a simple file extension issue. Perhaps post here the output of "mediainfo" on the m4v file in question.
> 
> EDIT: Just to further test I used kmttg with "hp_ipad" profile to generate m4v file with accompanying pyTivo metadata file. After kmttg run AtomicParsley I moved the pyTivo text file out of the way to test streambaby using internal m4v metadata and it worked for me. I also learned from this experiment that if you have both internal metadata and pyTivo metadata, the pyTivo metadata is used instead of internal metadata.


PM sent. My files are encoded with Handbrake, if that makes a difference. Likely encoded with variable framerate.


----------



## moyekj

For those having trouble with embedded mp4/m4v metadata if you can upload a short clip with embeded metadata it would be easier to debug looking at it myself.


----------



## rgreenpc

Quick Question - 

Does the revived Streambaby support unprotected WTV files? Trying to get a bunch of WTV files take care of off my windows media center box before it gets turned into a plex server


----------



## thewebgal

https://en.wikipedia.org/wiki/WTV_(Windows_Recorded_TV_Show)

http://wiki.multimedia.cx/index.php?title=WTV


----------



## jcthorne

moyekj said:


> I didn't change that part of the code. Like I asked before, where are you looking for art? The play screen is where you should see art, not in right hand pane of browser screen.


Reboot both running Streambaby and Tivo....cover art now works fine on play screen. Sorry bout that.

Any chance of adding the cover art to the browse screen?

Also noticing that Streambaby is reporting 2 connections when my roamio connects. Everything seems to work fine (if a bit slow) on the tivo end. and when I go back to Tivo Central, Streambaby reports 2 connections closed. Just odd.


----------



## moyekj

jcthorne said:


> Any chance of adding the cover art to the browse screen?


 Just yesterday I got background mode refresh of right pane working, so cover art on browse screen now works fairly well without slowing down browsing and will be in next release.



> Also noticing that Streambaby is reporting 2 connections when my roamio connects. Everything seems to work fine (if a bit slow) on the tivo end. and when I go back to Tivo Central, Streambaby reports 2 connections closed. Just odd.


 That seems odd and I don't see that with my Roamio Pro. Here's a log from last night for me showing 1 connection + disconnection during some quick testing:
09/28/14 22:41:23 Listener: added factory
09/28/14 22:41:23 Main: streambaby ready & listening.
09/28/14 22:41:28 Factory: HME receiver connected
09/28/14 22:42:24 Listener: connection to receiver closed
09/28/14 22:42:24 Factory: HME receiver disconnected


----------



## jcthorne

moyekj said:


> Just yesterday I got background mode refresh of right pane working, so cover art on browse screen now works fairly well without slowing down browsing and will be in next release.
> 
> That seems odd and I don't see that with my Roamio Pro. Here's a log from last night for me showing 1 connection + disconnection during some quick testing:
> 09/28/14 22:41:23 Listener: added factory
> 09/28/14 22:41:23 Main: streambaby ready & listening.
> 09/28/14 22:41:28 Factory: HME receiver connected
> 09/28/14 22:42:24 Listener: connection to receiver closed
> 09/28/14 22:42:24 Factory: HME receiver disconnected


Hmm, I need to check network addressing and see if any anomolies show up. Perhaps with all the reboots I have managed to muck up the local IP address.

Its really great to see you making such progress with this utility, I look forward to each release!

One more question but think I already know the answer...

Is there any way of changing were Streambaby appears in the list of apps? At the moment its at the bottom of a long list. Not alphabetical either. If not, can some of the unused apps be turned off somewhere so they do not appear? Just trying to make Streambaby easier to get to from tivo central. Its 10 to 12 key presses to get into Streambaby now.


----------



## moyekj

rgreenpc said:


> Quick Question -
> 
> Does the revived Streambaby support unprotected WTV files? Trying to get a bunch of WTV files take care of off my windows media center box before it gets turned into a plex server


 Basically anything that ffmpeg can handle should be playable. I just tried a sample wtv file from web and it worked. Only thing extra you have to do is add wtv as a recognized extension for file browser, so you need to add something like this to streambaby.ini:


Code:


extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,wtv


----------



## moyekj

jcthorne said:


> One more question but think I already know the answer...
> 
> Is there any way of changing were Streambaby appears in the list of apps? At the moment its at the bottom of a long list. Not alphabetical either. If not, can some of the unused apps be turned off somewhere so they do not appear? Just trying to make Streambaby easier to get to from tivo central. Its 10 to 12 key presses to get into Streambaby now.


No. What helps a little is once in Apps&Games press "skip forwards" button on remote to jump all the way to the bottom of the list, then it's 2 presses up to get to streambaby for me from there.


----------



## thewebgal

moyekj said:


> Basically anything that ffmpeg can handle should be playable. I just tried a sample wtv file from web and it worked. Only thing extra you have to do is add wtv as a recognized extension for file browser, so you need to add something like this to streambaby.ini:
> 
> 
> Code:
> 
> 
> extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,wtv


This is perfect - thanks.

I did a software update today and Apple updated my system to Yosemite beta 4. Then tonight I wanted to play an mkv file. Went to the Roamio and when I scrolled to the folder it didn't even show up - Streambaby didn't recognize it. So I went back to my macPro, plugged your line of file Extensions above into the ini file, did a restart, and that did it ... its working fine again.


----------



## mattack

I haven't tried this yet (likely will tomorrow or over the weekend).. But with the ~1 gig limitation gone, does this end up using more space on the Tivo?

i.e. can streaming shows cause shows to get deleted from the Tivo? Part of my reason for using streaming INSTEAD of copying to the Tivo is for space reasons.

(yeah, I have a bigger drive on the way to put in my Roamio Plus, but that will likely get close to full soon enough too... heh)


----------



## moyekj

I wouldn't know as my Roamio Pro is rarely above 20% capacity but it seems logical to assume a very full unit may have to make room, though if you only have 20GB left then that's going to happen soon anyway.


----------



## mattack

ok, that's weird. Trying to run streambaby tells me I have to install Java.. and I did.. the 8u20 JRE.

But even after doing that, it still doesn't think Java is installed..

Yet I have been running kmttg in a window the whole time.

Is this a Java version mismatch or something? Why would a system that runs kmttg fine not work with streambaby?

This is on a Mac, and I realize you don't have one.. But since Java is no longer 'built in', it doesn't "just work".


----------



## moyekj

You are launching it using the "streambaby" script right? From command line what happens when you execute the following:
which java

Assuming above something what do you get when you run:
java -version

(kmttg is a little different in that you double-click on .jar file to launch which may have a full path association to where java is installed).


----------



## thewebgal

Maybe you just need to run the script that points your Mac at the new version ... are you comfortable running a Sudo command in the terminal? - its pretty painless and just asks for your password to allow it to run ...

Just cut and paste the first one in, it'll ask for your system password, then it will run that command. A moment later paste the second command into the window. It won't ask for the password this time (if you are within a couple of minutes of the first command).

These worked on my macPro after I installed 8u20 JRE

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws

This is solution was from MacGuruTX - post #2673 from back in 2013 ... 
its worked for me a couple times over the years ...
http://www.tivocommunity.com/tivo-vb/showthread.php?p=9646424#post9646424



mattack said:


> ok, that's weird. Trying to run streambaby tells me I have to install Java.. and I did.. the 8u20 JRE.
> 
> But even after doing that, it still doesn't think Java is installed..
> 
> Yet I have been running kmttg in a window the whole time.
> 
> Is this a Java version mismatch or something? Why would a system that runs kmttg fine not work with streambaby?
> 
> This is on a Mac, and I realize you don't have one.. But since Java is no longer 'built in', it doesn't "just work".


----------



## moyekj

thewebgal said:


> Maybe you just need to run the script that points your Mac at the new version ... are you comfortable running a Sudo command in the terminal? - its pretty painless and just asks for your password to allow it to run ...
> 
> Just cut and paste the first one in, it'll ask for your system password, then it will run that command. A moment later paste the second command into the window. It won't ask for the password this time (if you are within a couple of minutes of the first command).
> 
> These worked on my macPro after I installed 8u20 JRE
> 
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java
> 
> sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws
> 
> This is solution was from MacGuruTX - post #2673 from back in 2013 ...
> its worked for me a couple times over the years ...
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9646424#post9646424


 Just to elaborate on this, effectively what you're doing is adding java to your PATH, since /usr/bin is a basic element that's always in PATH. So after doing the above, when you issue the command I stated above:
which java

It will return /usr/bin/java


----------



## thewebgal

moyekj said:


> Just to elaborate on this, effectively what you're doing is adding java to your PATH, since /usr/bin is a basic element that's always in PATH. So *after* doing the above, when you issue the command I stated above:
> which java
> 
> It will return /usr/bin/java


Its just a bit more convoluted for the average Mac user (who may not be very technical) 
to find their way through those sudo commands, but - yes, exactly so!


----------



## mattack

Yeah, I'm a big CLI user.. I'm running alpine in my other Terminal window.. I thought it MIGHT be a $path kind of thing, but since kmttg itself works fine, that confused me..

I'll look at it more this weekend most likely.


----------



## moyekj

* Metadata art when available is now displayed in Selection screen right pane
* mp4 metadata display for Play screen updated to display description normally instead of as a title
* Added line # after class name in logging to faciliate debugging.
* Fix a condition where mp4/m4v metadata was not being parsed correctly and thus streambaby wasn't showing any metadata.
* Use "ldes" mp4 atom when available to get full description rather than truncated one for use in metadata display.
* For mp4 metadata parser, don't hide exceptions being thrown.
* Added wtv to default list of file extensions to display in Selection screen.

NOTE: Remember if you want metadata for .TiVo files to show up you need to add following to add your TiVo MAK to streambaby.ini file:
tivo.MAK=xxxx


----------



## jcthorne

Installed 0.35 and its a great improvement. THANKS. Love what you are doing with Streambaby.

I still have the odd double connection between my roamio and streambaby and no idea why. it works anyway but shows 2 connections each time SB is started on the tivo and 2 disconnects each time it stops. Can't help but think it would run faster if it was not doing things twice. I know its not likely in your code as others are not seeing this, just not sure where to look. Streambaby does not report the IP addresses its connecting to.

Enough rambling. Thanks for the update!


----------



## benichols

moyekj said:


> * Metadata art when available is now displayed in Selection screen right pane
> * mp4 metadata display for Play screen updated to display description normally instead of as a title
> * Added line # after class name in logging to faciliate debugging.
> * Fix a condition where mp4/m4v metadata was not being parsed correctly and thus streambaby wasn't showing any metadata.
> * Use "ldes" mp4 atom when available to get full description rather than truncated one for use in metadata display.
> * For mp4 metadata parser, don't hide exceptions being thrown.
> * Added wtv to default list of file extensions to display in Selection screen.
> 
> NOTE: Remember if you want metadata for .TiVo files to show up you need to add following to add your TiVo MAK to streambaby.ini file:
> tivo.MAK=xxxx


Awesome! Works great for me. Thanks!


----------



## thewebgal

Interesting. 0.34 was working fine but I got the alert for 0.35 last night, so when I got home today I downloaded and installed it, then did a restart. 
Looks like it still goes out and loads macOSX_tools on first run - 
but I'm pretty sure that's been reInstalled for every version I've installed lately.

So its loaded successfully - I'll check some files later tonight and see how they work!

Thanks again!

Last login: Fri Oct 3 15:32:18 on console
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.35...
Downloading file: http://sourceforge.net/projects/str...ools_v0p33.zip/download?use_mirror=autoselect ...
Download completed successfully
Extracting directory: /Applications/TIVO/streambaby/native/
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg
Extracting file: /Applications/TIVO/streambaby/native/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode
10/03/14 15:32:36 Listener: 125 added factory
10/03/14 15:32:36 Main: 276 streambaby ready & listening.


----------



## moyekj

thewebgal said:


> Interesting. 0.34 was working fine but I got the alert for 0.35 last night, so when I got home today I downloaded and installed it, then did a restart.
> Looks like it still goes out and loads macOSX_tools on first run -
> but I'm pretty sure that's been reInstalled for every version I've installed lately.


 If you install in a new location then yes it will re-download tools, since the default tools location is the "native" folder wherever you install it. If you want to avoid re-download you can copy over the "native" folder from last installation before running streambaby.


----------



## thewebgal

moyekj said:


> If you install in a new location then yes it will re-download tools, since the default tools location is the "native" folder wherever you install it. If you want to avoid re-download you can copy over the "native" folder from last installation before running streambaby.


But - thats exactly what I did! I unzipped the file then copied the files and subdirectories over the previous version. I did NOT copy over the ini file tho.
Then I restarted it. And I just tried to watch an avi and got an error - 
could not open stream.

I'm going to rerun the sudo commands, do a restart, and see if that helps ...


----------



## thewebgal

So - I did the 2 Sudo commands, did a restart, and when streambaby restarted, this was in the terminal window - 

Last login: Fri Oct 3 20:43:52 on ttys000
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.35...
10/03/14 20:44:09 Listener: 125 added factory
10/03/14 20:44:09 Main: 276 streambaby ready & listening.


----------



## moyekj

Looks fine to me - "streambaby ready & listening"


----------



## thewebgal

moyekj said:


> Looks fine to me - "streambaby ready & listening"


Yep, after I copied the new 0.35 files over the previous files, it autoran the function to load macOSX_tools on first run again. I'm guessing that broke Streambaby. When I ran the 2 sudo batch commands to point Java back to the correct directory, and did a restart, all was working well again, as the log file shows. Just watched a couple shows (avi files) and all is working great!

I am not trying to ding you, just reporting my Mac experiences.

And again, thanks for all you do - Streambaby is a VERY cool utility!


----------



## moyekj

moyekj said:


> That part was easy to fix inside streambaby code itself (no need to modify the security file in Java installation). The problem is with recent Java 7 installations you now get "malformed request" response from mind.tivo.com for the exact same code that works fine with Java 6 and earlier versions of Java 7.


Well it was a bear of a problem to decipher, but I finally got streambaby pushes working with Java 7 (and presumably Java 8)! The fix will be in next release, so no need to run Java 6 or earlier to get that functionality.


----------



## thewebgal

moyekj said:


> Well it was a bear of a problem to decipher, but I finally got streambaby pushes working with Java 7 (and presumably Java 8)! The fix will be in next release, so no need to run Java 6 or earlier to get that functionality.


Yes, I am running Java 8u20 and all is working well!


----------



## benichols

Feature request or question - I am loving the new updated version of streambaby and it is working perfectly for me to stream movies. One nice feature that I would personally like to have is a search capability or a sort by genre capability. Not sure if this is an easy addition or not.
Thanks again for all your work!


----------



## moyekj

Version 0.36 released. Adds simple search capability and pushes now work with Java 7 or later. See release_notes for all the details.


----------



## thewebgal

Downloaded and installed 0.36 - copied the files over the previous versions ...
restart the machine - 
Last login: Sun Oct 5 15:17:02 on ttys001
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.36...
Downloading file: http://sourceforge.net/projects/str...ools_v0p33.zip/download?use_mirror=autoselect ...
Download completed successfully
Extracting directory: /Applications/TIVO/streambaby/native/
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg
Extracting file: /Applications/TIVO/streambaby/native/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode
10/05/14 15:17:09 Listener: 125 added factory
10/05/14 15:17:09 Main: 276 streambaby ready & listening.
log after close : initContext version=49
10/05/14 15:19:21 Factory: 504 HME receiver connected
10/05/14 15:19:21 Application: 509 HME host: 192.168.1.12:7290
10/05/14 15:19:39 Listener: 343 connection to receiver closed
10/05/14 15:19:39 Factory: 504 HME receiver disconnected

Went downstairs and tried to play an mkv file on the TIVO - failed to Open stream - 
so, I ran the 2 sudo batch commands in a terminal window to point at the current JRE [java 8u20] I'd install last week ...

Last login: Sun Oct 5 15:16:49 on console
Heather-James-MacPro:~ heatherjames$ sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java
Password:
Heather-James-MacPro:~ heatherjames$ sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws 
Heather-James-MacPro:~ heatherjames$

Now I went downstairs and tried again ...

tried to play an mkv file I watched last night under ver 0.35 - 
but even after running sudo and the restart - 
"failed to open stream"


----------



## benichols

moyekj said:


> Version 0.36 released. Adds simple search capability and pushes now work with Java 7 or later. See release_notes for all the details.


0.36 also broke my ability to stream. I don't see any search capabilities either.


----------



## moyekj

Follow the debug Wiki and send me debug log - it's working fine for me obviously. For Search you have to have a folder selected in browser list (not a file) and then press "Thumbs Up" on remote. If you don't have that then I would say installation problem of some sort.


----------



## thewebgal

benichols said:


> 0.36 also broke my ability to stream. I don't see any search capabilities either.


I tried to overwrite ver 0.35 over 0.36 and even with the sudo commands, could not get it back!

Fortunately, I had made a copy of my working directory around version 0.34. - so I renamed the current one to /streambaby-BADcopy, renamed the older one from /streambaby-copy to plain old /streambaby - then upgraded that one to ver 0.35 - Did a restart and ran the sudo commands, and now I've got a working copy again. 
I made a copy of that one and deleted the broken directory ...

No flames meant or implied - just trying to report as best I can.

Again - Mac OSX 10.10 Yosemite beta 4 - early 2009 quadcore MacPro.


----------



## moyekj

Without a debug log I can't help you guys.


----------



## benichols

Okay I turned on the debug log and tried to stream a movie and it worked fine! Search function seems to work well so far as well.

BTW, you should not have to rerun the sudo commands to redirect to the java install from Oracle. Run once and it's set (I'm running 1.7). Overwriting stream baby files should have no effect on this.


----------



## moyekj

For Mac I can see now an issue where the 1st time you run Streambaby in a new installation that doesn't have ffmpeg path defined it will not default to the one under "native" folder. However, if you start streambaby again then it would. So likely the issues you guys had stems from that, and also explains why when benichols tried again it worked. In any case, the workaround is stop streambaby and then start it again. The issue is fixed for next release.


----------



## trooper1

I'm planning to use streambaby to initiate pushes from a Mini, so I'm glad you got it working with the newer java. With the latest version, the push request succeeds, but the transfer stops after 1-20 minutes (in one case causing my Roamio to reboot). The videos I had problems with are h.264/mkv or xvid/avi, and I didn't change the default quality from "Same".

I tracked the problem to main/src/com/unwiredappeal/tivo/push/InternalPush.java where the estimated size is set to -1 (perhaps that worked at some point?), and code to overestimate the size using a max bitrate of 16000kb/s is commented out. After restoring that code, pushes are successful.

I'm not sure if that is a solution you'd want to release for everyone -- I understand it might cause an almost-full tivo to delete things unnecessarily -- but that isn't a problem for me. It looks like configuring a default quality with a specific bitrate would work as well, but I didn't try that.

Thanks!


----------



## moyekj

trooper1 said:


> I'm planning to use streambaby to initiate pushes from a Mini, so I'm glad you got it working with the newer java. With the latest version, the push request succeeds, but the transfer stops after 1-20 minutes (in one case causing my Roamio to reboot). The videos I had problems with are h.264/mkv or xvid/avi, and I didn't change the default quality from "Same".
> 
> I tracked the problem to main/src/com/unwiredappeal/tivo/push/InternalPush.java where the estimated size is set to -1 (perhaps that worked at some point?), and code to overestimate the size using a max bitrate of 16000kb/s is commented out. After restoring that code, pushes are successful.
> 
> I'm not sure if that is a solution you'd want to release for everyone -- I understand it might cause an almost-full tivo to delete things unnecessarily -- but that isn't a problem for me. It looks like configuring a default quality with a specific bitrate would work as well, but I didn't try that.
> 
> Thanks!


 OK thanks. Using a negative size for transcoding pushes doesn't make any sense, so I've restored the max bitrate based estimate code as suggested for next release.


----------



## thewebgal

moyekj said:


> For Mac I can see now an issue where the 1st time you run Streambaby in a new installation that doesn't have ffmpeg path defined it will not default to the one under "native" folder. However, if you start streambaby again then it would. So likely the issues you guys had stems from that, and also explains why when benichols tried again it worked. In any case, the workaround is stop streambaby and then start it again. The issue is fixed for next release.


Excellent! Thank you.



benichols said:


> BTW, you should not have to rerun the sudo commands to redirect to the java install from Oracle. Run once and it's set (I'm running 1.7). Overwriting stream baby files should have no effect on this.


Okay - I'll have to try that with the next release, but I'm pretty sure in these recent releases I have tried to run at least one of them twice without running sudo to repoint the Oracle path and had it fail each time.


----------



## moyekj

thewebgal said:


> Okay - I'll have to try that with the next release, but I'm pretty sure in these recent releases I have tried to run at least one of them twice without running sudo to repoint the Oracle path and had it fail each time.


 I update the "streambaby" script for next release such that you won't even need the symbolic links anymore as it will look for Java there if java is not in your path.


----------



## benichols

moyekj said:


> I update the "streambaby" script for next release such that you won't even need the symbolic links anymore as it will look for Java there if java is not in your path.


Great idea. It would be great if stream baby looked for a compatible version of Java if multiple versions are installed (i.e. Apple's outdated version 1.6 and/or Oracle's latest 1.7 or 1.8). That would make it much more straightforward for those uncomfortable with terminal commands.


----------



## species8472jj

I just tried this for the first time. And I like the updates!!

One question - I am trying to run it on .mkv files, and it shows the progress bar with the length of the tv show, but it will not play. 

I am not sure what adjustments (if any) that I can make.

Thank you in advance.


----------



## moyekj

species8472jj said:


> I just tried this for the first time. And I like the updates!!
> 
> One question - I am trying to run it on .mkv files, and it shows the progress bar with the length of the tv show, but it will not play.
> 
> I am not sure what adjustments (if any) that I can make.
> 
> Thank you in advance.


 Likely an issue with ffmpeg failing to transcode for some reason. Follow debugging_problems Wiki to generate a debug log and post here or PM to me to take a look at.


----------



## species8472jj

Code:


10/07/14 17:54:56 Listener: 125 added factory
10/07/14 17:54:56 Main: 276 streambaby ready & listening.
10/07/14 17:55:28 Factory: 504 HME receiver connected
10/07/14 17:55:28 Application: 509 HME host: 192.168.1.100:7290
10/07/14 17:56:14 Listener: 423 192.168.1.150 d6e08d3b-d349-4ee5-a799-41814cf79e
10/07/14 17:56:26 Listener: 438 192.168.1.150 I/O Exception handling  HTTP GET d
10/07/14 17:57:00 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue run
10/07/14 17:57:19 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue run

Please find the log above. It appears the ffmpeg file fails when I try to run a .mkv file. There are 2 errors, because I tried 2 different .mkv files


----------



## moyekj

As described in Wiki, if you edit "simplelog.properties" file and change 1st line as follows I think it will actually show the ffmpeg command being executed:
com.unwiredappeal=debug

Then shut down and re-start streambaby, then the log file will show a lot more detail for your next session.

You can then run same ffmpeg command in a terminal so you can actually see the errors ffmpeg is encountering. Or it may be just something as simple as in your setup the path to ffmpeg is not correct so it's not even running at all. Turning on debug mode as outlined above I think would shed some light.


----------



## species8472jj

Code:


10/08/14 16:50:08 HostContext: 311 DEBUG: compKey=7480001902C01B5-and-com.unwire
10/08/14 16:50:08 HostContext: 338 DEBUG: compKey=7480001902C01B5-and-com.unwire
10/08/14 16:50:08 ViewScreen: 179 DEBUG: Desc: Beyond Belief - Fact or Fiction -
10/08/14 16:50:10 CobraRenderer$3: 198 DEBUG: ParentPanelPref:java.awt.Dimension
10/08/14 16:50:12 PreviewWindow: 47 DEBUG: pWidth: 1280
10/08/14 16:50:12 PreviewWindow: 48 DEBUG: preview parent=BView[#2788,bounds=0,0
10/08/14 16:50:12 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/TV%20Show
10/08/14 16:50:12 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tiv
10/08/14 16:50:12 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tiv
10/08/14 16:50:12 HostContext: 283 DEBUG: compKey=7480001902C01B5-and-com.unwire
10/08/14 16:50:12 ViewScreen: 434 DEBUG: goto position: 0, vidlen: 2582590
10/08/14 16:50:12 ViewScreen: 464 DEBUG: Position not in buffer, starting new st
10/08/14 16:50:12 ViewScreen: 515 DEBUG: Openening stream at position: 0(0 secs)
10/08/14 16:50:12 VideoModuleHelper: 382 DEBUG: quality setting is above quality
10/08/14 16:50:12 FFmpegExeVideoModule: 638 DEBUG: Using ffmpeg transcode args:
10/08/14 16:50:12 FFmpegExeVideoModule: 706 FFmpegCmd: ffmpeg -ss 0.0 -i /volume
10/08/14 16:50:13 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue run
10/08/14 16:50:13 SocketProcessInputStream: 29 Destroying running process...
10/08/14 16:50:13 ViewScreen: 672 DEBUG: error=Failed to open stream
10/08/14 16:50:32 Listener: 447 DEBUG:
10/08/14 16:50:32 Listener: 343 connection to receiver closed
10/08/14 16:50:32 Listener: 447 DEBUG:
10/08/14 16:50:32 Factory: 504 HME receiver disconnected

This is a portion of the log I generated. I included the section where the error occurred when I attempted to play an .mkv file. On the tv screen it displays "failed to open stream".


----------



## moyekj

Your post has truncated lines. In any case, the most interesting part is if you look at "FFmpegCmd" you will see there is no full path to "ffmpeg" being used.

Are you on Linux or Apple OS? Unless you have ffmpeg in your path, the above is going to fail. i.e. From command line if you execute this:
which ffmpeg

Unless it returns something then that explains the problem. For Windows and Apple OS streambaby downloads ffmpeg to streambaby "native" folder. If you are on Linux then you either need to add ffmpeg to your path or configure streambaby to point it at where your ffmpeg binary is using ffmpeg.path=/path/to/your/ffmpeg


----------



## species8472jj

Let's hope I get this right this time. My apologies...

This is running on linux.

I am to stream file types (at least .ts and .mpg) but not mkv files. I tried it again, and the .ts and .mpg work fine, but the .mkv files do not work.



Code:


10/08/14 17:17:29 ViewScreen: 434 DEBUG: goto position: 0, vidlen: 2582590
10/08/14 17:17:29 ViewScreen: 464 DEBUG: Position not in buffer, starting new stream
10/08/14 17:17:29 ViewScreen: 515 DEBUG: Openening stream at position: 0(0 secs)
10/08/14 17:17:29 VideoModuleHelper: 382 DEBUG: quality setting is above quality of video, streaming normally
10/08/14 17:17:29 FFmpegExeVideoModule: 638 DEBUG: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100
10/08/14 17:17:29 FFmpegExeVideoModule: 706 FFmpegCmd: ffmpeg -ss 0.0 -i /volume1/video/TV Shows/Beyond Belief - Fact or Fiction/Season 1/Beyond Belief - Fact or Fiction - s01e04.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 tcp://127.0.0.1:8500
10/08/14 17:17:29 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue running... Assuming error
10/08/14 17:17:29 SocketProcessInputStream: 29 Destroying running process...
10/08/14 17:17:29 ViewScreen: 672 DEBUG: error=Failed to open stream
10/08/14 17:17:33 ViewScreen: 912 DEBUG: code=4 rawcode=16777732
10/08/14 17:17:33 HostContext: 207 DEBUG: key=mpos:file:/volume1/video/TV%20Shows/Beyond%20Belief%20-%20Fact%20or%20Fiction/Season%201/Beyond%20Belief%20-%20Fact%20or%20Fiction%20-%20s01e04.mkv value=0
10/08/14 17:17:33 HostContext: 217 DEBUG: key=mpos:file:/volume1/video/TV%20Shows/Beyond%20Belief%20-%20Fact%20or%20Fiction/Season%201/Beyond%20Belief%20-%20Fact%20or%20Fiction%20-%20s01e04.mkv value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 283 DEBUG: compKey=7480001902C01B5-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 311 DEBUG: compKey=7480001902C01B5-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 338 DEBUG: compKey=7480001902C01B5-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/TV%20Shows/Beyond%20Belief%20-%20Fact%20or%20Fiction/Season%201/Beyond%20Belief%20-%20Fact%20or%20Fiction%20-%20s01e04.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 283 DEBUG: compKey=7480001902C01B5-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/TV%20Shows/Beyond%20Belief%20-%20Fact%20or%20Fiction/Season%201/Beyond%20Belief%20-%20Fact%20or%20Fiction%20-%20s01e04.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/08/14 17:17:33 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/08/14 17:17:33 HostContext: 283 DEBUG: compKey=7480001902C01B5-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream


----------



## moyekj

OK, for linux streambaby doesn't include an ffmpeg binary, so as I said above you have to have your own installed and then you either need to include ffmpeg in your PATH or edit streambaby.ini to tell it where to find it.
Different linux distributions handle packages differently, but most likely there's an easy way to get ffmpeg package installed in your distribution if you don't already have it.

Streambaby needs to transcode anything the TiVo can't play natively, mkv files are one example, so it makes sense you can't play mkv files since ffmpeg is not configured in your setup.


----------



## species8472jj

Thank you for your help.

I downloaded a linux ffmpeg build, although unfortunately, it isn't working for me. I inserted the path (of ffmpeg) in the streambaby.ini file. Other than that, the defaults are fine.

I want to make I'm not missing anything.

Thank you.


----------



## moyekj

What's the syntax you used? (Post here) It should be:
ffmpeg.path=/path/ffmpeg

You also need to stop streambaby and start it again after making any changes to streambaby.ini.

You should also check that ffmpeg you downloaded actually runs by executing the following and seeing it return version and build information:
/path/ffmpeg -version


----------



## species8472jj

I misunderstood what to do in the ffmpeg.path.

This is what I had...

/usr/local/src/streambaby2/ffmpeg/ffmpeg-2.4.1-32bit-static

I thought all I needed was the path, but when I added ffmpeg (the command to run ffmpeg, it worked.

So, I changed it to...

/usr/local/src/streambaby2/ffmpeg/ffmpeg-2.4.1-32bit-static*/ffmpeg*

and now it works (even my .mkv files).

Again, thanks for your help!!


----------



## f4phantomii

I've gotten streambaby 0.36 installed and running on my Synology DS214play NAS. Really glad to see someone picked this code back up!

I grabbed a short vid clip from my cell phone...an MP4. It seems to play natively. It has several pauses, but it works.

I have a handful of MKV files, but have thus far been unable to get those to stream. Appears to be a transcoding issue, but ffmpeg exits with errors in the log file.

The DS214play is using the Evansport SoC and can do hardware transcoding on the fly. Thus it has a custom version of ffmpeg.

I've altered the ini file to point to the full path of the custom ffmpeg. One of the custom flags it uses is -vcodec mpeg2video_smd. That's supposed to force it to use the hardware transcoder. I have that option set in the ini file with the ffmpegexe.transcode=-vcodec mpeg2video_smd

Does anyone have a working ini file for the DS214play that uses the custom ffmpeg version?

Is there any way that I can push video to my TivoHD via streambaby straight from the command line? That would help me a lot with trying to find the right ffmpeg options.

Here's the log output if I don't specify to use the custom ffmpeg:


Code:


10/10/14 11:07:11 VideoModuleHelper: 325 DEBUG: GetVidInfo: file:/volume1/video/Rango.mkv
10/10/14 11:07:11 FFmpegExeVideoModule: 706 FFmpegCmd: ffmpeg -i /volume1/video/Rango.mkv
10/10/14 11:07:12 FFmpegExeVideoModule: 399 DEBUG: ChannelStr to parse: 5.1(side), fltp, 448 kb/s (default)
10/10/14 11:07:12 FFmpegExeVideoModule: 452 VideoInfo:
uri: file:/volume1/video/Rango.mkv, Container: mkv, Duration: 6707.559 seconds
Video: mp2v 720x480 29.97 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: ac3 48000HZ 6 channels
10/10/14 11:07:12 ViewScreen: 179 DEBUG: Desc: Rango.mkv
10/10/14 11:07:12 FFmpegExeVideoModule: 706 FFmpegCmd: ffmpeg -ss 0 -i /volume1/video/Rango.mkv -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1
10/10/14 11:07:12 PreviewWindow: 47 DEBUG: pWidth: 1280
10/10/14 11:07:12 ZipGeneratingPreview$GenThread: 141 DEBUG: Using partial pvw: /usr/local/streambaby-0.36/cache/Rango.mkv-5688856427-d41d8cd98f00b204e9
10/10/14 11:07:12 PreviewWindow: 48 DEBUG: preview parent=BView[#2265,bounds=0,0,1280x720]
10/10/14 11:07:12 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/Rango.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applic
10/10/14 11:07:12 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/10/14 11:07:12 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:07:12 HostContext: 283 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:07:12 ViewScreen: 434 DEBUG: goto position: 0, vidlen: 6707559
10/10/14 11:07:12 ViewScreen: 464 DEBUG: Position not in buffer, starting new stream
10/10/14 11:07:12 ViewScreen: 515 DEBUG: Openening stream at position: 0(0 secs)
10/10/14 11:07:12 VideoModuleHelper: 382 DEBUG: quality setting is above quality of video, streaming normally
10/10/14 11:07:12 FFmpegExeVideoModule: 638 DEBUG: Using ffmpeg transcode args: -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.97 -v 0 -threads 1
10/10/14 11:07:12 FFmpegExeVideoModule: 706 FFmpegCmd: ffmpeg -ss 0.0 -i /volume1/video/Rango.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 29.9
10/10/14 11:07:12 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue running... Assuming error
10/10/14 11:07:12 SocketProcessInputStream: 29 Destroying running process...

Here's the log output if I specify the full ffmpeg custom binary path and set the flags in the ini file:


Code:


10/10/14 11:14:41 VideoModuleHelper: 325 DEBUG: GetVidInfo: file:/volume1/video/Rango.mkv
10/10/14 11:14:41 FFmpegExeVideoModule: 706 FFmpegCmd: /usr/syno/bin/ffmpeg -i /volume1/video/Rango.mkv
10/10/14 11:14:41 FFmpegExeVideoModule: 399 DEBUG: ChannelStr to parse: 5.1(side), fltp, 448 kb/s (default)
10/10/14 11:14:41 FFmpegExeVideoModule: 452 VideoInfo:
uri: file:/volume1/video/Rango.mkv, Container: mkv, Duration: 6707.559 seconds
Video: mp2v 720x480 29.97 fps
  PixAspect: 1.0, Aspect: 1.5
Audio: ac3 48000HZ 6 channels
10/10/14 11:14:41 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/Rango.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applic
10/10/14 11:14:41 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/10/14 11:14:41 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:41 HostContext: 283 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:41 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/Rango.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applic
10/10/14 11:14:41 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/10/14 11:14:41 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:41 HostContext: 283 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:43 ButtonScreen: 267 DEBUG: action=right
10/10/14 11:14:43 HostContext: 207 DEBUG: key=mpos:file:/volume1/video/Rango.mkv value=0
10/10/14 11:14:43 HostContext: 217 DEBUG: key=mpos:file:/volume1/video/Rango.mkv value=0applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:43 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/10/14 11:14:43 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:43 HostContext: 283 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:43 HostContext: 311 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:43 HostContext: 338 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:44 ViewScreen: 179 DEBUG: Desc: Rango.mkv
10/10/14 11:14:44 FFmpegExeVideoModule: 706 FFmpegCmd: /usr/syno/bin/ffmpeg -ss 0 -i /volume1/video/Rango.mkv -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 t
10/10/14 11:14:44 PreviewWindow: 47 DEBUG: pWidth: 1280
10/10/14 11:14:44 ZipGeneratingPreview$GenThread: 141 DEBUG: Using partial pvw: /usr/local/streambaby-0.36/cache/Rango.mkv-5688856427-d41d8cd98f00b204e9
10/10/14 11:14:44 PreviewWindow: 48 DEBUG: preview parent=BView[#2383,bounds=0,0,1280x720]
10/10/14 11:14:44 HostContext: 188 DEBUG: key=mpos:file:/volume1/video/Rango.mkv applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applic
10/10/14 11:14:44 HostContext: 231 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
10/10/14 11:14:44 HostContext: 257 DEBUG: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:44 HostContext: 283 DEBUG: compKey=6520001803A4D43-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
10/10/14 11:14:44 ViewScreen: 434 DEBUG: goto position: 0, vidlen: 6707559
10/10/14 11:14:44 ViewScreen: 464 DEBUG: Position not in buffer, starting new stream
10/10/14 11:14:44 ViewScreen: 515 DEBUG: Openening stream at position: 0(0 secs)
10/10/14 11:14:44 VideoModuleHelper: 382 DEBUG: quality setting is above quality of video, streaming normally
10/10/14 11:14:44 FFmpegExeVideoModule: 638 DEBUG: Using ffmpeg transcode args: -smd -vcodec mpeg2video_smd -qscale 1 -ab 192k -ar 48000
10/10/14 11:14:44 FFmpegExeVideoModule: 706 FFmpegCmd: /usr/syno/bin/ffmpeg -ss 0.0 -i /volume1/video/Rango.mkv -smd -vcodec mpeg2video_smd -qscale 1 -a
10/10/14 11:14:44 FFmpegExeVideoModule: 560 ERROR: FFmpeg failed to continue running... Assuming error
10/10/14 11:14:44 SocketProcessInputStream: 29 Destroying running process...
10/10/14 11:14:44 ViewScreen: 672 DEBUG: error=Failed to open stream


----------



## moyekj

f4phantomii, you're missing audio and container portion of the transcode arguments, so your streambaby.ini entry probably should be something like:


Code:


ffmpegexe.transcode=-acodec ac3 -smd -vcodec mpeg2video_smd -f vob -async 1 -r ${closest.mpeg.fps} -v 0

(You didn't mention -smd option in your post, so not sure if that should be there or not).

Also, you should be able to test directly by getting a shell on your NAS and executing:


Code:


/usr/syno/bin/ffmpeg -ss 0.0 -i /volume1/video/Rango.mkv -acodec ac3 -smd -vcodec mpeg2video_smd -f vob -async 1 -r 29.97 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 test.mpg


----------



## f4phantomii

Now I feel stupid...I was just trying to push the stream to the Tivo...didn't even think of just using it to output a file. Duh! Thanks...that makes it much easier to troubleshoot.

I thought -smd was a valid option, but testing on the command line it is unrecognized.

ffmpeg -codecs returns a long list of stuff, but here are a few of the relevant ones:


Code:


 DEV.LS h264                 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (encoders: h264_smd libx264 libx264rgb )
 D.V.LS h264_smd             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 Hardware(SMD) Decoder
 DEV.L. mpeg2video           MPEG-2 video (decoders: mpeg2video mpegvideo )
 D.V.L. mpeg2video_smd       MPEG-2 video Hardware(SMD) Decoder
 DEV.L. mpeg4                MPEG-4 part 2
 D.V.L. mpeg4_smd            MPEG-4 part 2 Hardware(SMD) Decoder

Hopefully I was calling the video codec correctly. I'll keep fiddling with the ffmpeg options....feels like that's where my problem is coming from.

Edit: OK...learning slowly. The codecs with hardware accel are decode only. So I'll have to use mpeg2video instead of mpeg2video_smd.

And then it complains that "AC3" is not a recognized audio codec...obviously the custom version of ffmpeg doesn't have that built into it. I've seen lots of posts from people complaining about that, and I think I saw a link to a version with it enabled for my NAS.

Is there an alternative to AC3 that the Tivo will recognize that I can use in the meantime?


----------



## moyekj

Only other audio option I think you have for use in mpeg2 program stream container is:
mp2 = MPEG audio layer 2

(I believe TiVos can decode mp2 but haven't tried).


----------



## f4phantomii

That's exactly what I did....and it worked! The DS214play is supposed to be *the* NAS since it can hardware transcode on the fly. Turns out due to licensing issues, that hardware transcoding *only* works using their app or on a computer.

The boards over at Plex and Serviio are deep in the code looking for a workaround that lets them use the hardware encoding/decoding. They are screaming for a solution that works over DLNA.

The good news is streambaby works, and the resultant quality is better than every other method I've tried to get the MKV files streamed to my TV. Using the TV's built-in DLNA and my Bluray player's DLNA clients both resulted in horribly unacceptable quality.

Streambaby through my Tivo looks great! Unfortunately it hammers the CPU...runs about 80%.

I'm still digging around to see if I can figure out how their own app uses the hardware accel....I'm almost certain its using another version of ffmpeg...

But in the meantime....thanks so much for your help!


----------



## moyekj

Several enhancements, changes, and fixes, including capability to push .TiVo files and use Thumbs up to get Search screen from from anywhere in browser (not just with a folder selected as was previously restricted). Some important fixes/changes for pushes and mp4 file streaming as well as enhancements to make Mac platform installation and running easier.

See release_notes for all the details.


----------



## jcthorne

As always, thanks for the improvements. Install went well and its up and running on my server.

A note or two to consider.

Would it be possible to have a note at the bottom of the folders navigation display to "Press 'thumbs up symbol' for Search"

Maybe its just me, but 99% of the movie poster or cover art is in portrait format. Placing the pic with the text below leaves a lot of blank screen real estate. Any way to format the display to wrap the text around the pic or to display pic and description side by side for portrait format artwork and yield a larger view of the art?

Lastly, some of the folders I navigate through are rather large, containing a few hundred videos. Streambaby gets very sluggish in these folders. Any way Streambaby could build an index while its sitting 'idle' so that when the folders are navigated the displays come up much faster?


I know this is a bunch if stuff, really its just that we are ACTUALLY USING Streambaby on a regular basis now, even the wife which is amazing to see and we notice these things. Thanks so much for bringing this back to life, it was not usable for us before you picked it up.

Thanks again!


----------



## thewebgal

moyekj said:


> Several enhancements, changes, and fixes, including capability to push .TiVo files and use Thumbs up to get Search screen from from anywhere in browser (not just with a folder selected as was previously restricted). Some important fixes/changes for pushes and mp4 file streaming as well as enhancements to make Mac platform installation and running easier.
> 
> See release_notes for all the details.


I had a problem with ver 36, so I had gone to a backup of ver 0.35 on my mac.

I grabbed 0.37, unpacked it and copied all the files over the previous version of the files.
Did a restart and it failed to run ... renamed /streambaby to /streambaby-BAD and renamed a copy of the working v 0.35 directory from /streambaby-COPY to /streambaby 
deleted the BAD one then
restarted and all is fine again - in ver 0.35

I'd had log in debug mode but can't find the one with the fail details now - must have been in the deleted folder copy ...

I'll try it again shortly ... after coffee and breakfast!


----------



## thewebgal

Okay, I unpacked ver 0.37 again, copied/pasted the new files and directories over the working ver 0.35 - 
in my applications folder, I copied everything but the new simplefile.properties over the old one 
(so it would keep the ver I had set in debug mode) - Restarted the computer, 
and here is the Terminal window from this reboot.

Last login: Sat Oct 11 09:18:43 on console
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
/Applications/TIVO/streambaby/streambaby: line 8: /Library/Internet: No such file or directory
logout

[Process completed]

Oddly, it did not log anything to the streambaby log, even tho simplelog.properties is set for debug mode.
I'm guessing it never actually started streambaby to do so.

I'm going to flip back to working ver 0.35 shortly ...

And after the restart - Terminal Window shows:

Last login: Sat Oct 11 09:51:30 on console
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.35...
10/11/14 09:51:49 Listener: 125 added factory
10/11/14 09:51:49 Main: 276 streambaby ready & listening.


----------



## thewebgal

Streambaby Log does skip the faulty starts - it shows:

10/05/14 17:11:40 Factory: 504 HME receiver disconnected
10/11/14 08:46:02 Listener: 125 added factory
10/11/14 08:46:02 Main: 276 streambaby ready & listening.
10/11/14 08:55:51 Listener: 125 added factory
10/11/14 08:55:51 Main: 276 streambaby ready & listening.
10/11/14 09:51:49 Listener: 125 added factory
10/11/14 09:51:49 Main: 276 streambaby ready & listening.


----------



## moyekj

thewebgal, download and install streambaby-0.37.zip again, should be fixed for you now.


----------



## moyekj

jcthorne said:


> Maybe its just me, but 99% of the movie poster or cover art is in portrait format. Placing the pic with the text below leaves a lot of blank screen real estate. Any way to format the display to wrap the text around the pic or to display pic and description side by side for portrait format artwork and yield a larger view of the art?


 Wrapping text around art is not something easy to achieve in straight HME where I'm basically drawing text and image blocks manually. The "Play" screen accomplishes it by actually using a Java HTML renderer which ultimately generates an image of the whole thing (including text) and then streambaby simply displays the image, but you will note that is a very slow process - too slow to do same in the File Browser right panel. It would be possible by carefully calculating the space taken up by the image, using available space left by the image and then increasing available width below the image. That involves being able to precisely measure how many vertical lines are being used when text is wrapping - something I don't know how to code in HME right now.



> Lastly, some of the folders I navigate through are rather large, containing a few hundred videos. Streambaby gets very sluggish in these folders. Any way Streambaby could build an index while its sitting 'idle' so that when the folders are navigated the displays come up much faster?


 If you perform a search from the very top folder then streambaby traverses the whole hierarchy and will cache a lot of the metadata. So I would guess the 1st time you do a search it takes a long time, and subsequent searches go a lot faster. Does that then improve subsequent navigation in the folders for you?


----------



## thewebgal

moyekj said:


> Heather, download and install streambaby-0.37.zip again, should be fixed for you now.


Awesome - I downloaded the fresh version, overwrote the previous 0.35 files, did a restart - and got this in the Terminal window!

Last login: Sat Oct 11 11:16:28 on console
Heather-James-MacPro:~ heatherjames$ /Applications/TIVO/streambaby/streambaby ; exit;
Initializing StreamBaby v0.37...
Downloading file: http://sourceforge.net/projects/str...ools_v0p33.zip/download?use_mirror=autoselect ...
Download completed successfully
Extracting directory: /Applications/TIVO/streambaby/native/
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg
Extracting file: /Applications/TIVO/streambaby/native/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode
10/11/14 11:16:47 Listener: 125 added factory
10/11/14 11:16:47 Main: 276 streambaby ready & listening.

I just went downstairs and checked the TIVO - saw all 4 Share directories 
tried an mp4 file, an avi, and an mkv and they all worked fine ...

Thanks for such amazing response! 
Quite an excellent piece of kit!


----------



## jcthorne

moyekj said:


> Wrapping text around art is not something easy to achieve in straight HME where I'm basically drawing text and image blocks manually. The "Play" screen accomplishes it by actually using a Java HTML renderer which ultimately generates an image of the whole thing (including text) and then streambaby simply displays the image, but you will note that is a very slow process - too slow to do same in the File Browser right panel. It would be possible by carefully calculating the space taken up by the image, using available space left by the image and then increasing available width below the image. That involves being able to precisely measure how many vertical lines are being used when text is wrapping - something I don't know how to code in HME right now.
> 
> If you perform a search from the very top folder then streambaby traverses the whole hierarchy and will cache a lot of the metadata. So I would guess the 1st time you do a search it takes a long time, and subsequent searches go a lot faster. Does that then improve subsequent navigation in the folders for you?


Understand on the screen format, was a small thing. Perhaps one day.

On the speed of navigation, doing a search from the top level takes a long time. About 5 minutes. I thought Streambaby had locked up but it eventually came back with correct results. Subsequent searches are similarly slow. Did not appear to effect speed of navigation either.


----------



## moyekj

jcthorne said:


> Understand on the screen format, was a small thing. Perhaps one day.
> 
> On the speed of navigation, doing a search from the top level takes a long time. About 5 minutes. I thought Streambaby had locked up but it eventually came back with correct results. Subsequent searches are similarly slow. Did not appear to effect speed of navigation either.


Made some good progress along these lines with 2 changes for next release:
1. Text wraps around art now in the right pane (found a way to do it using straight HME).
2. Searches are now done in background mode, adding matches to the Selection screen as they are found. That way you can start perusing search results without waiting for complete search to finish, and you can also interrupt search to start a new one.


----------



## jcthorne

How totally cool! Thanks and looking forward to the update.


----------



## f4phantomii

After further testing, it appears that the hardware encoding/decoding offload may well be working as intended on my Synology DS214play.

Running streambaby on it and transcoding my MKV files I initially see around 65%-80% CPU usage. But after several minutes that tapers down to something less than 30%. Very encouraging! 

I also noticed that the front panel on my Tivo HD indicates it is outputting 480i. As my MKV files are DVD rips at 720x480, they should be playing at 480p, correct?

Is there an additional ffmpeg flag I need to set for that? Or is it unnecessary?


----------



## moyekj

f4phantomii said:


> After further testing, it appears that the hardware encoding/decoding offload may well be working as intended on my Synology DS214play.
> 
> Running streambaby on it and transcoding my MKV files I initially see around 65%-80% CPU usage. But after several minutes that tapers down to something less than 30%. Very encouraging!
> 
> I also noticed that the front panel on my Tivo HD indicates it is outputting 480i. As my MKV files are DVD rips at 720x480, they should be playing at 480p, correct?
> 
> Is there an additional ffmpeg flag I need to set for that? Or is it unnecessary?


Note that by default streambaby will generate preview images for any title, and calls ffmpeg to do so. So initially you may have 2 ffmpeg jobs running - 1 for the video transcode and 1 for preview generation which probably explains the initial CPU usage numbers you are seeing. You can stop the preview generation completely by adding this to streambaby.ini:
preview.autogenerate=false

Of course that means if while viewing you FF out of buffer range you won't get thumbnails of where you are. But if you are always viewing within buffer bounds then the thumbnail generation is not needed and can be disabled with setting above. Personally I don't care for the thumbnails so I always use the above setting.


----------



## f4phantomii

I will give that a shot as an experiment to see what happens.

Also an additional feature request (I know you love these!):

My kids have a terrible habit of starting a movie/show, then pausing it for some reason. Then they'll turn the TV off and go do something else, leaving the show paused.

For live TV or recorded shows this is not a significant issue, other than being an annoyance when I turn the TV back on later.

But when streaming a movie from my NAS, if paused, it seems to tie up resources effectively until it finishes the transcoding/buffering.

Would it be possible to have streambaby have an option to halt a stream/transcode job if it detects that the show has been paused for say...15 or 20 minutes?


----------



## f4phantomii

Yep....preview generation was exactly what was driving up the CPU usage.

Turning it off as you suggested now shows CPU usage below 30% while streaming!


----------



## f4phantomii

Following the wiki, I note streambaby supports other formats (assuming ffmpeg is compiled to support them as well).

The default option appears to use the mpeg2video vcodec with an mp2 container. I assume that this provides the best out of the box compatibility with older Series 2 Tivos?

I was experimenting with some of the other codecs/formats for my TivoHD.

in order to do so, I was editing the ffmpegexe.transcode option.

From the wiki, it looks like at a minimum I would need something like:



Code:


ffmpegexe.transcode=-acodec ac3 -vcodec libx264 -f mp4 -r 29.97 -v 0

But trying several things, the stream aborts, presumably because I've got the ffmpeg options wrong. What am I doing wrong?


----------



## moresmith

I have a Tivo Premier Xl and Tivo HD. Previously I've been using Streambaby v.29 with no issues. I recently set up the latest versions starting with v34 and now v37 with no streaming luck with any of them. I have tivo stream set up on a windows home server v1, both the WHS and TIVOs are connected to a gigabit router or switch. The majority of the files i want to stream are .AVI videos.

The code below is from the Premier XL



Code:


10/14/14 21:29:58 StreamBabyMain: 124 STARTING StreamBaby v0.37...
10/14/14 21:29:58 Listener: 125 added factory
10/14/14 21:29:58 Main: 275 MDNS: http;//192.168.0.109:7290/streambaby/
10/14/14 21:29:58 Main: 276 streambaby ready & listening.
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: Basement HD, tsn: 6520011802F3CD3
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: LR XL4, tsn: 75820119028236E
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: Bedroom HD, tsn: 6520011803EB985
10/14/14 21:30:34 Factory: 504 HME receiver connected
10/14/14 21:30:34 Application: 509 HME host: 192.168.0.109:7290
10/14/14 21:30:49 FFmpegExeVideoModule: 703 FFmpegCmd: C:\Documents and Settings\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe -i \\Hpserver\Photos\Gymnastics 2014\St Charles GIJO - State\MVI_0236.AVI
10/14/14 21:30:50 FFmpegExeVideoModule: 703 FFmpegCmd: C:\Documents and Settings\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe -ss 0.0 -i \\Hpserver\Photos\Gymnastics 2014\St Charles GIJO - State\MVI_0236.AVI -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 tcp://127.0.0.1:8500
10/14/14 21:30:52 Listener: 423 192.168.0.24 ab5375a7-8b4d-4fc1-bfec-719b4d625581.stream HTTP GET - to factory /streambaby/
10/14/14 21:31:08 SocketProcessInputStream: 29 Destroying running process...
10/14/14 21:31:08 Listener: 438 192.168.0.24 I/O Exception handling  HTTP GET ab5375a7-8b4d-4fc1-bfec-719b4d625581.stream: Connection reset by peer: socket write error
10/14/14 21:31:18 Listener: 343 connection to receiver closed
10/14/14 21:31:18 Factory: 504 HME receiver disconnected

Here is from the window since it's different....



Code:


Initializing StreamBaby v0.37...
10/14/14 21:29:58 StreamBabyMain: 124 STARTING StreamBaby v0.37...
10/14/14 21:29:58 Listener: 125 added factory
10/14/14 21:29:58 Main: 275 MDNS: http;//192.168.0.109:7290/streambaby/
10/14/14 21:29:58 Main: 276 streambaby ready & listening.
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: Basement HD, tsn: 65200118
02F3CD3
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: LR XL4, tsn: 7582011902823
6E
10/14/14 21:30:03 TiVoListener: 151 jmDns found TiVo: Bedroom HD, tsn: 652001180
3EB985
log after close : initContext version=49
10/14/14 21:30:34 Factory: 504 HME receiver connected
10/14/14 21:30:34 Application: 509 HME host: 192.168.0.109:7290
10/14/14 21:30:49 FFmpegExeVideoModule: 703 FFmpegCmd: C:\Documents and Settings
\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe -i \\Hpserver\Photos\Gy
mnastics 2014\St Charles GIJO - State\MVI_0236.AVI
10/14/14 21:30:50 FFmpegExeVideoModule: 703 FFmpegCmd: C:\Documents and Settings
\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe -ss 0.0 -i \\Hpserver\P
hotos\Gymnastics 2014\St Charles GIJO - State\MVI_0236.AVI -acodec ac3 -vcodec m
peg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 t
cp://127.0.0.1:8500
10/14/14 21:30:52 Listener: 423 192.168.0.24 ab5375a7-8b4d-4fc1-bfec-719b4d62558
1.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB
StreamBabyStream[#1,uri=null] warning: resource 3914 not found.
StreamBabyStream[#1,uri=null] warning: resource 3914 not found.
10/14/14 21:31:08 SocketProcessInputStream: 29 Destroying running process...
10/14/14 21:31:08 Listener: 438 192.168.0.24 I/O Exception handling  HTTP GET ab
5375a7-8b4d-4fc1-bfec-719b4d625581.stream: Connection reset by peer: socket writ
e error
10/14/14 21:31:18 Listener: 343 connection to receiver closed
10/14/14 21:31:18 Factory: 504 HME receiver disconnected


----------



## moyekj

f4phantomii said:


> Code:
> 
> 
> ffmpegexe.transcode=-acodec ac3 -vcodec libx264 -f mp4 -r 29.97 -v 0


 It's technical, but TiVos require MOOV atom of mp4 files to be present at the front of the file which rules out transcoding to mp4 files completely (you can't generate contents of MOOV atom until the transcode is fully completed). HME video formats accepted by TiVo are very limited - basically only mp4 container with H.264 and AAC or AC3 audio or mpeg2 program stream container with mpeg2 video and AC3 or mp2 audio. Because mp4 can't be used for on the fly transcoding that leaves only mpeg2.

If you TRANSFER back to TiVo you have more flexibility, so for example using pyTivo you can transfer H.264 video in mpeg2 transport stream container.

Plus with all that said, transcoding to H.264 as you were attempting is MORE cpu intensive than transcoding to mpeg2 so is counterproductive for your requirements anyway.


----------



## moyekj

moresmith said:


> I have a Tivo Premier Xl and Tivo HD. Previously I've been using Streambaby v.29 with no issues. I recently set up the latest versions starting with v34 and now v37 with no streaming luck with any of them.
> ...


ffmpeg must be failing for some reason.
Open a "cmd" window and execute the following to see what the errors are:


Code:


"C:\Documents and Settings\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe" -ss 0.0 -i "\\Hpserver\Photos\Gymnastics 2014\St Charles GIJO - State\MVI_0236.AVI" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 test.mpg


----------



## moresmith

moyekj said:


> ffmpeg must be failing for some reason.
> Open a "cmd" window and execute the following to see what the errors are:
> 
> 
> Code:
> 
> 
> "C:\Documents and Settings\Administrator\Desktop\streambaby-0.37\native\ffmpeg.exe" -ss 0.0 -i "\\Hpserver\Photos\Gymnastics 2014\St Charles GIJO - State\MVI_0236.AVI" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 test.mpg


Looks like it created a test.mpg file...didn't see any errors...


----------



## moyekj

Odd. See if you can stream that test.mpg to your TiVo using streambaby.
If that works, only thing I can think of is perhaps somehow your firewall is preventing ffmpeg from using a tcp port on your computer.


----------



## moresmith

moyekj said:


> Odd. See if you can stream that test.mpg to your TiVo using streambaby.
> If that works, only thing I can think of is perhaps somehow your firewall is preventing ffmpeg from using a tcp port on your computer.


Well the older version of streambaby works fine probably an older version of ffmpeg.

i did notice that some mpeg videos (movie rips via anydvd) work as well as mp4s work.


----------



## moyekj

Well, you can always replace ffmpeg in the 0.37 install with the old ffmpeg if you still have it.


----------



## f4phantomii

moyekj said:


> It's technical, but TiVos require MOOV atom of mp4 files to be present at the front of the file which rules out transcoding to mp4 files completely (you can't generate contents of MOOV atom until the transcode is fully completed).


Thanks for the clarification. I would have driven myself nuts trying to make something work that has no hope of working!

So I can convert to MP4 ahead of time and stream the resulting file, but can't transcode to MP4 on the fly. Got it..



> Plus with all that said, transcoding to H.264 as you were attempting is MORE cpu intensive than transcoding to mpeg2 so is counterproductive for your requirements anyway.


I was hoping it would get offloaded to the GPU for the job. Its supposed to handle H264 coding/decoding in addition to other formats. Other experimentation I've done shows CPU usage for H264 is no worse than mpeg2 if the hardware transcoder is doing its thing.

But if it was a problem, then I was going to fall back to mpeg2. Was just curious to see if the H264 yielded any noticeable quality improvement over the mpeg2 stream.

But perhaps I need to experiment with some of the quality options in ffmpeg. Theres a very slight "soap opera" effect with the default options.


----------



## wmcbrine

f4phantomii said:


> The default option appears to use the mpeg2video vcodec with an mp2 container. I assume that this provides the best out of the box compatibility with older Series 2 Tivos?


In addition to what moyekj already covered: Streambaby isn't compatible with the Series 2, because HME video streaming is only available for Series 3 and later.


----------



## moyekj

version 0.38 is now released with 2 main enhancements:
* Right pane in Selection screen now makes better use of available space by wrapping text around any image art.
* Searches are now done in background mode, adding matches to the Selection screen as they are found. That way you can start perusing search results without waiting for complete search to finish, and you can also interrupt search to start a new one.


----------



## thewebgal

Kept my ini and simplelog.properties files, but overwrote everything else with the contents of the new Ver 0.38 and did a reboot. Its all working like a champ so far ...
tho I 'spose I need to drop some images and text files into my directories to take advantage of the new features! Coolness, thanks again!



moyekj said:


> version 0.38 is now released with 2 main enhancements:
> * Right pane in Selection screen now makes better use of available space by wrapping text around any image art.
> * Searches are now done in background mode, adding matches to the Selection screen as they are found. That way you can start perusing search results without waiting for complete search to finish, and you can also interrupt search to start a new one.


----------



## thewebgal

Just watched a couple of 59 min (670meg and 358 meg) mp4 files 
and saw the old "...buffering" legend near the end in the final credits (say, 58 mins in)

Last night I streamed a 2.5 hour mkv movie and it played uninterrupted ...

Any ideas?

Perhaps I need to uncomment the transcode buffer limit?


in my .ini file I have some directories listed then this ..

#
com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
# 
ffmpeg.path=/Applications/TIVO/streambaby/ffmpeg
## ffmpeg.path=/opt/local/bin/ffmpeg
#
# 
ip=192.168.1.12
port=7290
#
# trimextensions=false
# extensions= mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,ts
extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,wtv
#
# transcode.bufferlimit=20
# (default:20)
#


----------



## benichols

Can confirm that stream baby 0.38 works fine on a Mac with Yosemite.

I did a clean install of Yosemite. Dropped the stream baby folder into Applications and fired it up. It gave a popup to install Java JDK. Followed the link and installed 1.8 java. Restarted streambaby and it installed all the required ffmpeg files and works great!


----------



## f4phantomii

Pleased to report that after ripping nearly 100 of my DVDs using MakeMKV, copying them to my NAS, then using Metagenerator3 to create the .jpg & .txt files, I have all of that working in streambaby. My kids have been delighted!

Although I thought I had learned much, I am still struggling heavily with transcoding and getting just the right format.

All of my DVD rips are straight MKV files with no other transcoding. Thus, video is mpeg2, and audio is usually AC3 5.1. File size is, as expected, between 3GB-7GB each.

Streambaby is able to remux these, using about 30% of the CPU on the NAS. Quality is reasonable, but not as good as the disc.

Here's where my brain gets twisted about.....I had a couple of discs that for whatever reason wouldn't rip. So I just downloaded a torrent.

Both of those files were MP4 containers with H264 encoding and AAC audio. File size was less than my MKV files and when played via streambaby, appear to pass thru without transcoding (virtually no CPU usage). The picture quality of those two files are significantly better than playing my MKV files.

I've tried transcoding my MKV files to MP4 containers (leaving mp2 video encoding as "copy"), but that didn't have the desired effect on playback. I also tried re-encoding to MP4 using H264 with some of the presets (fast, film, high) but wasn't getting it right either. Playing back the resulting MP4 file via streambaby still showed 30% CPU and quality was worse.

Now I'm trying handbrake, with not much better results. Can someone share a handbrake profile for this? Or perhaps point me towards what I'm doing wrong?


----------



## lpwcomp

f4phantomii said:


> Pleased to report that after ripping nearly 100 of my DVDs using MakeMKV, copying them to my NAS, then using Metagenerator3 to create the .jpg & .txt files, I have all of that working in streambaby. My kids have been delighted!
> 
> Although I thought I had learned much, I am still struggling heavily with transcoding and getting just the right format.
> 
> All of my DVD rips are straight MKV files with no other transcoding. Thus, video is mpeg2, and audio is usually AC3 5.1. File size is, as expected, between 3GB-7GB each.
> 
> Streambaby is able to remux these, using about 30% of the CPU on the NAS. Quality is reasonable, but not as good as the disc.
> 
> Here's where my brain gets twisted about.....I had a couple of discs that for whatever reason wouldn't rip. So I just downloaded a torrent.
> 
> Both of those files were MP4 containers with H264 encoding and AAC audio. File size was less than my MKV files and when played via streambaby, appear to pass thru without transcoding (virtually no CPU usage). The picture quality of those two files are significantly better than playing my MKV files.
> 
> I've tried transcoding my MKV files to MP4 containers (leaving mp2 video encoding as "copy"), but that didn't have the desired effect on playback. I also tried re-encoding to MP4 using H264 with some of the presets (fast, film, high) but wasn't getting it right either. Playing back the resulting MP4 file via streambaby still showed 30% CPU and quality was worse.
> 
> Now I'm trying handbrake, with not much better results. Can someone share a handbrake profile for this? Or perhaps point me towards what I'm doing wrong?


Unless they're actually blu-ray rather than regular DVDs, what you're starting with is *not* HD quality video while what you download *is*.


----------



## f4phantomii

Its not that. Streaming any of my MKV files to a tablet or phone the video looks flawless. And CPU load is nothing simply because it just passes the file through to those devices.

I just can't get the MKV files to look as good on the Tivo because they get transcoded. And I haven't figured out the magic combination of transcoding options to get to an MP4 H264 file that will pass thru neatly to the Tivo as cleanly as the two I downloaded.


----------



## moyekj

mkv with mpeg2 video and ac3 audio ideally should just remux to mpeg2 program stream container with no loss of quality instead of transcoding. I already do that for TS container files so I'll look into doing the same for mkv container. If it were me ripping from DVDs though I would just save in original PS container just as they are on DVDs.


----------



## f4phantomii

moyekj said:


> mkv with mpeg2 video and ac3 audio ideally should just remux to mpeg2 program stream container with no loss of quality instead of transcoding. I already do that for TS container files so I'll look into doing the same for mkv container. If it were me ripping from DVDs though I would just save in original PS container just as they are on DVDs.


I thought it shouldn't be anything more than a remux too.

I even tried remuxing it to an MP4 container while keeping the mpeg2 stream the same, but no luck. That was still getting transcoded.

But if you can adjust the code to simply pass the mpeg2 stream straight thru from the MKV container, that would be ideal.

One other thing I tried was to re-encode to H264 but keep it in an MKV container. No luck there either...it still transcoded during playback instead of passing thru the H264 stream as I'd hoped.


----------



## moyekj

f4phantomii said:


> One other thing I tried was to re-encode to H264 but keep it in an MKV container. No luck there either...it still transcoded during playback instead of passing thru the H264 stream as I'd hoped.


That's pointless as I explained before, MP4 cannot be generated on the fly for TiVos, so that would have to transcode to mpeg2. I listed previously TiVo compatible formats which is very limited. Everything else needs at least a remix if not a transcode.


----------



## jcthorne

f4phantomii said:


> Its not that. Streaming any of my MKV files to a tablet or phone the video looks flawless. And CPU load is nothing simply because it just passes the file through to those devices.
> 
> I just can't get the MKV files to look as good on the Tivo because they get transcoded. And I haven't figured out the magic combination of transcoding options to get to an MP4 H264 file that will pass thru neatly to the Tivo as cleanly as the two I downloaded.


MP4 container, h.264 video (Level 4.1 or lower) and AC-3 audio(up to 5.1 channels and 640kbps). Video on track 0 audio on track 1 and no other audio tracks in the file. MP4 file must already be streaming type with the MOOV atom at the beginning of the file.

This will stream directly to the Tivo as is without remux or transcode.


----------



## moyekj

jcthorne said:


> MP4 container, h.264 video (Level 4.1 or lower) and AC-3 audio(up to 5.1 channels and 640kbps). Video on track 0 audio on track 1 and no other audio tracks in the file. MP4 file must already be streaming type with the MOOV atom at the beginning of the file.
> 
> This will stream directly to the Tivo as is without remux or transcode.


 FYI, streambaby takes care of the MOOV atom so it doesn't necessarily have to be at the front of the file. (But in general I would recommend encoding that way anyway).


----------



## rondotcom

I have an unusual situation. I have transcoder .avi files to mp4 tagged them with meta x. They play fine on my computer, but will not play on streambaby. I get please wait for several minutes then a blank progress bar. this hangs streambaby up and I have to press the TiVo button to get out. any clue? I have nothing.


----------



## moyekj

rondotcom said:


> I have an unusual situation. I have transcoder .avi files to mp4 tagged them with meta x. They play fine on my computer, but will not play on streambaby. I get please wait for several minutes then a blank progress bar. this hangs streambaby up and I have to press the TiVo button to get out. any clue? I have nothing.


 If they aren't being transcoded then you can force transcode by changing quality level on play screen. If they are being transcoded then look at log file for the ffmpeg command being used and run it on command line to see what the error is.
P.S. You posted this same question here, PM and sourceforge forum which is a bit much. Please just post here (1 place) in the future for such questions.


----------



## rondotcom

I tried changing quality that didn't work. I transcoder with Freemake and tagged with meta x. I would think one of them broke the file but they play just fine on my computer. they just won't play on streambaby. I pulled it to TIVO and played OK that way.


Sent from my kindle HDX


----------



## moyekj

Which means ffmpeg is probably failing to transcode them. Run the ffmpeg command from log file in a terminal to find out what's going wrong.


----------



## jcthorne

Quick question, now that the text wraps around the artwork on the browse screen, is they any way to adjust the image size? Is it something I could change or is it hard coded?

The browse screen works great by the way.


----------



## rondotcom

About my streambaby problem : ffmpeg sez: [mov,mp4,m4a,3gp,3g2,mj2 @ 01f77140] moov atom not found sport.mp4: Invalid data found when processing input

I have no idea what that means except it doesn't sound good


----------



## greenawayj

Having an unusual issue... 

I have stream baby 0.38 installed and working fine. I can see it from my roamio plus and mini. Push functionality is configured and shows the plus and mini as push targets. 

However, I cannot see streambaby from my 3rd device, a premiere. And it does not show up as a push target. 

HME is enabled and premiere is on the network. It has an IP and kmttg can see the premiere and pull it's NPL. I have tried:

Turning HME off and back on. 
HD GUI reset. 
Full reset
Trying to manually force the connection by typing in the IP of the computer running streambaby. 

I currently have no special IP or port settings in streambaby.ini

Only networking difference between the premiere and the roamio/mini is the premiere gets a static IP from the router while the other two get next available from dhcp. (mainly because I recently moved and hadn't yet gotten around to assigning them a fixed IP yet). They are all on 192.168.0.xxx

At some point in the recent past, this definitely worked, but with 2 moves in 9 months and the recent (very much appreciated updates to streambaby) , I don't necessarily know when it stopped working. 

Anyone else ever see something similar? or have any ideas for me. 

Thanks


----------



## moyekj

rondotcom said:


> About my streambaby problem : ffmpeg sez: [mov,mp4,m4a,3gp,3g2,mj2 @ 01f77140] moov atom not found sport.mp4: Invalid data found when processing input
> 
> I have no idea what that means except it doesn't sound good


 If you are able to transfer using pyTivo then try configuring streambaby to use the same ffmpeg pyTivo is using. i.e. Try a different ffmpeg for streambaby than you are currently using.


----------



## moyekj

jcthorne said:


> Quick question, now that the text wraps around the artwork on the browse screen, is they any way to adjust the image size? Is it something I could change or is it hard coded?


 The height is currently hardcoded (the width changes dynamically to preserve aspect ratio). I'll add a streambaby.ini entry for it in next release so height can be changed.


----------



## jcthorne

moyekj said:


> The height is currently hardcoded (the width changes dynamically to preserve aspect ratio). I'll add a streambaby.ini entry for it in next release so height can be changed.


Great!, Thanks as always.


----------



## moyekj

0.39 version is now released with following updates:

* Selection Screen art image height is now configurable in streambaby.ini:
browser.image.height=(default:180)
* Remux mkv container with mpeg2 video & ac3 audio instead of transcode.
* Java 8 update broke mind.tivo.com login authentication associated with pushes, so the code has been updated to work with Java 8.


----------



## MacGuruTX

First, moyekj, I want to express my deepest gratitude for your reopening the code for Streambaby. We've used it extensively for years now, and it was getting to be quite a pain to regress Java all the time.

So I had to rebuild my HD on my household MacPro which is aged and stuck on 10.7.5. This resulted in a new system install and a clean of streambaby .39 when I discovered it on here.

I appear to have a problem with resuming playback on MKV. 
Steps
1) Start playing a MKV. My daughter watched to roughly 28 min the previous night.

2) Today, i open DolphinTale again and went to Resume Playback. I get a Please Wait in the tivo/streambaby UI. Then the Tivo switches to what appears to be playback mode, but I'm stuck on a black screen with the time bar at the bottom, but nothing else.

3) Similar occurrence, if I start from beginning and fast forward a few minutes and hit play it works fine. But if I fast forward to much later in the file, and press play, then it fails with the same black screen. My gut is that it has to do with outrunning the buffer?

------- Media Info -------
Unique ID : 217051188161099308821019619825343772223 (0xA34A89CC5A5C9843832C4A20675FB63F)
Complete name : /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv
Format : Matroska
Format version : Version 2
File size : 5.45 GiB
Duration : 1h 52mn
Overall bit rate : 6 931 Kbps
Encoded date : UTC 2011-12-08 19:15:34
Writing application : mkvmerge v4.9.1 ('Ich will') built on Jul 11 2011 23:53:15
Writing library : libebml v1.2.1 + libmatroska v1.1.1

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 52mn
Bit rate : 5 420 Kbps
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.245
Stream size : 4.16 GiB (76%)
Writing library : x264 core 119 r2106 07efeb4
Encoding settings : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x3:0x133 / me=umh / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=9 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=5420 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language : English
Default : Yes
Forced : No

Audio
ID : 2
Format : DTS
Format/Info : Digital Theater Systems
Mode : 16
Format settings, Endianness : Big
Codec ID : A_DTS
Duration : 1h 52mn
Bit rate mode : Constant
Bit rate : 1 509 Kbps
Channel(s) : 6 channels
Channel positions : Front: L C R, Side: L R, LFE
Sampling rate : 48.0 KHz
Bit depth : 24 bits
Compression mode : Lossy
Stream size : 1.19 GiB (22%)
Language : English
Default : Yes
Forced : No

Text
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Language : English
Default : No
Forced : No

-------- Streambaby Log File ------
Although my .ini file has com.unwiredappeal=debug, i notice that there is information showing up in my terminal window that doesn't appear to be recording to the log file?

specifically the warnings about Resource not found which are in the Terminal Window Copy after the Log file below:

----- Actual Log File -----
11/03/14 20:14:11 StreamBabyMain: 129 STARTING StreamBaby v0.39...
11/03/14 20:14:11 Listener: 125 added factory
11/03/14 20:14:11 Main: 275 MDNS: http://192.168.1.20:7290/streambaby/
11/03/14 20:14:11 Main: 276 streambaby ready & listening.
11/03/14 20:14:17 TiVoListener: 151 jmDns found TiVo: Living Room new, tsn: 746000190352644
11/03/14 20:14:17 TiVoListener: 151 jmDns found TiVo: Master Bed XL4, tsn: 758200190413DF6
11/03/14 20:15:04 Factory: 504 HME receiver connected
11/03/14 20:15:04 Application: 509 HME host: 192.168.1.20:7290
11/03/14 20:15:18 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv
11/03/14 20:15:20 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 368.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:15:21 Listener: 423 192.168.1.14 d69bea8b-c1f5-4bd4-8a5e-abc3f256949e.stream HTTP GET - to factory /streambaby/
11/03/14 20:16:06 SocketProcessInputStream: 29 Destroying running process...
11/03/14 20:16:06 Listener: 438 192.168.1.14 I/O Exception handling HTTP GET d69bea8b-c1f5-4bd4-8a5e-abc3f256949e.stream: Broken pipe
11/03/14 20:16:06 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1700.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:16:07 Listener: 423 192.168.1.14 2ea03058-5787-450c-bebd-6ff3c2ded337.stream HTTP GET - to factory /streambaby/
11/03/14 20:16:32 Listener: 343 connection to receiver closed
11/03/14 20:16:32 Factory: 504 HME receiver disconnected
11/03/14 20:16:32 SocketProcessInputStream: 29 Destroying running process...
11/03/14 20:16:32 Listener: 438 192.168.1.14 I/O Exception handling HTTP GET 2ea03058-5787-450c-bebd-6ff3c2ded337.stream: Broken pipe
11/03/14 20:16:45 Factory: 504 HME receiver connected
11/03/14 20:16:45 Application: 509 HME host: 192.168.1.20:7290
11/03/14 20:17:01 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1708.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:17:02 Listener: 423 192.168.1.14 8a27c19a-3e7d-486a-89e2-c04a6c1e5a2f.stream HTTP GET - to factory /streambaby/
11/03/14 20:17:44 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1709.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8501
11/03/14 20:17:45 Listener: 423 192.168.1.14 b5fedb92-64d3-49f9-8d17-3d9b0a078be5.stream HTTP GET - to factory /streambaby/
11/03/14 20:20:48 ShutdownHook: 30 Cleaning up...

---- Terminal Text capture ------
Initializing StreamBaby v0.39...
11/03/14 20:14:11 StreamBabyMain: 129 STARTING StreamBaby v0.39...
11/03/14 20:14:11 Listener: 125 added factory
11/03/14 20:14:11 Main: 275 MDNS: http://192.168.1.20:7290/streambaby/
11/03/14 20:14:11 Main: 276 streambaby ready & listening.
11/03/14 20:14:17 TiVoListener: 151 jmDns found TiVo: Living Room new, tsn: 746000190352644
11/03/14 20:14:17 TiVoListener: 151 jmDns found TiVo: Master Bed XL4, tsn: 758200190413DF6
log after close : initContext version=49
11/03/14 20:15:04 Factory: 504 HME receiver connected
11/03/14 20:15:04 Application: 509 HME host: 192.168.1.20:7290
11/03/14 20:15:18 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv
11/03/14 20:15:20 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 368.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:15:21 Listener: 423 192.168.1.14 d69bea8b-c1f5-4bd4-8a5e-abc3f256949e.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB
StreamBabyStream[#1,uri=null] warning: resource 3873 not found.
StreamBabyStream[#1,uri=null] warning: resource 3873 not found.
11/03/14 20:16:06 SocketProcessInputStream: 29 Destroying running process...
11/03/14 20:16:06 Listener: 438 192.168.1.14 I/O Exception handling HTTP GET d69bea8b-c1f5-4bd4-8a5e-abc3f256949e.stream: Broken pipe
11/03/14 20:16:06 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1700.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:16:07 Listener: 423 192.168.1.14 2ea03058-5787-450c-bebd-6ff3c2ded337.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB
11/03/14 20:16:32 Listener: 343 connection to receiver closed
11/03/14 20:16:32 Factory: 504 HME receiver disconnected
11/03/14 20:16:32 SocketProcessInputStream: 29 Destroying running process...
11/03/14 20:16:32 Listener: 438 192.168.1.14 I/O Exception handling HTTP GET 2ea03058-5787-450c-bebd-6ff3c2ded337.stream: Broken pipe
log after close : initContext version=49
11/03/14 20:16:45 Factory: 504 HME receiver connected
11/03/14 20:16:45 Application: 509 HME host: 192.168.1.20:7290
11/03/14 20:17:01 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1708.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
11/03/14 20:17:02 Listener: 423 192.168.1.14 8a27c19a-3e7d-486a-89e2-c04a6c1e5a2f.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB
StreamBabyStream[#1,uri=null] warning: resource 3849 not found.
StreamBabyStream[#1,uri=null] warning: resource 3849 not found.
11/03/14 20:17:44 FFmpegExeVideoModule: 714 FFmpegCmd: /Applications/streambaby-0.39/native/ffmpeg -ss 1709.0 -i /Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8501
11/03/14 20:17:45 Listener: 423 192.168.1.14 b5fedb92-64d3-49f9-8d17-3d9b0a078be5.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB


----------



## moyekj

MacGuruTX, from the log you posted it appears that it may be taking too long for ffmpeg to seek to the resume spot. From command line try the following (the -ss 1700 means seek to 1700 seconds into the video):


Code:


/Applications/streambaby-0.39/native/ffmpeg -ss 1700.0 -i "/Volumes/Media Storage/TiVo-Shows/Dolphin Tale.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 test.mpg

See how long it takes for the above to start producing something in test.mpg that can be played.
Or if there is some kind of problem ffmpeg is having you should see warnings/errors from ffmpeg.


----------



## MacGuruTX

Looks like 5 minutes to start outputting to the file...


----------



## moyekj

MacGuruTX said:


> Looks like 5 minutes to start outputting to the file...


 That would explain the dark screen then since streambaby is not getting any output from ffmpeg for a long time. You could perhaps look into obtaining a newer version of ffmpeg to use with streambaby to see if that solves the problem.


----------



## MacGuruTX

Ok, that seems to be the issue. I did a macports build of ffmpeg and when doing the cmd i get a near instantaneous seek. 

What version is in the native folder?
and/or
Can i redirect streambaby to use my build through config?


----------



## moyekj

MacGuruTX said:


> Ok, that seems to be the issue. I did a macports build of ffmpeg and when doing the cmd i get a near instantaneous seek.
> 
> What version is in the native folder?
> and/or
> Can i redirect streambaby to use my build through config?


You can define which ffmpeg to use in streambaby.ini:
ffmpeg.path=/full/path/to/ffmpeg

Also, if you can make your ffmpeg executable available for me to download I can update the Mac tools package to use it instead of the current one.
(I don't have access to Mac platform so rely on Mac users for binaries).


----------



## thewebgal

I did the upgrade the other day, tested it 2 nights now - Streambaby 0.39 is working fine on my macPro under Yosemite, tho I don't have graphics in the file folder to view.


----------



## MacGuruTX

moyekj said:


> You can define which ffmpeg to use in streambaby.ini:
> ffmpeg.path=/full/path/to/ffmpeg
> 
> Also, if you can make your ffmpeg executable available for me to download I can update the Mac tools package to use it instead of the current one.
> (I don't have access to Mac platform so rely on Mac users for binaries).


Yep, got it. the macports defaults to opt/local/bin/ffmpeg

ffmpeg.path=/opt/local/bin/ffmpeg

I'll pm you with a link and we can give that a shot.


----------



## MacGuruTX

Now I just have to figure out why I can't get some folders to show files. I think it has to do with spaces in the directory name. I was trying 3 different variations of escaping the spaces. All of them show up as Folders when you access streambaby, but it shows them as empty. Any ideas on that one? all 3 work from the command line to move to that directory.

dir.2='/Volumes/Texas/Users/MyName/Music/iTunes/iTunes Media/TV Shows'
dir.2.name=iTunes TV
#dir.2.password=test
dir.3=/Volumes/Texas/Users/MyName/Music/iTunes/iTunes\ Media
dir.3=ItunesDir3
dir.4=/Volumes/Texas/Users/MyName/Music/iTunes/"itunes Media"/"TV Shows"
dir.4.name-ItunesDir4


----------



## moyekj

Spaces in directory names aren't an issue, you don't need any special escaping. Check the Wiki for which file extensions streambaby looks for and if there are missing ones you have to add ini entry. Else check for file permissions if file extensions are not the issue.

Also one other thing - default behavior of streambaby is to use titles where possible instead of file names which I never liked, so I have these permanently set in my ini file so I can see the actual file names sorted alphabetically in the left pane.
use.title=false
sort.filename=true


----------



## f4phantomii

moyekj said:


> 0.39 version is now released with following updates:
> 
> * Remux mkv container with mpeg2 video & ac3 audio instead of transcode.


A very, very large thank you!


----------



## jcthorne

moyekj said:


> 0.39 version is now released with following updates:
> 
> * Selection Screen art image height is now configurable in streambaby.ini:
> browser.image.height=(default:180)
> * Remux mkv container with mpeg2 video & ac3 audio instead of transcode.
> * Java 8 update broke mind.tivo.com login authentication associated with pushes, so the code has been updated to work with Java 8.


Just wanted to say thanks. Finally got some time to install the new version and adjust the settings. Looks great on screen with the images now big enough to see and the text wraps around perfectly. Streambaby sure has come a long way since you took it over. Thanks so much.


----------



## thewebgal

This improved Streambaby works so well for my humble needs - but I feel like I am not using 1/4 of its true potential.

So, if I wanted to utilize all the capability of the reborn Streambaby, 
what do I need to do?


Create some kind of text file to describe the AV files, with images?


----------



## jcthorne

thewebgal said:


> This improved Streambaby works so well for my humble needs - but I feel like I am not using 1/4 of its true potential.
> 
> So, if I wanted to utilize all the capability of the reborn Streambaby,
> what do I need to do?
> 
> Create some kind of text file to describe the AV files, with images?


Take a look at meta generator to create the text files and collect the data and images you need.

http://bit.ly/oNefNF


----------



## thewebgal

jcthorne said:


> Take a look at meta generator to create the text files and collect the data and images you need.
> 
> http://bit.ly/oNefNF


Okay - so I see they are talking about an exe file - 
I take it this is a Win-tool of some kind?
yep - dloaded and unzipped it and its .dll and .exe file - no go for me!

Sadly I can't use it - my sig shows I am clearly MAC technology ...


----------



## jcthorne

thewebgal said:


> Okay - so I see they are talking about an exe file -
> I take it this is a Win-tool of some kind?
> yep - dloaded and unzipped it and its .dll and .exe file - no go for me!
> 
> Sadly I can't use it - my sig shows I am clearly MAC technology ...


Just trying to help. I know others that run metagen on a MAC using some sort of emulation tool. Use whatever works for you.


----------



## lpwcomp

thewebgal said:


> Okay - so I see they are talking about an exe file -
> I take it this is a Win-tool of some kind?
> yep - dloaded and unzipped it and its .dll and .exe file - no go for me!
> 
> Sadly I can't use it - my sig shows I am clearly MAC technology ...


There's also pyTivoMetaThis-0.40.py


----------



## cweb

The old streambaby showed folder artwork. I just got v39 working. It is not displaying artwork now. Is that feature still available? Do I need to do enable it?


----------



## jcthorne

It will display the image file named in the associated txt file.

image : imagefilename.jpg


----------



## cweb

That's what I'm using. In streambaby, should I see the artwork when viewing the directory on when highlighting a specific file. I'm actually not getting it in either case.


----------



## moyekj

Streambaby picks up metadata and image data either from pyTivo metadata files or from embedded mp4 metadata. If you have both, the pyTivo metadata takes precedence. You should see images both in split pane browsing view and in show details pages. If you're not seeing images then something must be going wrong - generate a debug log to perhaps get more details on what may be failing.


----------



## MrGolden

I recently updated from .29 to .39 on a Win7/64 PC, and everything seems to work great except that almost all video files are listed twice on-screen, e.g.:

Movie1.avi
Movie1.avi
Movie2.mp4
Movie2.mp4
and so on...

Any ideas what would cause this?


----------



## moyekj

That is odd. Perhaps generate a debug log (see the Wiki page) and examine to see if anything odd is happening.


----------



## benichols

MrGolden said:


> I recently updated from .29 to .39 on a Win7/64 PC, and everything seems to work great except that almost all video files are listed twice on-screen, e.g.:
> 
> Movie1.avi
> Movie1.avi
> Movie2.mp4
> Movie2.mp4
> and so on...
> 
> Any ideas what would cause this?


I have gotten this periodically. Rebooting the streambaby server has solved the problem consistently for me.


----------



## jcthorne

I have seen the double listing behavior as well. Rebooting tivo and streambaby fixed it. Not sure which actually was required. But I can get it to happen again from time to time if I stop and restart streambaby a few times trying new config options. No consistency to it that I could see. But rebooting both machines fixes it.


----------



## MrGolden

I've tried rebooting the PC running Streambaby, and that did fix it - once  

But then the problem came back, and subsequent reboots didn't fix it. However, I haven't tried rebooting the Tivos. I'll do that this evening, and post an error log if that doesn't work.

Thanks for the suggestions!


----------



## greenawayj

I posted several weeks ago (#3003) about my issue where streambaby was not appearing in my premiere box but was working in my roamio plus and minis. Did not get any comments. I won't follow up again, but thought one quick bump was OK... Anyone else ever see this or have suggestions about config or network settings that could help? Thanks in advance.


----------



## moyekj

greenawayj said:


> I posted several weeks ago (#3003) about my issue where streambaby was not appearing in my premiere box but was working in my roamio plus and minis. Did not get any comments. I won't follow up again, but thought one quick bump was OK... Anyone else ever see this or have suggestions about config or network settings that could help? Thanks in advance.


Make sure that your Premiere is setup to allow local HME apps - under "Apps & Games" make sure to enable Home Network Apps. If it is already enabled then try turning it off and then back on again.

If still no luck after the above, if you haven't done so already, after Streambaby is up and running, on your Premiere issue the following sequence using your remote from TiVo Central to reboot HDUI (which forces the TiVo to re-scan for local HME apps):
Thumbs Down, Thumbs Up, Play, Play


----------



## lpwcomp

moyekj said:


> Also make sure that your Premiere is setup to allow local HME apps - I forget the exact sequence, but somewhere there is an option to enable/allow local HME apps which may not be set on your Premiere.


TiVo Central=>Apps & Games->Enable Home Network Apps


----------



## greenawayj

Thanks guys. Yes, i already cycled HME and the HDUI reboot in trying to fix this. I have most definitely accessed streambaby before from this device. (but probably before my move and before I had the roamio and minis also on the network - I was wondering if the mixed environment somehow was causing this). 

Only thing different is the premiere is connected via powerline ethernet and the others are either (roamio) directly to the router and (mini) via moca supplied by the roamio. My pc running streambaby is a VM running on server 2012 and also connected to the network by powerline (not a direct attach via the router). The premiere is also a static local IP address (via router table), while the 'working' devices are dhcp... I wouldn't think any of this matters though since the premiere has a proper local IP, can reach the network, AND can be seen by KMTTG from the same computer running streambaby. 

Is HME possibly corrupt on this premiere? Is there some test HME app can I run to see if it can be seen? 

My next step I suppose will be to move the premiere to plug directly into the router to eliminate my network factors. 

Last ditch efforts would be to repeat guided setup or a full wipe and start over. I'm just fishing for simpler explanations or other suggestions before I do that. Lots of kids programs saved on this box and I haven't kmttg'd them all!! ...


----------



## moyekj

I would suspect powerline network. If you can, temporarily run a long ethernet cable to the Premiere or relocate it to bypass powerline network then you can determine if network is the issue or not. Plugging it in directly to the router as you mentioned would be the best next thing to do.


----------



## greenawayj

Thanks for thinking through this for me. I convinced myself that the transport shouldn't matter as long as the signal is good. (I have no trouble in house streaming from premiere to the roamio or minis), but stranger things have happened.... I'll update you if I figure it out.


----------



## moyekj

Version 0.40 is released. Contains 1 fix related to recent TiVo software update for series 5 TiVos:
* Updated code to recognize and filter out TiVo Stream as a push target.


----------



## greenawayj

Finally had a chance to run a few experiments... I can confirm that when I connect my premiere directly to my router/internet (rather than via powerline ethernet), streambaby shows up in the menu and the premiere is found and listed in the command line after streambaby initialization. Interestingly, the pc running streambaby is not connected directly to the router. It actually connects over powerline to the router. 

Back in its usual spot, the premiere once again cannot see streambaby. However, streaming video from Roamio to premiere and vice versa works fine and the premiere connects just fine to the Tivo service. 

I'm not sure I understand why this might be, but this is certainly the issue. Hopefully, I can budget for some cat-5 runs in 2015.


----------



## steveyal

Interested in trying Streambaby. I've downloaded version 0.40 from sourceforge. What is the next step? Can someone talk me through the install?


----------



## reneg

steveyal said:


> Interested in trying Streambaby. I've downloaded version 0.40 from sourceforge. What is the next step? Can someone talk me through the install?


Start here: Streambaby Getting Started


----------



## steveyal

reneg said:


> Start here: Streambaby Getting Started


Thanks reneg, Can I have both streambaby and pyTivo installed?


----------



## steveyal

Ok. so here's where I'm at. Can anyone tell me what I may have wrong in my configuration? Thanks.

Initializing StreamBaby v0.40...
12/23/14 20:31:00 StreamBabyMain: 129 STARTING StreamBaby v0.40...
java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.TwoStacksPlainSocketImpl.socketBind(Native Method)
at java.net.TwoStacksPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.TwoStacksPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at com.tivo.hme.host.http.server.HttpServer$PortInterface.<init>(HttpSer
ver.java:204)
at com.tivo.hme.host.http.server.HttpServer$Port.<init>(HttpServer.java:
169)
at com.tivo.hme.host.http.server.HttpServer.start(HttpServer.java:79)
at com.unwiredappeal.tivo.streambaby.host.Listener.<init>(Listener.java:
103)
at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:134)
at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.
java:141)
error: Cannot assign requested address: JVM_Bind
usage: Main [--port <port>] [--ip <ip>] class

12/23/14 20:31:00 ShutdownHook: 30 Cleaning up...
Exited.
Press any key to continue . . .


----------



## steveyal

Here's my .ini

dir.1=d:\movies
dir.2=e:\movies
ip=192.168.1.1
ffmpeg.path=c:\pyTivo\bin\ffmpeg\bin\ffmpeg.exe
tivo.MAK=XXXXXXXXXXXXX
port=7290


----------



## steveyal

OK. Fixed the above by using my plex server and entering the IP and port. Now, all my movie folders populate the app. However, when I try to play something from my mini, I get "errorxffff." Anyone know how to fix this?

BTW, I do not get the same error from my Roamio where thew file plays just fine. 

Thanks in advance...


----------



## moyekj

steveyal said:


> OK. Fixed the above by using my plex server and entering the IP and port. Now, all my movie folders populate the app. However, when I try to play something from my mini, I get "errorxffff." Anyone know how to fix this?
> 
> BTW, I do not get the same error from my Roamio where thew file plays just fine.
> 
> Thanks in advance...


You can't play on Mini since it has no buffer. Best you can do from Mini is initiate a transfer to a real TiVo and then use MRS to play it on the Mini. For that you have to supply your tivo.com login and password in the ini file (see Wiki pages for details).


----------



## steveyal

moyekj said:


> You can't play on Mini since it has no buffer. Best you can do from Mini is initiate a transfer to a real TiVo and then use MRS to play it on the Mini. For that you have to supply your tivo.com login and password in the ini file (see Wiki pages for details).


Thanks...that does the trick : )


----------



## meBigGuy

I have been using V0.29 on my Series 3 since forever, with no real issues. I just tried to use it today and it gets stuck at the "please wait" screen after hitting play. (last used a few weeks ago)

I downloaded 0.40 and it does the same thing (but much prettier -- looks nice)
Initializing StreamBaby v0.40...
12/25/14 24:07:50 StreamBabyMain: 129 STARTING StreamBaby v0.40...
12/25/14 24:07:51 Listener: 125 added factory
12/25/14 24:07:51 Main: 275 MDNS: http://192.168.1.105:7290/streambaby/
12/25/14 24:07:51 Main: 276 streambaby ready & listening.
12/25/14 24:07:56 TiVoListener: 149 jmDns found TiVo: DVR-826D, tsn: 6520021803F826D
log after close : initContext version=49
12/25/14 24:08:01 Factory: 504 HME receiver connected
12/25/14 24:08:01 Application: 509 HME host: 192.168.1.105:7290
12/25/14 24:08:17 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\User\Desktop\streambaby-0.40\native\ffmpeg.exe -i B:\download\Video2\Spartacus\Spartacus.S02E04.
720p.HDTV.X264-DIMENSION.mkv
12/25/14 24:08:21 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\User\Desktop\streambaby-0.40\native\ffmpeg.exe -ss 0 -i B:\download\Video2\Spartacus\Spartacus.S
02E04.720p.HDTV.X264-DIMENSION.mkv -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500
12/25/14 24:08:22 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\User\Desktop\streambaby-0.40\native\ffmpeg.exe -ss 0.0 -i B:\download\Video2\Spartacus\Spartacus
.S02E04.720p.HDTV.X264-DIMENSION.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8501
12/25/14 24:08:22 SocketProcessInputStream: 29 Destroying running process...
12/25/14 24:08:22 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\User\Desktop\streambaby-0.40\native\ffmpeg.exe -ss 1268 -i B:\download\Video2\Spartacus\Spartacu
s.S02E04.720p.HDTV.X264-DIMENSION.mkv -s 352x288 -qscale 24 -r 1 -f mjpeg -v 0 tcp://127.0.0.1:8500

And it just sits there until I exit play and it then says

StreamBabyStream[#1,uri=null] warning: resource 3392 not found.
StreamBabyStream[#1,uri=null] warning: resource 3392 not found.

What do you suggest I try?

Thanks
mB


----------



## moyekj

meBigGuy said:


> What do you suggest I try?


ffmpeg seems to be failing. Open a cmd window and try the following from command line to see what the ffmpeg error is:


Code:


"C:\Users\User\Desktop\streambaby-0.40\native\ffmpeg.exe" -ss 0.0 -i "B:\download\Video2\Spartacus\Spartacus.S02E04.720p.HDTV.X264-DIMENSION.mkv" -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 test.mpg


----------



## AZrob

Hi all,

First of all, thank you so much moyekj for all the new development on streambaby. I love this application and have been using it for years, so your recent improvements (10 releases in 3 months!) are immensely appreciated.

My problem is that when I went from Mavericks to Yosemite on my Mac mini (2012) everything got REAL slow or would even hang, just getting it to reach my video folders. At first when I click on streambaby on my Tivo, it won't even start. Eventually after 3 or 4 tries going back and forth it starts, but then I get the "Please Wait" message. After several minutes, the gui comes up showing my video folder, but it hangs and won't let me click on a subfolder. Finally, after a few more tries, I may get it to start the movie, but the "Please Wait" icon still sits on top of the movie while it plays. Only once have I see that go away, and then everything ran okay.

I can still reboot into OSX Mavericks on a separate disk, and when I do that it all runs fine, as it did before.

Both Mac versions are running streambaby .30 under Java 1.7.0_51. The files that have the most trouble are .mp4's. I might add that I use the SD menu, not HD, but as I said that still works fine with Mavericks. I upgraded to .40 and threw in the latest ffmpeg as well, but with no further success.

Here's my log:
nitializing StreamBaby v0.40...
12/26/14 01:43:50 StreamBabyConfig: 753 DEBUG: WorkingDir: /Users/rmayer
12/26/14 01:43:50 StreamBabyConfig: 754 DEBUG: StreamBabyDir: /Applications/streambabyNEW2
12/26/14 01:43:50 StreamBabyConfig: 755 DEBUG: CurDir: /Users/rmayer
12/26/14 01:43:50 FFmpegExeVideoModule: 228 DEBUG: FFmpegPath: /Applications/streambabyNEW2/native/ffmpeg
12/26/14 01:43:50 StreamBabyMain: 129 STARTING StreamBaby v0.40...
12/26/14 01:43:50 Main: 66 DEBUG: args= start=true
12/26/14 01:43:50 Main: 209 DEBUG: args= [email protected]
12/26/14 01:43:50 Listener: 94 DEBUG: [email protected] [email protected]
12/26/14 01:43:52 Listener: 164 DEBUG: factoryList=[StreamBabyStreamFactory[/streambaby/,StreamBaby]]
12/26/14 01:43:52 Listener: 111 DEBUG: factory=StreamBabyStreamFactory[/streambaby/,StreamBaby]
12/26/14 01:43:52 Listener: 144 DEBUG: name=/streambaby/
12/26/14 01:43:52 Listener: 447 DEBUG: 
12/26/14 01:43:52 Listener: 125 added factory
12/26/14 01:43:52 Main: 262 DEBUG: factory=StreamBabyStreamFactory[/streambaby/,StreamBaby]
12/26/14 01:43:52 Main: 275 MDNS: http://192.168.1.167:7290/streambaby/
12/26/14 01:43:52 Main: 276 streambaby ready & listening.
12/26/14 01:43:52 Main: 293 DEBUG: mdns_type=_tivo-hme._tcp.local. factory=StreamBabyStreamFactory[/streambaby/,StreamBaby] port=7290
12/26/14 01:43:58 TiVoListener: 63 DEBUG: addService: FAMILY ROOM
12/26/14 01:43:58 TiVoListener: 70 DEBUG: Updating service: _http._tcp.local. (FAMILY ROOM)
12/26/14 01:43:58 TiVoListener: 100 DEBUG: resolveService: _http._tcp.local. (FAMILY ROOM)
12/26/14 01:43:58 TiVoListener: 149 jmDns found TiVo: FAMILY ROOM, tsn: 7582001903D3439
12/26/14 01:43:58 TiVoListener: 63 DEBUG: addService: HP Officejet 4630 series [6BAAD1]
12/26/14 01:43:58 TiVoListener: 70 DEBUG: Updating service: _http._tcp.local. (HP Officejet 4630 series [6BAAD1])
12/26/14 01:43:58 TiVoListener: 100 DEBUG: resolveService: _http._tcp.local. (HP Officejet 4630 series [6BAAD1])
12/26/14 01:43:58 TiVoListener: 63 DEBUG: addService: BEDROOM
12/26/14 01:43:58 TiVoListener: 70 DEBUG: Updating service: _http._tcp.local. (BEDROOM)
12/26/14 01:43:58 TiVoListener: 100 DEBUG: resolveService: _http._tcp.local. (BEDROOM)
12/26/14 01:43:58 TiVoListener: 149 jmDns found TiVo: BEDROOM, tsn: 74800019050276B

Thanks for any help,

Rob from AZ


----------



## moyekj

The log above simply shows initial launch of streambaby and looks normal. I don't see any connection attempts or video folder traversal, etc. If the slowness is subsequent to launch I would suspect ffmpeg issue related to new OS.


----------



## meBigGuy

Thanks for the reply,

I posted this before, and it seems to have disappeared.



moyekj said:


> ffmpeg seems to be failing. Open a cmd window and try the following from command line to see what the ffmpeg error is:


That command streams playable data to test.mpg. There are no error messages.

I rebooted the TIVO, and it began to work. I then tried playing a file that may have been the cause of the problem.

When I play with V0.29 it hangs after I select the file (doesn't make it to the Play screen. It spews something to the cmd window which I will paste below.

When I play the file with V0.40, it makes it to the play screen and I can hit play. But then it goes black (showing the progress bar, which stays at zero). The PC is fully consumed, all 8 CPUs at almost 100%, but no video shows up.

After I messed with this a few times, it stopped working the same as before. It seems to be hung like a protocol error (but Netflix still works). V0.40 uses no cpu power when it is hung. It just sits there.

Is there some way to clear the error without power cycling the TIVO?

Also, (a different issue), I noticed that V0.40 uses max cpu power when running. This makes the PC pretty much useless while streaming. Is there someway to limit the resources it will consume while buffering? (I hope it is just buffering).

Errors from V0.29:


Code:


Initializing StreamBaby v0.29...
12/26/14 17:50:33 Listener: added factory
12/26/14 17:50:33 Main: streambaby ready & listening.
log after close : initContext version=49
12/26/14 17:50:38 Factory: HME receiver connected
java.lang.IncompatibleClassChangeError: Found interface sun.font.FontManager, but class was expected
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:210)
        at org.lobobrowser.util.gui.FontFactory.createFont_Impl(FontFactory.java:180)
        at org.lobobrowser.util.gui.FontFactory.createFont(FontFactory.java:127)
        at org.lobobrowser.util.gui.FontFactory.getFont(FontFactory.java:98)
        at org.lobobrowser.html.style.StyleSheetRenderState.<clinit>(StyleSheetRenderState.java:43)
        at org.lobobrowser.html.domimpl.NodeImpl.<clinit>(NodeImpl.java:39)
        at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(DocumentBuilderImpl.java:143)
        at com.unwiredappeal.tivo.html.cobra.CobraRenderer.getImages(CobraRenderer.java:113)
        at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataViewer.java:86)
        at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:84)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.timerRender(ButtonScreen.java:98)
        at com.unwiredappeal.tivo.streambaby.ButtonScreen.tick(ButtonScreen.java:88)
        at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)


----------



## AZrob

AZrob said:


> Hi all,
> 
> First of all, thank you so much moyekj for all the new development on streambaby. I love this application and have been using it for years, so your recent improvements (10 releases in 3 months!) are immensely appreciated.
> 
> My problem is that when I went from Mavericks to Yosemite on my Mac mini (2012) everything got REAL slow or would even hang, just getting it to reach my video folders. At first when I click on streambaby on my Tivo, it won't even start. Eventually after 3 or 4 tries going back and forth it starts, but then I get the "Please Wait" message. After several minutes, the gui comes up showing my video folder, but it hangs and won't let me click on a subfolder. Finally, after a few more tries, I may get it to start the movie, but the "Please Wait" icon still sits on top of the movie while it plays. Only once have I see that go away, and then everything ran okay.
> 
> I can still reboot into OSX Mavericks on a separate disk, and when I do that it all runs fine, as it did before.
> 
> Both Mac versions are running streambaby .30 under Java 1.7.0_51. The files that have the most trouble are .mp4's. I might add that I use the SD menu, not HD, but as I said that still works fine with Mavericks. I upgraded to .40 and threw in the latest ffmpeg as well, but with no further success.
> 
> Here's my log:
> <snip>
> 
> Thanks for any help,
> 
> Rob from AZ





moyekj said:


> The log above simply shows initial launch of streambaby and looks normal. I don't see any connection attempts or video folder traversal, etc. If the slowness is subsequent to launch I would suspect ffmpeg issue related to new OS.


Okay, I fixed it and for anyone else with the issue of sluggishness related to the initializing of the gui or subsequent ffmpeg decoding, what I did was:

1. Reset the PROM by holding down CMD-OPTION-P-R at bootup

2. Reloaded Yosemite from the Recovery Option (hold down CMD-R at startup)

I am not sure which of these did the trick, because I did not check between the first and second step, but the change was dramatic. Now I am sailing through the GUI to Top Level with no hesitation or error messages and the transcoding happens fairly quickly, relatively speaking.

Thanks,

Rob


----------



## confinoj

I can't seem to get my plex database to show up. I get the following message in terminal when I access stream baby from my Roamio:
12/29/14 22:37:21 Plex: 312 ERROR: getXmlDocument error - Connection refused
12/29/14 22:37:21 Plex$1backgroundRun: 54 ERROR: Failed to query Plex server: http://10.0.1.3:23257

Any idea what I'm doing wrong? Running on OS X 10.10.1, oracle java 8 update 25, roam basic.

Thanks


----------



## moyekj

confinoj said:


> I can't seem to get my plex database to show up. I get the following message in terminal when I access stream baby from my Roamio:
> 12/29/14 22:37:21 Plex: 312 ERROR: getXmlDocument error - Connection refused
> 12/29/14 22:37:21 Plex$1backgroundRun: 54 ERROR: Failed to query Plex server: http://10.0.1.3:23257
> 
> Any idea what I'm doing wrong? Running on OS X 10.10.1, oracle java 8 update 25, roam basic.
> 
> Thanks


What happens when you try url listed in error message in a web browser?


----------



## confinoj

moyekj said:


> What happens when you try url listed in error message in a web browser?


I can't navigate to that page. I did realize that the port was wrong (I think I was using the external port, not the internal one). However it still didn't work. When I actually open up Plex it comes up with a different IP than the machine it's actually running on so I tried that. I can navigate to that address but still no luck with stream baby. This is what I get in terminal:

12/30/14 08:59:27 Plex: 312 ERROR: getXmlDocument error - Server returned HTTP response code: 401 for URL: http://127.0.0.1:32400/library/sections
12/30/14 08:59:27 Plex$1backgroundRun: 54 ERROR: Failed to query Plex server: http://127.0.0.1:32400

On a separat issue I can't get videos to play the AC3 track. My videos have all been encoded by handbrake using apple tv 3 preset. Works fine via Apple TV or Plex. Do I need to put anything in the settings file to enable this?


----------



## moyekj

127.0.0.1 is localhost and will only work on host running Plex. You need to supply the router assigned IP # which in your case may be 10.0.1.3:32400.

For AC3 issue I would need to see debug log posting to get more details on what is happening, but I know that TiVo can be picky if you have more than 1 audio track and AC3 is not the 1st one.


----------



## confinoj

moyekj said:


> 127.0.0.1 is localhost and will only work on host running Plex. You need to supply the router assigned IP # which in your case may be 10.0.1.3:32400.
> 
> For AC3 issue I would need to see debug log posting to get more details on what is happening, but I know that TiVo can be picky if you have more than 1 audio track and AC3 is not the 1st one.


Router assigned IP is what I first tried (10.0.1.3:32400). As mentioned I did have the port wrong at first but then changed it to correct one. Streambaby is running on the same machine as plex. I tried again and I again get:
Server returned HTTP response code: 401 for URL

As for AC3 all my files have AAC and AC3 with AAC as default (this is what handbrake ATV preset on handbrake does) so that may be the issue. Not a big deal as I probably will mostly use it on TV without an AV receiver.


----------



## moyekj

So what does http://10.0.1.3:32400/library/sections return in a browser?
Error code 401 means authentication issue which means perhaps you have your Plex server password protected or something along those lines.


----------



## confinoj

moyekj said:


> So what does http://10.0.1.3:32400/library/sections return in a browser?
> Error code 401 means authentication issue which means perhaps you have your Plex server password protected or something along those lines.


Authentication was the issue. I have a plex pass and had set up multiple users (Plex Home) which automatically turns on required authentication. I was able to allow local devices to connect without authentication and it works now. Thanks.


----------



## f4phantomii

As I'm home for a few days I have had the opportunity to tinker a bit more with streambaby.

Following the example in streambaby.ini wiki I have:

dir.1=/kids movies
dir.1.name=kids movies
dir.2=/not kids movies
dir.2.name=not kids movies
dir.2.password=foo

When I have the dir.2.password set, that directory is not listed under streambaby. I don't get a chance to enter a password as there is nothing to select.

I'm overlooking something simple...what is it?

I was also going to try throwing in a nice Hubble image as the background for streambaby. So I have:

background.image=/somepath/bg_image.png

With that set, streambaby just errors out. Does that option actually work? It looked like it might be a much older option that is no longer supported, but I could be wrong.


----------



## reneg

f4phantomii said:


> As I'm home for a few days I have had the opportunity to tinker a bit more with streambaby.
> 
> Following the example in streambaby.ini wiki I have:
> 
> dir.1=/kids movies
> dir.1.name=kids movies
> dir.2=/not kids movies
> dir.2.name=not kids movies
> dir.2.password=foo
> 
> When I have the dir.2.password set, that directory is not listed under streambaby. I don't get a chance to enter a password as there is nothing to select.
> 
> I'm overlooking something simple...what is it?


Press the clear key, it will bring up a password screen.


----------



## moyekj

version 0.41 released with new requested config option to disable selection screen side view if desired. See release_notes for details.


----------



## jfpga

Just now did my first install of Streambaby, wonderful product and thank you for the continued development.

Fooling around with the Plex server feature now and this feature isn't working atm.

"Plex episodic shows now folderized"

One big list in order of season and episode, is there anything I need to set in the .ini file to get this to work?


----------



## moyekj

jfpga said:


> Just now did my first install of Streambaby, wonderful product and thank you for the continued development.
> 
> Fooling around with the Plex server feature now and this feature isn't working atm.
> 
> "Plex episodic shows now folderized"
> 
> One big list in order of season and episode, is there anything I need to set in the .ini file to get this to work?


 How are the shows organized in your Plex video source folders? If there is no hierarchy there then that would explain it.


----------



## jfpga

Yep in folders, works fine in any of the multitude of Plex apps I own.


----------



## moyekj

Make sure you're running latest version of streambaby since initial PLEX implementation had no folders. If it works as expected each series should have its own folder with all episodes of all seasons flat inside each series folder.


----------



## jfpga

streambaby-0.41


----------



## jfpga

Rebooting the TiVo fixed the issue.

My Roamio is picking up Streambaby no problem, but my Premiere XL isn't. KTTMG didn't find it either so I had to manually add it via ip address. Can I do that with Streambaby?


----------



## jfpga

I spoke to soon, Plex folders are still not containing folders. Will restart PC to see if it clears up.

edit: not cleared up still.


----------



## moyekj

jfpga said:


> Rebooting the TiVo fixed the issue.
> 
> My Roamio is picking up Streambaby no problem, but my Premiere XL isn't. KTTMG didn't find it either so I had to manually add it via ip address. Can I do that with Streambaby?


 If the problem with Premiere is it doesn't show streambaby from its UI then rebooting HDUI will solve that:
Thumbs Down, Thumbs Up, Play, Play sequence from TiVo Central

For Plex issue please describe exactly what you are seeing. Do you see any folders at all once you enter a Plex share? Post here what the following returns for you in a browser:
http://PLEXIP:32400/library/sections


----------



## jfpga

Might it be that I run my Plex server via a Qnap NAS using their server software?


----------



## rondotcom

Forgive me if this is a stupid question, but I am just trying to learn. If I am using streambaby to watch programs on my NAS can I assume I am not ivolving the internet and my usage cap?


----------



## jcthorne

rondotcom said:


> Forgive me if this is a stupid question, but I am just trying to learn. If I am using streambaby to watch programs on my NAS can I assume I am not ivolving the internet and my usage cap?


you are correct, the data is flowing between your NAS and the Tivo, no internet traffic to speak of.


----------



## jfpga

<MediaContainer size="10" allowSync="0" identifier="com.plexapp.plugins.library" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1418766971" title1="Plex Library">

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="5" type="movie" title="Kids" composite="/library/sections/5/composite/1420413142" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="41f81d8b-5033-4de9-b608-1b1e503e59c9" updatedAt="1420413142" createdAt="1413825516"><Location id="5" path="/share/CACHEDEV1_DATA/Multimedia/Kids"/></Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="8" type="movie" title="Kids New" composite="/library/sections/8/composite/1420413143" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="fa4fb903-4004-4a62-925b-245a3ad53a79" updatedAt="1420413143" createdAt="1417147311"><Location id="8" path="/share/CACHEDEV1_DATA/Multimedia/Kids New"/>
</Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="10" type="movie" title="Movies Blu-Ray" composite="/library/sections/10/composite/1420413143" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="b5e6ad34-8452-4801-b1e7-75fa589486d2" updatedAt="1420413143" createdAt="1418006974"><Location id="11" path="/share/CACHEDEV1_DATA/Multimedia/Movies High Def"/>
</Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="9" type="movie" title="Movies New" composite="/library/sections/9/composite/1420413143" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="a3600a25-b2f1-4019-843c-53aa6d3d9bfc" updatedAt="1420413143" createdAt="1417147341"><Location id="10" path="/share/CACHEDEV1_DATA/Multimedia/Movies New"/>
</Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/movie.png" key="4" type="movie" title="Movies Old" composite="/library/sections/4/composite/1420414043" agent="com.plexapp.agents.imdb" scanner="Plex Movie Scanner" language="en" uuid="14502dd8-0545-4487-90de-062e1302da2c" updatedAt="1420414043" createdAt="1411714662"><Location id="4" path="/share/CACHEDEV1_DATA/Multimedia/Movies Old"/>
</Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/video.png" key="7" type="movie" title="TiVo" composite="/library/sections/7/composite/1420413144" agent="com.plexapp.agents.none" scanner="Plex Video Files Scanner" language="xn" uuid="597b871e-df3d-4841-b9a9-e1ebdc219099" updatedAt="1420413144" createdAt="1415705345"><Location id="7" path="/share/CACHEDEV1_DATA/Multimedia/TiVo"/>
</Directory>

<Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="1" type="show" title="TV New" composite="/library/sections/1/composite/1420413150" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="3761c499-a25f-4f8d-b3ff-c91ba0abb855" updatedAt="1420413150" createdAt="1411713627"><Location id="1" path="/share/CACHEDEV1_DATA/Multimedia/TV New"/>
</Directory>

<Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="3" type="show" title="TV Old" composite="/library/sections/3/composite/1420414057" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="85f65851-b9d4-432f-b981-090b861b07e8" updatedAt="1420414057" createdAt="1411714619"><Location id="3" path="/share/CACHEDEV1_DATA/Multimedia/TV Old"/>
</Directory>

<Directory allowSync="0" art="/:/resources/show-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/show.png" key="12" type="show" title="TV Shows Blu-Ray" composite="/library/sections/12/composite/1420414057" agent="com.plexapp.agents.thetvdb" scanner="Plex Series Scanner" language="en" uuid="eafdcd9d-8e88-45d0-b347-b3e3aa1dab66" updatedAt="1420414057" createdAt="1420403250"><Location id="13" path="/share/CACHEDEV1_DATA/Multimedia/TV Blu-Ray"/>
</Directory>

<Directory allowSync="0" art="/:/resources/movie-fanart.jpg" filters="1" refreshing="0" thumb="/:/resources/video.png" key="11" type="movie" title="UFC" composite="/library/sections/11/composite/1420413150" agent="com.plexapp.agents.none" scanner="Plex Video Files Scanner" language="xn" uuid="3e796ba5-3325-4da4-be33-4a8accf028e2" updatedAt="1420413150" createdAt="1420380993"><Location id="12" path="/share/CACHEDEV1_DATA/Multimedia/UFC"/>
</Directory>
</MediaContainer>


----------



## moyekj

jfpga, I just installed new Plex server on a new Windows 8.1 machine and folderizing is working for me. I'll have to take some time to generate a new version of streambaby for you to use with some debug information, because I can't reproduce your problems.


----------



## Legacy777

I just installed the latest version of Streambaby (0.41) and everything seems to be working ok. However I did have a random type question; under "Apps & Games" there is an old IP address & streambaby name from when I was running an older version on another computer. Is there a way to remove these old names from the listing in "Apps & Games"?

Thanks
Josh


----------



## moyekj

From TiVo Central try following sequence to reboot HDUI and refresh Apps & Games:
Thumbs Down, Thumbs Up, Play, Play
Else a TiVo reboot should do it.


----------



## Legacy777

moyekj said:


> From TiVo Central try following sequence to reboot HDUI and refresh Apps & Games:
> Thumbs Down, Thumbs Up, Play, Play
> Else a TiVo reboot should do it.


Thanks for the help! I had to do a TiVo reboot, however interestingly even though the old streambaby name went away the old IP address entry did not go away. I'm not sure if that was tied to an old TiVo desktop share....either way it doesn't seem to want to go away.

Thanks
Josh


----------



## moyekj

You may be able to select entry and press clear on remote to delete it.


----------



## Legacy777

moyekj said:


> You may be able to select entry and press clear on remote to delete it.


That worked! Thanks again for the help!

Josh


----------



## f4phantomii

f4phantomii said:


> ....
> 
> I was also going to try throwing in a nice Hubble image as the background for streambaby. So I have:
> 
> background.image=/somepath/bg_image.png
> 
> With that set, streambaby just errors out. Does that option actually work? It looked like it might be a much older option that is no longer supported, but I could be wrong.


Anyone able to give me a shove in the right direction here?


----------



## moyekj

f4phantomii said:


> Anyone able to give me a shove in the right direction here?


 You can replace assets/background-720.jpg in streambaby installation with your image (keeping same file name). Make sure the resolution is 1280x720.


----------



## kenham40

Is there any way to use more than one Plex Server with streambaby by chance?


----------



## moyekj

kenham40 said:


> Is there any way to use more than one Plex Server with streambaby by chance?


Not on same server, no.


----------



## f4phantomii

moyekj said:


> You can replace assets/background-720.jpg in streambaby installation with your image (keeping same file name). Make sure the resolution is 1280x720.


Wonderful! Works great. Thank you.

Even the kids were "wowed".


----------



## Largepuppy

Just found this link in my search to see if there was anyway to get TiVo to access my Plex server PC before I buy a TiVo. It looks like Streambaby may be the one and only way to do this. Can anyone confirm this? 

Alternatively, can TiVo (any model) adequately perform as a media home server if I transferred all of my MP4 files to a new TiVo? I love my Plex but I am not married to it if the TiVo can do the job.

I presently run a HTPC with a Ceton 6 TV card but since that relies on Windows Media Server this is less than optimum plus my cable card (Cox) barely works with it (can not receive all channels and many flicker with the refresh rate jumping between 29 ha and 50 hz). I am hoping that a new TiVo would play better with Cox cable.


----------



## moyekj

There's another Plex app out there that runs in TiVo Opera browser but is a pain to install and launch and requires you to sign up for an Opera developer account.
Aside from Streambaby, pyTivo is a good video server for TiVos that can be used to transfer any video to your TiVos.


----------



## Wil

Has anyone successfully run a newer Streambaby on a Mac running OS 10.6.8?

This is the highest OS I can run on an older mini with only a core duo. I am using the last Apple-supplied Java update (#17) for this type of machine, which will not take any kind of Oracle Java 7 or 8.

Here's my terminal screen:



> Initializing StreamBaby v0.41...
> 02/05/15 15:57:39 StreamBabyMain: 129 STARTING StreamBaby v0.41...
> Feb 5, 2015 3:57:39 PM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
> WARNING: closeMulticastSocket() Close socket exception
> java.net.SocketException: Can't assign requested address
> at java.net.PlainDatagramSocketImpl.leave(Native Method)
> at java.net.PlainDatagramSocketImpl.leave(PlainDatagramSocketImpl.java:232)
> at java.net.MulticastSocket.leaveGroup(MulticastSocket.java:341)
> at javax.jmdns.impl.JmDNSImpl.closeMulticastSocket(JmDNSImpl.java:311)
> at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:292)
> at javax.jmdns.impl.JmDNSImpl.init(JmDNSImpl.java:262)
> at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:218)
> at javax.jmdns.JmDNS.create(JmDNS.java:41)
> at com.unwiredappeal.tivo.streambaby.host.Main.<init>(Main.java:158)
> at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:141)
> 02/05/15 15:57:40 Listener: 125 added factory
> 02/05/15 15:57:40 Main: 275 MDNS: http://192.168.1.23:7290/streambaby/
> 02/05/15 15:57:40 Main: 276 streambaby ready & listening.
> 02/05/15 15:57:45 TiVoListener: 149 jmDns found TiVo: FL Tivo 8 s3, tsn: [my deletion]


 I have tried manually loading the appropriate Apple-hidden JavaAppletPlugin.plugin back where it belongs but that doesn't help. I'd make an effort to find an older Oracle Java, maybe a developers package pre-v7 if there's any thought that might help. Does the newer Streambaby run at all with a Java prior to 7?


----------



## moyekj

Wil, see this post:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=9646424#post9646424

You may need those symbolic links ("sudo ln -s ..." commands) for things to work properly on a Mac.


----------



## Wil

moyekj said:


> Wil, see this post:
> http://www.tivocommunity.com/tivo-vb/showthread.php?p=9646424#post9646424
> 
> You may need those symbolic links ("sudo ln -s ..." commands) for things to work properly on a Mac.


Thanks. I believe that's a Java 7 and all my attempts in that direction get me a CPU mismatch error. The Mac I'm trying this on is 32 bit.

I'll look at the link more carefully later on but it looks like something I've basically tried.

Older versions of Streambaby worked on various versions of Java 6 but it looks to me like the newer ones need 7?


----------



## moyekj

I'm pretty sure I compile using Java 5 compatibility, so current jar should run all the way back to Java 5. Note that the jar file is running on your system, so it's not a Java version related issue you are running into.


----------



## Wil

moyekj said:


> ...current jar should run all the way back to Java 5 ... it's not a Java version related issue you are running into.


It's not that the program doesn't RUN, it's just not running right. I can't upgrade Java as has been successful for others, because that's beyond this particular computer's pay grade.

But the earlier post here by TheWGP finally registered on me: workaround by running streambaby.jar directly rather than via the startup file. Works fine.

So, current Streambaby DOES work with Mac OS 10.6.8 on a Core Duo with the last Apple-Java update (1.6 #17) for this type of computer. But the startup script fails for some reason in that situation.


----------



## compubob

I cannot get streambaby to work on my Roamio here is my ini and batch files could someone please help


@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd




dir.1=d:\
tivo.MAK=xxxxxxxxxx
#dir.1.name=My Videos
#dir.2=/media/disk
#dir.2.name=External Drive
# Ip address to bind to
#ffmpeg.path="D:/streambaby/native/ffmpeg.exe"
# most people don't need to change this. 
#ip=192.168.1.121
# port to use
#port=7288
[email protected]
tivo.password=password


all I get is
streambaby is ready and listening and nothing shows up on Tivo

please help thanks in advance
btw have java 7 32 bit installed win 8.1 ports open on router, that's about pretty clean and new system


----------



## jcthorne

compubob said:


> I cannot get streambaby to work on my Roamio here is my ini and batch files could someone please help
> 
> @echo off
> set LAUNCHDIR="%CD%"
> pushd "%~dp0\native"
> java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8
> echo Exited.
> pause
> popd
> 
> dir.1=d:\
> tivo.MAK=xxxxxxxxxx
> #dir.1.name=My Videos
> #dir.2=/media/disk
> #dir.2.name=External Drive
> # Ip address to bind to
> #ffmpeg.path="D:/streambaby/native/ffmpeg.exe"
> # most people don't need to change this.
> #ip=192.168.1.121
> # port to use
> #port=7288
> [email protected]
> tivo.password=password
> 
> all I get is
> streambaby is ready and listening and nothing shows up on Tivo
> 
> please help thanks in advance
> btw have java 7 32 bit installed win 8.1 ports open on router, that's about pretty clean and new system


You need to edit that config file for your shares and directories. Remove the # from the begining of the lines you want streambaby to read. It ignores all lines that start with #


----------



## moyekj

compubob said:


> ...
> all I get is
> streambaby is ready and listening and nothing shows up on Tivo


After you start streambaby you then need to navigate to streambaby app on your TiVo to start the application, as described here:
https://sourceforge.net/p/streambaby/wiki/getting_started/

i.e. On your TiVo go to TiVo Central--Apps & Games and scroll down to "streambaby" and select it.


----------



## HarperVision

OK, I tried a search here with no results, then I started reading from page one and got to 12 but then decided I actually have a life and not enough time to waste reading through almost 3,100 posts, so here goes:

Can I use streambaby to stream a program from a remote TiVo across the WAN/internet? Yes they are the same MAK and same account. I transfer shows all the time but it takes awhile since the upload there is only max 12Mbps. It's not so bad for 1/2 hr to hour shows, but my main purpose is to basically make it like a Slingbox for my recorded Philly sports that usually end by the time I get home from work due to the time difference between HI and PA. 

I'm having issues with not getting more than 3.1Mbps when I sling from my 350 there, but it consistently get 12Mbps when I transfer from KMTTG and the web interface, so what I want to do is use streambaby directly from my recording using the same WAN IP and port that I use for downloading from KMTTG and the web interface. Yes I have also tried using the built in TiVo stream in my Plus but it also sux (I believe comcast is throttling home streaming apps personally, and have read the same), plus I want to watch on my TV not my iPad/iPhone. Mirroring with the newest app sux too. 

I already tried starting the download to my PC here first and then using streambaby locally, but it only plays to the point where the download was when I started streambaby and if I go back and resume it starts from the beginning and does it again. This is too much of a PITA as you can imagine. 

Any input, solutions and ideas are welcome!


----------



## jcthorne

HarperVision said:


> OK, I tried a search here with no results, then I started reading from page one and got to 12 but then decided I actually have a life and not enough time to waste reading through almost 3,100 posts, so here goes:
> 
> Can I use streambaby to stream a program from a remote TiVo across the WAN/internet? Yes they are the same MAK and same account. I transfer shows all the time but it takes awhile since the upload there is only max 12Mbps. It's not so bad for 1/2 hr to hour shows, but my main purpose is to basically make it like a Slingbox for my recorded Philly sports that usually end by the time I get home from work due to the time difference between HI and PA.
> 
> I'm having issues with not getting more than 3.1Mbps when I sling from my 350 there, but it consistently get 12Mbps when I transfer from KMTTG and the web interface, so what I want to do is use streambaby directly from my recording using the same WAN IP and port that I use for downloading from KMTTG and the web interface. Yes I have also tried using the built in TiVo stream in my Plus but it also sux (I believe comcast is throttling home streaming apps personally, and have read the same), plus I want to watch on my TV not my iPad/iPhone. Mirroring with the newest app sux too.
> 
> I already tried starting the download to my PC here first and then using streambaby locally, but it only plays to the point where the download was when I started streambaby and if I go back and resume it starts from the beginning and does it again. This is too much of a PITA as you can imagine.
> 
> Any input, solutions and ideas are welcome!


Will not do what you are asking. But..

You can set up kmttg to autodownload the recordings to your pc so they are ready for streambaby to stream pc to local tivo. Or have kmttg push them to the local tivo for you. IE auto transfer of sorts.


----------



## HarperVision

jcthorne said:


> Will not do what you are asking. But.. You can set up kmttg to autodownload the recordings to your pc so they are ready for streambaby to stream pc to local tivo. Or have kmttg push them to the local tivo for you. IE auto transfer of sorts.


It still takes hours to transfer something like a hockey game, but I'll certainly look into that option. So you think KMTTG can auto download to my local PC from a distant TiVo?

I thought I read that someone got network storage to work with streambaby, so could this be adapted using the WAN IP of the remote TiVo instead?

Does it not work because many have tried and failed, or has nobody really tried to configure it to do this? One thing is, when I create it as a directory in my ini file using the WAN IP and port, the folder shows up in streambaby, but it's empty. Seems so close, like it just needs the ID (TiVo) and PW (my MAK) to sign in and see the recorded shows list.


----------



## jcthorne

Transfer speed is dependant on your network. But if its slow enough to take 'hours' how would you expect it to stream in real time?

It cannot stream by way of streambaby any faster than tivo to tivo could even if this worked. Which it does not.

Yes, streambaby can stream streamable media files from a NAS drive but not from a remote tivo. Its looking for files on a drive. The tivo does not present itself as a network share.

Yes KMTTG can dl from a remote tivo if the network settings are right.


----------



## HarperVision

jcthorne said:


> Transfer speed is dependant on your network. But if its slow enough to take 'hours' how would you expect it to stream in real time? It cannot stream by way of streambaby any faster than tivo to tivo could even if this worked. Which it does not. Yes, streambaby can stream streamable media files from a NAS drive but not from a remote tivo. Its looking for files on a drive. Yes KMTTG can dl from a remote tivo if the network settings are right.


I'm talking about streambaby on my local PC configuring/transcoding the file that is on the remote TiVo and streaming it across the internet (WAN) rather than my local LAN. I didn't know that it required certain files on the external drive, be it on your LAN or WAN, to work.

I was trying to deduce that if a Slingbox and the TiVo stream can give a good image with lower bandwidths than what I get at 12Mbps, at say anywhere from 1-8Mbps, then why can't streambaby do the same? Yes, I know it can download from a remote TiVo. I've already established this and that's what I've been doing.

Which leads me to the next possible solution. If I start the download and let it build up a little, then start playing it locally from my pc's hard drive, is there a way to have it just continue to stream and play the file as it is downloading more and more content, a la' as a "buffer"? The current behavior is that it only plays to the point that was downloaded when I started the stream playing from my TiVo. And if so, which one is better to use, the TS or PS file?


----------



## jcthorne

HarperVision said:


> I'm talking about streambaby on my local PC configuring/transcoding the file that is on the remote TiVo and streaming it across the internet (WAN) rather than my local LAN. I didn't know that it required certain files on the external drive, be it on your LAN or WAN, to work.
> 
> I was trying to deduce that if a Slingbox and the TiVo stream can give a good image with lower bandwidths than what I get at 12Mbps, at say anywhere from 1-8Mbps, then why can't streambaby do the same? Yes, I know it can download from a remote TiVo. I've already established this and that's what I've been doing.
> 
> Which leads me to the next possible solution. If I start the download and let it build up a little, then start playing it locally from my pc's hard drive, is there a way to have it just continue to stream and play the file as it is downloading more and more content, a la' as a "buffer"? The current behavior is that it only plays to the point that was downloaded when I started the stream playing from my TiVo. And if so, which one is better to use, the TS or PS file?


The Slingbox or tivo stream accomplish quality at lower bit rates by transcoding to h264 on the fly. There is currently no way to intercept this stream from the tivo, the protocols are locked.

Kmttg can record from a slingbox but I have never done it. Streambaby does not stream anything FROM a tivo nor download FROM a tivo. Kmttg does.

On your last point, it might be possible to update streambaby to work directly with kmttg to start a download and know the final file size prior to completion and thus start streaming to the local tivo while kmttg finishes the download. It does not currently have this functionality. Sounds like a lot of work though.


----------



## HarperVision

jcthorne said:


> The Slingbox or tivo stream accomplish quality at lower bit rates by transcoding to h264 on the fly. There is currently no way to intercept this stream from the tivo, the protocols are locked.


I know. I'm not talking about intercepting the stream file. I'm talking about just selecting the regular file (TS/PS) that's on the TiVo, before any transcoding that a TiVo Stream or Slingbox may do to it, in essence starting a download to my local PC in which Streambaby can use locally to start streaming it locally to my Roamio Plus. (See NAS reply below)



jcthorne said:


> Kmttg can record from a slingbox but I have never done it.


I have and it works fairly well, but needs some sort of scheduling program.



jcthorne said:


> Streambaby does not stream anything FROM a tivo nor download FROM a tivo. Kmttg does.


I know and I understand that now after you mentioned needing files on the NAS.



jcthorne said:


> On your last point, it might be possible to update streambaby to work directly with kmttg to start a download and know the final file size prior to completion and thus start streaming to the local tivo while kmttg finishes the download. It does not currently have this functionality. Sounds like a lot of work though.


Ok thanks for your info and input, very valuable! 

Does anyone else know anything further they may be able to add or are there programmers out there that can make this work possibly, or if it's too difficult as jcthorne mentions?

Also, what's better for me to select when I'm using the web interface to download shows from my remotely located Roamio+, the TS (transport stream) or the PS (program stream) version?


----------



## merrickw

Can streambaby stream encrypted .tivo files? 

Or is it a minimum requirement to decrypt to mpg? 

Thanks


----------



## moyekj

merrickw said:


> Can streambaby stream encrypted .tivo files?
> 
> Or is it a minimum requirement to decrypt to mpg?
> 
> Thanks


 Yes, it uses tivodecode to decrypt (distributed by default with Windows and Mac installations) which works fine for PS .TiVo files. On Windows platforms command-line DirectShowDump is also included, so if you have at least a partial TiVo Desktop installation it can decrypt using DSD instead, which also works for TS .TiVo files.


----------



## merrickw

moyekj said:


> Yes, it uses tivodecode to decrypt (distributed by default with Windows and Mac installations) which works fine for PS .TiVo files. On Windows platforms command-line DirectShowDump is also included, so if you have at least a partial TiVo Desktop installation it can decrypt using DSD instead, which also works for TS .TiVo files.


Great - thanks! 
Yes, I'm using a good ole TiVoHD, and TiVo Desktop in installed (on an XP VM).

Can the filenames be left as .tivo or do they need to be renamed mpg?


----------



## moyekj

merrickw said:


> Can the filenames be left as .tivo or do they need to be renamed mpg?


 No need to rename.


----------



## merrickw

moyekj said:


> No need to rename.


Thanks again - I tested last night; both raw .tivo and decrypted (via videoredo) worked. However, the transfer was too slow to be watchable.

Is it the case that streambaby needs to work with smaller compressed files to perform in real-time? Or is it that the TiVoHD limits the transfer rate? Or maybe my network is too slow... (not wifi, moca bridges).


----------



## moyekj

TiVo HD units have always been dog slow for just about anything, but especially for video transfer to and from. You can probably get faster than real time transfers with H.264 video encodes.


----------



## jamesteixeira

Can the streambaby app be run from a Mini? It seems to somewhat work from my Roamio plus, but I get the 0xffff message from a Mini:

02/14/15 18:51:47 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\jteixeira\Documents\TIVO\streambaby\streambaby-0.41\native\ffmpeg.exe -ss 0.0 -i C:\Users\jteixeira\Videos\GangnamStyle1.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 tcp://127.0.0.1:8500
02/14/15 18:51:47 NamedStream: 119 DEBUG: Registering named stream: 67c4ac59-01e5-4bbb-96a2-70b3ae733ad3.stream
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi
02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
GangnamStyle1.avi


----------



## moyekj

jamesteixeira said:


> Can the streambaby app be run from a Mini? It seems to somewhat work from my Roamio plus, but I get the 0xffff message from a Mini:
> 
> 02/14/15 18:51:47 FFmpegExeVideoModule: 714 FFmpegCmd: C:\Users\jteixeira\Documents\TIVO\streambaby\streambaby-0.41\native\ffmpeg.exe -ss 0.0 -i C:\Users\jteixeira\Videos\GangnamStyle1.avi -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 30.0 -v 0 -threads 1 -qscale 1 -ab 192k -ar 44100 tcp://127.0.0.1:8500
> 02/14/15 18:51:47 NamedStream: 119 DEBUG: Registering named stream: 67c4ac59-01e5-4bbb-96a2-70b3ae733ad3.stream
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi
> 02/14/15 18:51:48 ViewScreen: 672 DEBUG: error=ERROR: 0xffff
> GangnamStyle1.avi


 No. See:
http://www.tivocommunity.com/tivo-vb/showthread.php?p=10351961#post10351961


----------



## jamesteixeira

moyekj said:


> You can't play on Mini since it has no buffer. Best you can do from Mini is initiate a transfer to a real TiVo and then use MRS to play it on the Mini. For that you have to supply your tivo.com login and password in the ini file (see Wiki pages for details).


What is MRS and why is the TiVo.com login information needed?


----------



## moyekj

jamesteixeira said:


> What is MRS and why is the TiVo.com login information needed?


MRS=Multi Room Streaming which is what Mini uses to stream shows from other TiVos.
tivo.com info is needed to push shows from a computer to a TiVo just like TiVo Desktop auto transfers or pyTivo pushes do it.

i.e. The workaround allows you to use streambaby on a Mini to initiate a transfer to a TiVo, then you can stream that transfer to the Mini just like any other recording.


----------



## jamesteixeira

So, when I try to play a video on a Mini, I can navigate Streambaby to the screen where it has the "Play" option. On this same screen is a "Push Video" option that has the name of my Roamio Plus. This is how you initiate the push?

Then, if successfully pushed, does it show up in the "My Shows" list?

This could be where the problem is, as I never see anything show up in "My Shows".


----------



## lpwcomp

jamesteixeira said:


> So, when I try to play a video on a Mini, I can navigate Streambaby to the screen where it has the "Play" option. On this same screen is a "Push Video" option that has the name of my Roamio Plus. This is how you initiate the push?
> 
> Then, if successfully pushed, does it show up in the "My Shows" list?
> 
> This could be where the problem is, as I never see anything show up in "My Shows".


Initiation of a push uses the TiVo servers, which is why streambaby needs your tivo.com login information.


----------



## moyekj

jamesteixeira said:


> So, when I try to play a video on a Mini, I can navigate Streambaby to the screen where it has the "Play" option. On this same screen is a "Push Video" option that has the name of my Roamio Plus. This is how you initiate the push?
> 
> Then, if successfully pushed, does it show up in the "My Shows" list?
> 
> This could be where the problem is, as I never see anything show up in "My Shows".


 If working it could take a couple of minutes for the transfer to start and be visible in My Shows.


----------



## jamesteixeira

It is not showing up in My Shows at all. The avi format files play OK on my roamio plus, although the first time they are played the video doesn't move. If I left arrow and click Resume Playing, they will play.

This program would be more useful to me if the videos could be played on the Mini's as I have 1 Roamio plus and 5 mini's.


----------



## srauly

I apologize, as I'm sure that this has been asked and answered several times before, but I've tried searching this thread, searching via Google, and reading the Streambaby Wiki, but I still can't find the answers to my questions, so I'm giving up and posting my question here.

I'm getting my TiVo Roamio Plus delivered on Monday. I've used XBMC and Plex for some time, and it's my understanding that Streambaby is like a Plex Media Server for TiVo. I have a bunch of movies I've ripped from Blu-ray discs using MakeMKV. These movies are in MKV format. I ripped the entire movie, no extras, with just the Dolby Digital or DTS (no HD audio) track. I have not done any further downconversion (e.g., I have not used Handbrake) so the movies are often around 15-25GB. The underlying video inside of the .mkv container will usually be h.264, but could be VC-1 or MPEG-2 HD. My computer has an Intel i7, so it has plenty of horsepower to handle on-the-fly transcoding/downconversion.

Using Streambaby, will I be able to play all of these movies on my Roamio? If some, but not all, which ones will be problematic?

Will the PQ look as good as the original? If not, how degraded will it be?

Will it play the DTS audio as DTS or will it convert it to some other 5.1 audio format?

I read something about there being an issue with a 1.1GB buffer on the TiVo. Does this mean that I will experience pausing/buffering?


----------



## moyekj

srauly:
* Should be able to play pretty much anything. Incompatible videos are transcoded on the fly.
* PQ is only identical if no transcoding. Transcoding is set to keep quality level close to original encoding so should be fine most of the time.
* DTS is not a supported audio encoding format, (compatible formats are AC3, AAC, mp2), so titles with incompatible audio will transcode.
* The 1.1 GB buffer issue has been resolved with the newer streambaby builds downloaded from Sourceforge site - just make sure you download from link in my sig instead of the old Google code location.


----------



## srauly

moyekj said:


> * The 1.1 GB buffer issue has been resolved with the newer streambaby builds downloaded from Sourceforge site - just make sure you download from link in my sig instead of the old Google code location.


Thanks for the quick reply. Yeah, I realized after posting that I was looking at the Wiki on the old download site. I then looked at the newer site, but still wasn't seeing my questions answered clearly, so thanks again for the reply.

Do you have experience with Plex? Is it safe to assume that the resulting transcoded PQ should be similar to what Plex is able to do for, say, an Apple TV? I believe that the Apple TV can play pretty high bitrate h.264 rips without downconversion, and even the downconverted stuff looks quite good.

Another question: If the source content is 24Hz (as is typical with most Blu-ray movies), does the end result on the TiVo playback at that rate as well? If so, that would be a nice benefit compared to the Apple TV and other devices which don't support 24Hz.


----------



## moyekj

For transcoding, original frame rate is preserved when possible. Plex uses a modified version of ffmpeg for transcoding, and streambaby uses ffmpeg, so transcoding result should be similar given same options. Streambaby default transcode options can be modified if necessary in streambaby.ini file if you don't like the quality you are getting.

If you read the Wiki carefully you will see you can point streambaby to a Plex server in streambaby.ini file. That's a new capability not extensively tested, but may be useful for you to try.


----------



## srauly

moyekj said:


> If you read the Wiki carefully you will see you can point streambaby to a Plex server in streambaby.ini file. That's a new capability not extensively tested, but may be useful for you to try.


Interesting. I just looked at the INI file section of your Wiki, and read the blurb about connecting to Plex, but can you elaborate on what that's intended to do? Is it just making use of the Plex metadata but still utilizing Streambaby to do the transcoding work, or would it use the Plex transcoding engine? If the latter, what might some of the pros/cons be?


----------



## moyekj

The Plex connection is just to get list of videos and their metadata. The streaming/transcoding is independent of Plex.


----------



## srauly

I just finished installing this and testing it out with my TiVo HD (Series 3?). My Roamio Plus is due to be delivered on Monday. The TiVo HD is hooked up via ethernet and, in fact, is hooked up to the same switch as my i7 server. I was a bit unsure in reading the instructions as to whether I needed to set a top level folder if I was using the Plex setting, so I left that commented out. When I first went into streambaby on my TiVo, I got an error about "no top level folder" (or something like that), but when I exited and reentered the app, it seemed to work and I was able to see all of my movies listed. Cool. The UI felt a bit clunky when moving to the next screen. Not sure if that's due to my now-ancient TiVo HD, or what.

I didn't ask you about format compatibility with the TiVo HD, so perhaps I experienced some issues due to that. The old Google code wiki has a video compatibility page, but your newer wiki on the Sourceforge page does not. The first movie I attempted was a VC-1 video with DTS soundtrack. After a short pause, the movie started up and looked great. I didn't hear any noise from my computer, suggesting that it might be streaming it without needing to do any transcoding/downconverting, but after a few seconds it paused. I hit play again and it played for a few more seconds and paused again. I then backed out and changed the video setting from Same to a lower setting and played it again. I watched it play for a couple of minutes without pausing. I could hear my computer's fan kick in, so I'm guessing it was putting the CPU to work (side note: I'm not sure why my Intel i7-2600k has to work so hard to play one stream such that the fan kicks in, but I've experienced this with Plex, too, so it's not streambaby-specific).

Exiting out of the app, I could still hear my computer fan going, so I checked on my computer and saw the ffmpeg process was still running at about a 50% CPU load. Hmm. I closed the streambaby terminal window. I can't remember if I then needed to also manually kill the ffmpeg process.

I later tried an h264 movie with Dolby Digital audio. Similar results. Movie paused right away. But after leaving it paused for several minutes, I see that it was loading into the buffer and I could then start playing it pause-free. Computer fan was going again. This is with "Same" quality, so I'm assuming that it was doing some transcoding/downconverting, as a fully compatible format should require minimal CPU usage, right? I'm guessing/hoping this is because I'm testing here with an old TiVo HD. Hopefully the Roamio won't require my CPU to kick in for too many things. This time, though, when I exited out of streambaby, I could hear my computer fan quiet down. I switched over to my computer and saw no sign of ffmpeg running. Cool.

All that said, it does look very impressive. Thanks for maintaining/improving this app!


----------



## moyekj

Roamio will be MUCH better than old S3 for streaming. It will build up buffer quick enough to where you don't have to deal with pauses because of delays, and the GUI will be more responsive.

To prevent streambaby generating thumbnails using ffmpeg (which it will do even if you stop playback), add following to your .ini:
preview.autogenerate=false
autogenerate.continue=false
This will prevent ffmpeg running when you are not streaming anything. I've had those settings forever so don't even think about thumbnails anymore.


----------



## srauly

Thanks for the tip. And, yeah, I didn't mention it in my last post, but I also wondered if the buffering problems might have had more to do with the TiVo HD having a slower ethernet port. Is that what you're suggesting was likely the cause of the initial pausing/buffering?


----------



## thewebgal

Streambaby (ver 0.41) has been working really well with a Roamio base and my macpro under Yosemite. I tried to switch to an alternative 1280x720 jpg wallpaper and pretty much just got a default black background. Except I now have the text for a search function overwriting my initial screen. I did the Down/Up/Play/Play restart sequence but that doesn't help it. Closing and restating the terminal/streambaby didn't change anything. Only thing that changes it is if I go back to the original background_720.jpg

Any ideas?


----------



## showpony

Hi,
Just wondering if anyone has seen this or knows how to fix it. Apparently, streambaby is killing my connection from my Roamio Pro to my router when I am streaming. Streaming works for a minute or so then the connection drops off. The only way to restore connection to the router is to 'modify wireless settings' and reselect my network, confirm the password, and finally to get DHCP automatically. The service is restored but then the cycle starts again when I try to use streambaby again. I have included the text from the streambaby window to hopefully help shed some light on the problem. Any help would be appreciated. I'm using the new v0.41 streambaby


02/23/15 13:14:03 Listener: 423 192.168.1.10 5a4c49b2-9f86-4490-b8d2-e292b754d10
6.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB
02/23/15 13:14:33 Listener: 114 connection to receiver closed
02/23/15 13:14:33 Listener: 438 192.168.1.10 I/O Exception handling HTTP GET 5a
4c49b2-9f86-4490-b8d2-e292b754d106.stream: Connection reset by peer: socket writ
e error
02/23/15 13:14:33 Factory: 504 HME receiver disconnected
02/23/15 13:14:33 JavaMP4Splitter$Splitter$1: 57 ERROR: IOException: java.io.IOE
xception: Pipe closed


----------



## jcthorne

showpony said:


> Hi,
> Just wondering if anyone has seen this or knows how to fix it. Apparently, streambaby is killing my connection from my Roamio Pro to my router when I am streaming. Streaming works for a minute or so then the connection drops off. The only way to restore connection to the router is to 'modify wireless settings' and reselect my network, confirm the password, and finally to get DHCP automatically. The service is restored but then the cycle starts again when I try to use streambaby again. I have included the text from the streambaby window to hopefully help shed some light on the problem. Any help would be appreciated. I'm using the new v0.41 streambaby
> 
> 02/23/15 13:14:03 Listener: 423 192.168.1.10 5a4c49b2-9f86-4490-b8d2-e292b754d10
> 6.stream HTTP GET - to factory /streambaby/
> NOTE: Buffer limit set to 20 GB
> 02/23/15 13:14:33 Listener: 114 connection to receiver closed
> 02/23/15 13:14:33 Listener: 438 192.168.1.10 I/O Exception handling HTTP GET 5a
> 4c49b2-9f86-4490-b8d2-e292b754d106.stream: Connection reset by peer: socket writ
> e error
> 02/23/15 13:14:33 Factory: 504 HME receiver disconnected
> 02/23/15 13:14:33 JavaMP4Splitter$Splitter$1: 57 ERROR: IOException: java.io.IOE
> xception: Pipe closed


Assign the Roamio a static IP address.


----------



## showpony

Thanks for the response jcthorne. The issue seems to have cleared itself up as I have been using it since my last post without issue. 

Just wondering though; how would assigning a static IP address correct the issue? I wonder if I should do that anyway to ward off any future problems? Please let me know what you think and how a static IP would help. Thanks!


----------



## srauly

My new Roamio Plus arrived today. Tonight I went to watch a Blu-ray rip from my collection. Video looked fine but there was a "stuttery" sound to the audio. Pausing and waiting for it to buffer didn't make a difference. The video was encoded as MPEG2 and audio was AC3.

I seemed to recall experiencing something similar in the past with XBMC and thought it might have been audio-related, so I later went into the TiVo audio settings and saw that it was set to "Use Dolby Audio". Since I was using this on my bedroom TV (no A/V receiver), I changed this to "PCM only (no Dolby)", but that didn't make a difference.

Any ideas?


----------



## Wil

moyekj said:


> Roamio will be MUCH better than old S3 for streaming. It will build up buffer quick enough to where you don't have to deal with pauses because of delays, and the GUI will be more responsive.


May possibly be the computer rather than the series 3.

In running streambaby on a two year old Mac Mini hooked to a S3, I have noticed no pauses, delays or lack of responsiveness. But at a vacation location I run it on an eight year old Mini, with an older OS and an older version of ffmpeg and usually have to pause for a minute or two before staring up.


----------



## jcthorne

srauly said:


> My new Roamio Plus arrived today. Tonight I went to watch a Blu-ray rip from my collection. Video looked fine but there was a "stuttery" sound to the audio. Pausing and waiting for it to buffer didn't make a difference. The video was encoded as MPEG2 and audio was AC3.
> 
> I seemed to recall experiencing something similar in the past with XBMC and thought it might have been audio-related, so I later went into the TiVo audio settings and saw that it was set to "Use Dolby Audio". Since I was using this on my bedroom TV (no A/V receiver), I changed this to "PCM only (no Dolby)", but that didn't make a difference.
> 
> Any ideas?


What is the audio bit rate and format for the audio track?


----------



## srauly

jcthorne said:


> What is the audio bit rate and format for the audio track?


Media Player Classic (on my WMC server) reports it as AC-3, 6 channel (5.1), 640Kbps, lossy (it's not HD audio). FWIW, my iPhone Plex app plays it fine, so Plex Media Server is able to transcode it for the iPhone without issue.


----------



## jcthorne

640kbps for AC3 is not a problem. Perhaps the video bitrate is too high, but I do not know the upper limit for MPeg2 video on a Roamio.


----------



## moyekj

The default audio bit rate is 192 Kbps for transcoding videos in streambaby. You may want to try the following in your .ini file to see if it makes any difference (i.e. changing audio bit rate to 640 Kbps):
ffmpegexe.transcode.sameqargs=-qscale 0 -ab 640k

You need to stop and re-start streambaby after any .ini change for it to take effect.


----------



## srauly

moyekj said:


> The default audio bit rate is 192 Kbps for transcoding videos in streambaby. You may want to try the following in your .ini file to see if it makes any difference (i.e. changing audio bit rate to 640 Kbps):
> ffmpegexe.transcode.sameqargs=-qscale 0 -ab 640k
> 
> You need to stop and re-start streambaby after any .ini change for it to take effect.


Unfortunately, that didn't have any effect. I also tried setting the quality level to a really low level and playing with the quality.2channel setting and that didn't impact anything, either.

I'll try more movies later to see if I can recreate the same behavior and find any sort of pattern.


----------



## moyekj

When you start the stream what does the streambaby console show for transcoding command? You can run ffmpeg manually using the same options to encode to a file, and then check playback on your PC to see if you notice a problem there.


----------



## srauly

OK, when I get a chance I'll give that a shot.


----------



## bmille05

Moyekj,

in an earlier post you referred to a new version release for Streambaby. Can you point me to version .39? I only see .29 on https://code.google.com/p/streambaby/downloads/list


----------



## moyekj

bmille05 said:


> Moyekj,
> 
> in an earlier post you referred to a new version release for Streambaby. Can you point me to version .39? I only see .29 on https://code.google.com/p/streambaby/downloads/list


 Link in my sig.


----------



## bmille05

Thank you! Apparently I don't have enough posts since I'm new to be able to view your link. NICE!!


----------



## moyekj

http://sourceforge.net/projects/streambaby/


----------



## tomhorsley

OK, I just tried to set this up on my fedora 20 box, and when I start streambaby this happens:



Code:


zooty> ./streambaby
Initializing StreamBaby v0.41...
03/07/15 22:16:25 StreamBabyMain: 129 STARTING StreamBaby v0.41...
03/07/15 22:16:25 Listener: 125 added factory
03/07/15 22:16:25 Main: 275 MDNS: http://192.168.2.99:7290/streambaby/
03/07/15 22:16:25 Main: 276 streambaby ready & listening.
Mar 07, 2015 10:16:26 PM javax.jmdns.impl.tasks.Prober run
WARNING: run() exception 
java.io.IOException: Operation not permitted
        at java.net.PlainDatagramSocketImpl.send(Native Method)
        at java.net.DatagramSocket.send(DatagramSocket.java:697)
        at javax.jmdns.impl.JmDNSImpl.send(JmDNSImpl.java:1130)
        at javax.jmdns.impl.tasks.Prober.run(Prober.java:171)
        at java.util.TimerThread.mainLoop(Timer.java:555)
        at java.util.TimerThread.run(Timer.java:505)

I've got java-1.7.0-openjdk-1.7.0.75-2.5.4.2.fc20.x86_64 on this system.

Any clues about how to get it to run?


----------



## moyekj

Looks like some kind of permissions problem. Perhaps a firewall issue? Try disabling firewall temporarily or giving Java access.


----------



## tomhorsley

moyekj said:


> Looks like some kind of permissions problem. Perhaps a firewall issue? Try disabling firewall temporarily or giving Java access.


Thanks for the clue! I didn't pay enough attention to the messages it printed. That 192.168.2.99 IP streambaby picked to bind to is a special bridge I have setup specifically to isolate a group of virtual machines from my local network. All access is denied there by the firewall. When I hard coded the correct IP in streambaby.ini, it started working perfectly.


----------



## osxanalyst

bmille05 said:


> Thank you! Apparently I don't have enough posts since I'm new to be able to view your link. NICE!!


i have the same problem. thanks for the direct link.


----------



## gweempose

I just discovered that there is a newer version of Streambaby available. I'm still using version v0.29. What is the easiest way to upgrade to the newer version?


----------



## moyekj

gweempose said:


> I just discovered that there is a newer version of Streambaby available. I'm still using version v0.29. What is the easiest way to upgrade to the newer version?


 Download latest zip file and extract it over the top of your existing installation.


----------



## gweempose

moyekj said:


> Download latest zip file and extract it over the top of your existing installation.


Awesome! Thanks, Kevin.


----------



## edjer123

The new Java 8 upgrade blows Streambaby out of the water with the error: <JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use -classpath instead. Java 7 still works fine.

Does anyone know if Streambaby will be updated to accommodate this? Not complaining, just curious. I don't really care about updating Java.

Just for the info, it also screws up kmttg.


----------



## moyekj

edjer123 said:


> The new Java 8 upgrade blows Streambaby out of the water with the error: <JAVA_HOME>/lib/ext exists, extensions mechanism no longer supported; Use -classpath instead. Java 7 still works fine.
> 
> Does anyone know if Streambaby will be updated to accommodate this? Not complaining, just curious. I don't really care about updating Java.
> 
> Just for the info, it also screws up kmttg.


 As I replied to your post in kmttg forum:
I updated to latest (Java 8, Update 40) and it still runs fine for me. Here's the version I'm running:
C:\home>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode, sharing)

So I would suggest there's something wrong with your Java 8 installation as it works fine for me for both streambaby and kmttg.


----------



## edjer123

moyekj said:


> As I replied to your post in kmttg forum:
> I updated to latest (Java 8, Update 40) and it still runs fine for me. Here's the version I'm running:
> C:\home>java -version
> java version "1.8.0_40"
> Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
> Java HotSpot(TM) Client VM (build 25.40-b25, mixed mode, sharing)
> 
> So I would suggest there's something wrong with your Java 8 installation as it works fine for me for both streambaby and kmttg.


Thank you, moyekj. I'll try again when I get the courage to update Java. Just one question. Are you running kmttg as a service? I'm not.


----------



## 6of5

Is there a way to display the MPAA ratings from metadata in the folder views? The synopsis and cover art show, but not the movie ratings.

Love this program!


----------



## 6of5

How do you toggle subtitles on/off? I can do it in other apps with the same mkv files but not streambaby. The zoom button doesn't do it ( I get a dialog graphic with a red stop sign). Using a Roamio and standard peanut remote.

Thanks.


----------



## moyekj

6of5 said:


> How do you toggle subtitles on/off? I can do it in other apps with the same mkv files but not streambaby. The zoom button doesn't do it ( I get a dialog graphic with a red stop sign). Using a Roamio and standard peanut remote.
> 
> Thanks.


 You have to extract captions to accompanying .srt captions file using ccextractor or other tool.
Ratings related metadata is not currently processed.


----------



## drdiags

I have installed the streambaby app from both it's git repo and the old google location. Since I only have a couple of posts, I am not able to determine if what I have is the latest (the current one I am trying is streambaby-20120828-2030). I understand TiVo's concern about spamming but kind of lame that one cannot even see URLs of work done by other members.

Anyway, I have a TiVo Roamio (step under Premium). No errors in the log file but no widget in TiVo Central under Apps & Games. I am running Java 1.7 but have Java 1.5-1.8 available through "alternatives".


----------



## drdiags

BTW, running Streambaby on CentOS 6.4 (good way to burn up the post count issue).


----------



## drdiags

This is probably a well-known TiVo issue. I note I have an icon that is listed as "CMC HME Down" and clicking on that tells me the app is down and check back later. Though it has been that way for awhile. 

So I think I just need to go do some more googling (tivo.com/help/V301)


----------



## moyekj

drdiags, the latest streambaby is at sourceforge (not git or google):
http://sourceforge.net/projects/streambaby/


----------



## HarperVision

drdiags said:


> I have installed the streambaby app from both it's git repo and the old google location. Since I only have a couple of posts, I am not able to determine if what I have is the latest (the current one I am trying is streambaby-20120828-2030).* I understand TiVo's concern about spamming but kind of lame that one cannot even see URLs of work done by other members. *Anyway, I have a TiVo Roamio (step under Premium). No errors in the log file but no widget in TiVo Central under Apps & Games. I am running Java 1.7 but have Java 1.5-1.8 available through "alternatives".


FYI, this forum is not owned, operated or run by TiVo.


----------



## wmcbrine

drdiags said:


> I understand TiVo's concern about spamming but kind of lame that one cannot even see URLs of work done by other members.


Just FYI -- this forum is not owned or run by TiVo Inc. (See the disclaimer at the bottom of the page.)


----------



## drdiags

Thanks. Didn't know this wasn't TiVo affiliated. Bad assumption on my part.

Missed the small print under the Header for the forum.


----------



## HarperVision

HarperVision said:


> FYI, this forum is not owned, operated or run by TiVo.





wmcbrine said:


> Just FYI -- this forum is not owned or run by TiVo Inc. (See the disclaimer at the bottom of the page.)


Wow, there really IS an echo in here.......in Here......here........ere.......re.......e......!


----------



## drdiags

May be known, but if I don't set the ip= in the streambaby.ini

I get this:

[[email protected] streambaby-0.41]$ ./streambaby
Initializing StreamBaby v0.41...
04/07/15 17:31:20 StreamBabyMain: 129 STARTING StreamBaby v0.41...
04/07/15 17:31:21 Listener: 125 added factory
04/07/15 17:31:21 Main: 275 MDNS: http++192.168.122.1:7290+streambaby+
04/07/15 17:31:21 Main: 276 streambaby ready & listening.

If I set ip=valid ip address, I get this

Initializing StreamBaby v0.41...
04/08/15 19:09:28 StreamBabyMain: 129 STARTING StreamBaby v0.41...
04/08/15 19:09:28 Listener: 125 added factory
04/08/15 19:09:28 Main: 275 MDNS: http:++192.168.1.243:7290+streambaby+
04/08/15 19:09:28 Main: 276 streambaby ready & listening.
04/08/15 19:09:34 TiVoListener: 149 jmDns found TiVo: Family Room, tsn: 848030nnnnnnnn

Not sure where that .122 came from. Maybe this will help someone?


----------



## drdiags

Streambaby up and running.

Two things I needed to finish off the deal.

1 - Was using a PuTTY ssh connection to my server to start up streambaby, got errors about X11 and $DISPLAY not being set when I tried watching my TV Shows and Videos. Fired up a VNC connection to the server and re-started streambaby in the x environment, all is good. Didn't realize I needed an X connection for the server to transcode correctly.

2 - For my Plex server content, I had to go remove my Plex PIN from the server to get rid of the HTTP 401 issue discussed earlier by others. 

Played MKV and MP4 files with no issues.

Good job!


----------



## SixString

I apologize in advance for my noobness. I just discovered Streambaby and would like to try it out on my older TivoHDs. I'm running Linux (Ubuntu 14.04LTS). I installed streambaby 0.41, put my video paths in the .ini file, and ran it in a terminal window.

The output says:

Initializing StreamBaby v0.41...
04/16/15 15:30:00 StreamBabyMain: 129 STARTING StreamBaby v0.41...
04/16/15 15:30:01 Listener: 125 added factory
04/16/15 15:30:01 Main: 275 MDNS: http://172.16.246.1:7290/streambaby/ 
04/16/15 15:30:01 Main: 276 streambaby ready & listening.

But I'm not seeing anything under Music, Photos, & Showcases nor under the Now Playing list.

I've been reading this thread and googling, but don't see wherein lies my problem. Can someone help?


----------



## moyekj

SixString, is 172.16.246.1 the correct IP of your Linux host running streambaby? If not you need to manually correct the IP to use by putting the following in your streambaby.ini:
ip=CORRECT IP HERE


----------



## megz1623

My streambaby will stream perfectly but when I choose to push so I can watch them on my mini it takes a long time for the video to begin downloading. Any ideas how incoukdnget the TiVo to start downloading immediately?


----------



## lpwcomp

megz1623 said:


> My streambaby will stream perfectly but when I choose to push so I can watch them on my mini it takes a long time for the video to begin downloading. Any ideas how incoukdnget the TiVo to start downloading immediately?


A push request has to go through the TiVo mind servers which is why it takes a while.


----------



## SixString

moyekj said:


> SixString, is 172.16.246.1 the correct IP of your Linux host running streambaby? If not you need to manually correct the IP to use by putting the following in your streambaby.ini:
> ip=CORRECT IP HERE


You da man! That fixed it.

Now...does anyone know if .tivo files are compatible? I keep getting a "Failed to open stream" error when I try playing them. I added this line to the ini file:

extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,tivo

but no joy. Thanks in advance.


----------



## moyekj

SixString said:


> You da man! That fixed it.
> 
> Now...does anyone know if .tivo files are compatible? I keep getting a "Failed to open stream" error when I try playing them. I added this line to the ini file:
> 
> extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,tivo
> 
> but no joy. Thanks in advance.


You need to tell streambaby where tivodecode is in .ini file, and also what your 10 digit MAK is:
tivodecode.path=xxx
tivo.MAK=xxx

(And the .TiVo files must be PS container, not TS container)

Also note that since you're using ancient series 3 platform HD .TiVo files may not stream quick enough in real time and hence may require many minutes of buffering before you start watching.


----------



## SixString

moyekj said:


> You need to tell streambaby where tivodecode is in .ini file, and also what your 10 digit MAK is:
> tivodecode.path=xxx
> tivo.MAK=xxx
> 
> (And the .TiVo files must be PS container, not TS container)
> 
> Also note that since you're using ancient series 3 platform HD .TiVo files may not stream quick enough in real time and hence may require many minutes of buffering before you start watching.


No luck. I installed tivodecode, verified it works, and put in the correct path to it ("tivodecode.path=/usr/local/bin/tivodecode"), but I'm still getting "Failed to open stream." I assume the files are in PS container since I uploaded them via kmttg without the TS option checked.


----------



## moyekj

Did you include the correct MAK? Did you stop and restart streambaby after making the .ini change? Turn on debug mode (see the Wiki) and post log if you still have trouble.


----------



## SixString

moyekj said:


> Did you include the correct MAK? Did you stop and restart streambaby after making the .ini change? Turn on debug mode (see the Wiki) and post log if you still have trouble.


Yes to all. I ran the debug option (thx for that tip) and discovered all my tivo files from my HD are, indeed, in TS mode (according to streambaby), even though kmttg says PS is the default format. (I didn't think HD units could even download in TS.)

I downloaded a video from my Premiere with kmttg and it works, so go figure. Sadly, the HD is our primary unit.

Question now is, can I convert my existing zillion tivo files from TS to PS? And can I force kmttg to use PS mode on my HD, or is that not possible (even though it claims that's the default)?


----------



## jcthorne

SixString said:


> Question now is, can I convert my existing zillion tivo files from TS to PS? And can I force kmttg to use PS mode on my HD, or is that not possible (even though it claims that's the default)?


Not to .tivo PS format but to .mpg

kmttg can do this for you by selecting groups of files, the decrypt and I would suggest QS fix.


----------



## moyekj

SixString said:


> And can I force kmttg to use PS mode on my HD, or is that not possible (even though it claims that's the default)?


 It's a global option for kmttg, so if you are using same kmttg session that worked for your Premiere then downloads from your HD should be PS format as well. You should run mediainfo on a .TiVo file from your HD to establish if it is indeed TS or PS container.


----------



## wmcbrine

SixString said:


> (I didn't think HD units could even download in TS.)


I don't think they can, except in Australia and New Zealand.


----------



## SixString

moyekj said:


> It's a global option for kmttg, so if you are using same kmttg session that worked for your Premiere then downloads from your HD should be PS format as well. You should run mediainfo on a .TiVo file from your HD to establish if it is indeed TS or PS container.


Hmm...mediainfo says they are, in fact, PS streams. But streambaby (in debug mode) says they are TS and gives me the Failed to Open Stream error.


----------



## moyekj

SixString said:


> Hmm...mediainfo says they are, in fact, PS streams. But streambaby (in debug mode) says they are TS and gives me the Failed to Open Stream error.


 Likely the problem is on Linux platform just using ffmpeg, streambaby wasn't able to properly determine the container for the .TiVo file. If you run the following in a command line for the HD TiVo file what does it return?
ffmpeg -i tivoFile


----------



## SixString

moyekj said:


> Likely the problem is on Linux platform just using ffmpeg, streambaby wasn't able to properly determine the container for the .TiVo file. If you run the following in a command line for the HD TiVo file what does it return?
> ffmpeg -i tivoFile


It gets about a bazillion errors.Here are a few representative examples:

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead. 
[mpeg2video @ 0x176c140] mpeg_decode_postinit() failure
Last message repeated 12 times
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=111021, dts=111022, size=4692
[mpeg2video @ 0x176c140] ignoring pic after 100
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 0
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 1
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 2
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 3
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 4
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 5
[mpeg2video @ 0x176c140] invalid mb type in I Frame at 0 6
[mpeg2video @ 0x176c140] ac-tex damaged at 0 7

...

[mpeg2video @ 0x176c140] concealing 3600 DC, 3600 AC, 3600 MV errors
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=120030, dts=120031, size=8180
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=129039, dts=129040, size=25122 
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=138048, dts=138049, size=14545 
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=147057, dts=147058, size=18328 
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=156066, dts=156067, size=29573  
[mpeg @ 0x176a1c0] Invalid timestamps stream=0, pts=165075, dts=165076, size=10634

...

Input #0, mpeg, from 'Crazy, Stupid, Love..TiVo':
Duration: 02:30:01.33, start: 0.492967, bitrate: 10705 kb/s
Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 38810 kb/s, 52.21 fps, 59.94 tbr, 90k tbn, 119.88 tbc
Stream #0.1[0x1bd]: Audio: eac3, 48000 Hz, 6 channels (FL|FR|LFE|BC), s16, 6912 kb/s
At least one output file must be specified


----------



## moyekj

From that output, the information is there to determine it's not TS .TiVo file. Since it's generating lots of errors though, how many seconds does it take for the ffmpeg command above to run? If it takes too long then that could be the problem.
It would be helpful if you can make debug log available somewhere for me to look at.


----------



## SixString

moyekj said:


> From that output, the information is there to determine it's not TS .TiVo file. Since it's generating lots of errors though, how many seconds does it take for the ffmpeg command above to run? If it takes too long then that could be the problem.
> It would be helpful if you can make debug log available somewhere for me to look at.


Okay, I sent you a PM with the streambaby log file. Thanks much!


----------



## moyekj

OK, that helped. I replied to your PM with a link to a revised streambaby for you to try.


----------



## SixString

moyekj said:


> OK, that helped. I replied to your PM with a link to a revised streambaby for you to try.


Cool, it now loads and plays my .TiVo files! A quick 10-minute beta test did reveal a couple of issues on those files, though. Other formats seem to work just fine.

The fast-fwd and "tick-mark" skip functions don't work. I get a blank preview box with the new time displayed in the middle, but when I click "Play" the video jumps back to the beginning instead of the new time, or even where I was when I started scanning. If I exit and then select "Resume play," it also starts back at the beginning.

Also, they play only in "Same" bitrate; lower rates get a "resource unavailable" error. Trying to stream at the "Same" bitrate, which can apparently be 17Mbps, will cause the video to pause when it "catches up" to the streaming point. Maybe that would work better if I could select a lower bitrate. Otherwise, I guess I'll have to let it buffer for quite a while.

Thanks for the great response time!


----------



## moyekj

TiVo files are not well suited for trick play functionality in streambaby unless you let the buffer build up long enough where you don't pass the buffer when skipping ahead. If you want full random access trick play functionality as you are getting with other types of files then you should decrypt them to .mpg. It's easy to decrypt in bunches using kmttg FILES tab. In kmttg after adding .TiVo files to FILES tab choose "metadata" and "decrypt" tasks only and resulting .mpg files will stream with full functionality in streambaby and the accompanying pyTivo metadata files will have all the metadata.

For the slow-to-buffer problem you'd be better off streaming to series 4 or later units since they can transfer files MUCH quicker than series 3 units.


----------



## SixString

moyekj said:


> TiVo files are not well suited for trick play functionality in streambaby unless you let the buffer build up long enough where you don't pass the buffer when skipping ahead. If you want full random access trick play functionality as you are getting with other types of files then you should decrypt them to .mpg. It's easy to decrypt in bunches using kmttg FILES tab. In kmttg after adding .TiVo files to FILES tab choose "metadata" and "decrypt" tasks only and resulting .mpg files will stream with full functionality in streambaby and the accompanying pyTivo metadata files will have all the metadata.
> 
> For the slow-to-buffer problem you'd be better off streaming to series 4 or later units since they can transfer files MUCH quicker than series 3 units.


Okay thanks. Streambaby doesn't work on Premieres does it? My Premiere doesn't see it.

Looks like it won't play MTS files, is that right? It rebooted my Tivo both times I tried.

Btw, great job on this program!


----------



## moyekj

Yes it works for any series 3 or later TiVo unit (S3, HD, Premiere, Roamio). Don't know what MTS is. For Premiere if you're not seeing it reboot the HDUI from TC using this combination:
Thumbs Down, Thumbs Up, Play, Play


----------



## SixString

moyekj said:


> Yes it works for any series 3 or later TiVo unit (S3, HD, Premiere, Roamio). Don't know what MTS is. For Premiere if you're not seeing it reboot the HDUI from TC using this combination:
> Thumbs Down, Thumbs Up, Play, Play


MTS is Sony's container for AVCHD videos. No biggie; I (eventually) edit them into MP4. Meanwhile, I changed my camera to record MP4 instead.

No joy on the reboot. Where should streambaby show up on the Premiere? I scanned all the menus but didn't see it.

Also, I password protected two of my directories; now they aren't appearing on my Tivo HD. I assumed they would still be there, but accessing them would bring up a text input screen. I still see my unprotected directory.

Thanks again.

[UPDATE] The log file shows my Family Rm tivo, but it isn't finding the Rec Rm tivo.

04/18/15 16:18:33 StreamBabyMain: 129 STARTING StreamBaby v0.42...
04/18/15 16:18:33 Listener: 125 added factory
04/18/15 16:18:33 Main: 275 MDNS: http://192.168.0.110:7290/streambaby/
04/18/15 16:18:33 Main: 276 streambaby ready & listening.
04/18/15 16:18:39 TiVoListener: 149 jmDns found TiVo: Family Rm, tsn: 652001180312EE7


----------



## moyekj

SixString said:


> No joy on the reboot. Where should streambaby show up on the Premiere? I scanned all the menus but didn't see it.


 See the Wiki:
https://sourceforge.net/p/streambaby/wiki/getting_started
You may have to choose "Enable Home Network Apps" if it's not already enabled.


----------



## moyekj

version 0.42 is now officially released with a couple of fixes:

Changed detection of .TiVo TS vs PS container detection to work more reliably
Avoid multiple threads running at once when refreshing browse mode right window pane


----------



## SixString

moyekj said:


> See the Wiki:
> https://sourceforge.net/p/streambaby/wiki/getting_started
> You may have to choose "Enable Home Network Apps" if it's not already enabled.


I finally solved it by finding a 4-year-old thread. I needed to turn on Multicast on the switch my Premiere is hooked to, then reboot the Premiere's GUI.

I still don't have the password-protected individual directories working. Everything else is shiny. Thanks for all the help.


----------



## rfryar

Anyone run through the service set up on windows 7 x64?

http://sourceforge.net/p/streambaby/wiki/WindowsServiceInstallation/

It installs the service, but it does not start. How do I best troubleshoot this?

From the wrapper log file when I set debug to true in the wrapper file:



Code:


STATUS | wrapper  | 2015/04/21 13:10:54 | Found #include file in C:\Program Files (x86)\streambaby-0.31\extra\service\conf\wrapper.conf: ../conf/wrapper-license.conf

STATUS | wrapper  | 2015/04/21 13:10:54 |   Included configuration file, C:\Program Files (x86)\streambaby-0.31\extra\service\win32\conf\wrapper-license.conf, was not found.

I tried to create an empty license file that it wanted and now the debug log just shows


Code:


STATUS | wrapper  | 2015/04/21 13:18:28 |   Loading included configuration file, C:\Program Files (x86)\streambaby-0.31\extra\service\win32\conf\wrapper-license.conf

Still does not start.

Rick


----------



## moyekj

Installing streambaby under c:\Program Files (x86) is asking for trouble since Windows is very restrictive about what can run there. I suggest installing streambaby elsewhere and trying again.


----------



## rfryar

rfryar said:


> Anyone run through the service set up on windows 7 x64?
> 
> http://sourceforge.net/p/streambaby/wiki/WindowsServiceInstallation/
> 
> It installs the service, but it does not start. How do I best troubleshoot this?


Solved. After figuring out all the debugging options (Why does the wrapper program have two file loggers??).. I saw it was not finding Java.

Updated the wrapper.conf to point at the actual java.exe location solved the issue.



Code:


wrapper.java.command=C:\Program Files\Java\jre6\bin\java


----------



## JeffTivoForum654

moyekj said:


> version 0.42 is now officially released with a couple of fixes:
> 
> Changed detection of .TiVo TS vs PS container detection to work more reliably
> Avoid multiple threads running at once when refreshing browse mode right window pane


First, Moyekj, thank you very much for your work on Streambaby! I can only image how hard it is to develop software in your "spare" time, and on top of that, do a fantastic job.

So, I'm trying to create a "wife friendly" interface to my ReadyNas Ultra. It has the ability to copy "KUID" video flagged on our Tivos, which help constant issue of space and we have entire season of TV archived on our ReadyNas. The issue is getting them back onto the Tivo. The transfer video function is very slow, and she basically has to decide the night before watching to transfer the show.
So I started looking at option (pytivo, streambaby) and found that streambaby really fits the bill, including the ability to watch home videos stored on our ReadyNas.

The issue I'm having with streambaby is its integration with detivodecode. I've got the Java environment all set up, and both Tivos can see the Tivo video (and mpgs) on the ReadyNas. I can selected them, but when I try to play them, it fails. At first I thought I'd messed up making the tivodecode (I'm on the .4.4 version) but then I tried to decode a Tivo file directly, and it worked, and I can stream it to the Tivo. After doing a bit of troubleshooting via the debug mode on streambaby, I think I've found the issue. Because the ReadyNas isn't a high powered device, it takes a minute + for tivodecode to decrypt the file. I think what's happening is streambaby is initiating the tivodecode process, but not waiting for the file dycryption process to be complete.

So, do you know if you've got a timer or a filewait in the Java to wait for the tivodecode to finish? If you don't, if it could be added, I think I'd have a completely working solution.

Thanks again!!


----------



## moyekj

tivodecode decrypts and outputs to stdout for .TiVo files, so it's on the fly decryption, so there is no waiting for whole file to decrypt. So unless tivodecode on your NAS is too slow for real time encoding it should work. You should test it out on a real computer to see if it's your NAS or tivodecode build for the NAS that's the problem.


----------



## JeffTivoForum654

moyekj said:


> tivodecode decrypts and outputs to stdout for .TiVo files, so it's on the fly decryption, so there is no waiting for whole file to decrypt. So unless tivodecode on your NAS is too slow for real time encoding it should work. You should test it out on a real computer to see if it's your NAS or tivodecode build for the NAS that's the problem.


Thanks for getting back to me so quickly Moyekj. I'll try to build a VM tomorrow with the ReadyNas's debian O/S and install streambaby and tivodecode tomorrow and see if there is a different behavior.

This is the error message I'm seeing in the debug log (repeated 6 times) which lead me to believe that tivodecode wasn't finishing the decrypt process quickly enough:

05/02/15 01:31:04 NamedStream: 101 DEBUG: Getting mapped stream for named stream: d333bb2c-7acc-4051-93f6-9bbb44e1eb5e.stream
_05/02/15 01:31:24 ViewScreen: 672 DEBUG: error=ERROR: resource unavailable Unwrapped - Disney Delights.TiVo_
...
05/02/15 01:31:33 ViewScreen: 912 DEBUG: code=4 rawcode=17039876


----------



## moyekj

Note that you must specify your 10 digit MAK correctly in streambaby.ini for tivodecode and tdcat to work:
tivo.MAK=10 digit number here

You also need to specify tdcat binary for obtaining metadata from .TiVo files:
tdcat.path=...


----------



## dchomak

Hi all
I am new to streambaby but not new to Tivo. I have been using Tivo almost from day 1 with DTV, however for the last 5 years or so I have had Cable Tivos. Presently I have 2 Premiers and a Roamio.

I have been using kmttg and pyTivo for a few years and they work well.
I set up streambaby and it works well too. I am absolutely thrilled with it. A couple of things I have noticed though is that SB doesn't "see" .m2ts files in the setup streaming paths. It will see them and play them perfectly though if they are merely renamed to .mpg, or .mp4 files with no other changes. SB will even stream the original uncompressed BluRay .m2ts files. If SB can handle these types of files, why not add that file extension to the list of recognized ones? Perhaps there other extensions that it can also handle that are not recognized?
Great job and I LOVE being able to have random access to the streamed file, that is, being able to FWD ahead of the stream.

Also, original .Tivo files stream but there is no FWD nor is the metadata displayed. Decrpted .Tivo files and the metadata .txt files do FWD and display.


----------



## moyekj

dchomak, a couple of settings in your streambaby.ini can resolve the issues you mentioned. For .m2ts file extension (I added m2ts at tend of current default list):
extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,wtv,m2ts

For metadata to show for .TiVo files and for better streaming they have to be decrypted by streambaby, which means you need to supply your 10 digit MAK:
tivo.MAK=10 digit number here


----------



## dchomak

Well, that was easy! If I was thrilled before, I'm ecstatic now.

Nowhere could I find and example .ini file with all possible entries. Is there one somewhere?


----------



## moyekj

dchomak said:


> Nowhere could I find and example .ini file with all possible entries. Is there one somewhere?


Wiki has a bunch of documentation including details on .ini entries:
https://sourceforge.net/p/streambaby/wiki/StreamBabyIni


----------



## jgantert

Finally got around to upgrading from .29 to .42. Lots of great features, thanks! 

One question tho, is there a way to apply the "ignore.names" flag to plex folders?


----------



## moyekj

jgantert said:


> One question tho, is there a way to apply the "ignore.names" flag to plex folders?


Currently that filter is not applied to plex files, but I'll consider it for a future update.


----------



## moyekj

Version 0.43 released with some minor changes:

Honor ignore.names setting in streambaby.ini for Plex titles
Updated "Please Wait" image
Added m2ts to list of default video file extensions recognized


----------



## jgantert

moyekj said:


> Version 0.43 released with some minor changes:
> 
> Honor ignore.names setting in streambaby.ini for Plex titles


This doesn't work for me, for directories (aka Plex Libraries). I was trying to ignore two Libraries, but they still show up.

UPDATE: Does work properly for files in Plex.


----------



## moyekj

jgantert said:


> This doesn't work for me, for directories (aka Plex Libraries). I was trying to ignore two Libraries, but they still show up.
> 
> UPDATE: Does work properly for files in Plex.


Since there are no folders in Plex you have to ignore at file level. You can use regex as in Wiki examples to ignore file names with common patterns.


----------



## vitamina

Just found this app recently. I don't know why I didn't know about it before. Unfortunately, now life without Streambaby is unimaginable. Last night, my wife told me that Streambaby wasn't working any more. Checked both TiVos, and my greatest fear was realized. I could see Streambaby in the App list, but upon trying to open it, it would either hang at the "One Moment" screen, or eventually time out with an error message. Tried restarting the TiVos, stopping and restarting the Streambaby service, uninstalling, reinstalling... I tried everything, to no avail. I wondered how I could go on without Streambaby. The pain was real. I refused to believe my Streambaby was gone. I searched for answers. Some Google-fu indicated Java might be an issue. Coincidentally, I had just updated to JavaRTE8u45. This had to be it! Uninstalled u45, downloaded u40, installed it, restarted everything just to be sure, and voila! With tears of joy, I write this post, hoping it may help others who are struggling with the loss of their beloved Streambaby find peace.

As a bonus, while looking for the solution I also discovered the revival version of Streambaby at SourceForge; I had been running the original version from Google Code. Bless you *moyekj*, for keeping this application alive. The TiVo Community owes you a huge debt of gratitude.


----------



## moyekj

FYI, I'm running streambaby 0.43 using Java version 8, update 45 without problems:
C:\home>java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b15)
Java HotSpot(TM) Client VM (build 25.45-b02, mixed mode)


----------



## vitamina

moyekj said:


> FYI, I'm running streambaby 0.43 using Java version 8, update 45 without problems


Must be something specific to my environment. I may try updating Java again, but for now, I'm just happy to have it working. I dare not tempt fate.


----------



## dchomak

I have been using streambaby now for a few weeks and I must say that it is the best and most compatible streaming app I have ever used. Works better than any streamer I have ever tried to DLNA compatible devices.
The search function is just so useful and that is an added bonus for sure, however on my system for some reason it often fails to give results unless I exit and re-enter several times. Unless I do it, it either returns results slowly, incompletely or not at all. I understand that if it is searching a sleeping drive one must allow for the time it takes to wake up, but this is not because of that.
Also, my PC is a 4 core and when streambaby is generating the preview thumbnails when watching a stream for the first time, ffmpeg runs full tilt on all 4 cores. I have about 500 videos that need preview thumbs generated. Is there an easy way to break out the module that does that so it could be run separately on all those videos? It would be nice to get that done and be done with it.
Also it would seem that the TiVo can not handle streamed files with DTS audio. As it is, I am converting all those audio tracks to AC3, but I wonder if SB could be configured to transcode on the fly, or is SB only intended to stream?


----------



## moyekj

You can turn off preview generation if you like (I always do):
preview.autogenerate=false
autogenerate.continue=false

I would expect videos with DTS audio to be transcoded on the fly automatically by streambaby, but I haven't tested that. The ffmpeg you are using with streambaby will need to be able to decode DTS audio for that to work. I don't have any sample videos with DTS to test with so if you can upload a short clip somewhere I could test it.

For search problem I'd need to see a debug log to probe further.


----------



## dchomak

I think you misunderstood me on the previews. I like the previews, I just wish there was a way to generate them ahead of time as all my videos do not yet have them. I knew about the switch to prevent them from beind generated.

I recently finished up decrypting my .Tivo files and extracting the metadata. That seems to have cleared up my search problems. Maybe the search function chokes on searching through the metadata while still contained in the .Tivo files? I had a lot of them.


----------



## dchomak

The following reply will contain a link to a short DTS file


----------



## dchomak

Link deleted


----------



## moyekj

That sample is 6 channel AC3 audio and mpeg2 video in m2ts container, and streambaby simply remuxes it to a compatible container. There's no DTS audio.


----------



## dchomak

Sorry I screwed up trying to find a short clip
Here is a short DTS clip
http://ppl.ug/Wr8IS-hMnZc/


----------



## lpwcomp

dchomak said:


> Sorry I screwed up trying to find a short clip
> Here is a short DTS clip
> http://ppl.ug/Wr8IS-hMnZc/


Data point: It works fine if I pull it to my Roamio via pyTivo.


----------



## Dixon Butz

dchomak said:


> I have been using streambaby now for a few weeks and I must say that it is the best and most compatible streaming app I have ever used. Works better than any streamer I have ever tried to DLNA compatible devices.
> The search function is just so useful and that is an added bonus for sure, however on my system for some reason it often fails to give results unless I exit and re-enter several times. Unless I do it, it either returns results slowly, incompletely or not at all. I understand that if it is searching a sleeping drive one must allow for the time it takes to wake up, but this is not because of that.
> Also, my PC is a 4 core and when streambaby is generating the preview thumbnails when watching a stream for the first time, ffmpeg runs full tilt on all 4 cores. I have about 500 videos that need preview thumbs generated. Is there an easy way to break out the module that does that so it could be run separately on all those videos? It would be nice to get that done and be done with it.
> Also it would seem that the TiVo can not handle streamed files with DTS audio. As it is, I am converting all those audio tracks to AC3, but I wonder if SB could be configured to transcode on the fly, or is SB only intended to stream?


SB converts DTS and DTS-HD to DD on the fly. No need for you to convert.


----------



## dchomak

Yeah, pyTiVo pulls it for me too.
MediaInfo reports the original DTS file audio as 755 Kbps, 48Khz 6 channel DTS. After pulling it to the Tivo and then bringing it back with kmttg , MediaInfo reports the audio as 448 Kbps, 48KHz 6 channel AC3. So pyTiVo transcodes the audio on the fly.


----------



## moyekj

dchomak said:


> Sorry I screwed up trying to find a short clip
> Here is a short DTS clip
> http://ppl.ug/Wr8IS-hMnZc/


 Using this sample I confirm streambaby is not transcoding the DTS audio to AC3 and so result is video but no audio. I'll have to look into it.


----------



## moyekj

dchomak said:


> Sorry I screwed up trying to find a short clip
> Here is a short DTS clip
> http://ppl.ug/Wr8IS-hMnZc/





moyekj said:


> Using this sample I confirm streambaby is not transcoding the DTS audio to AC3 and so result is video but no audio. I'll have to look into it.


OK, version 0.44 is now released with a fix to transcode mpeg2 video with DTS audio. Previously streambaby was assuming anything with mpeg2 video just needed at most a container remux regardless of audio.


----------



## dchomak

I just installed 0.44 and all is well. DTS videos decode and stream perfectly!


----------



## dchomak

Perhaps when you get time you could look into this.
Dolby Digital Plus has a bit rate of 640K which I understand the TiVo can not handle. Here is a 640K AC3 6 channel file that SB doesn't transcode and the TiVo doesn't play the audio. I can use pyTiVo to pull this file to the TiVO and the audio plays. When I bring it back to the PC with kmttg it is 448K AC3. So once again pyTiVo transcodes the audio.

640K AC3 Test 2.m2ts 
http://ppl.ug/yHSY4j5315M/


----------



## moyekj

dchomak said:


> Perhaps when you get time you could look into this.
> Dolby Digital Plus has a bit rate of 640K which I understand the TiVo can not handle. Here is a 640K AC3 6 channel file that SB doesn't transcode and the TiVo doesn't play the audio. I can use pyTiVo to pull this file to the TiVO and the audio plays. When I bring it back to the PC with kmttg it is 448K AC3. So once again pyTiVo transcodes the audio.
> 
> 640K AC3 Test 2.m2ts
> http://ppl.ug/yHSY4j5315M/


 OK just released version 0.45 which will transcode if audio bit rate > 480 Kbps.
(My Roamio Pro actually did play the audio in your clip, but it was choppy and broken up).


----------



## f4phantomii

I have a few movies I've converted where the aspect ratio isn't quite right.

I've tried using ffmpeg to remux to the correct aspect ratio, but can't get that working properly, or perhaps the TiVo (Premiere) or stream baby doesn't recognize DAR/SAR?

Is there something else I can try short of a complete reconvert from source?


----------



## moyekj

Streambaby won't modify aspect ratio if it does transcode or remux, so likely it's either the Premiere or TV settings that are messing you up, or some funky non-standard aspect ratio.


----------



## dchomak

f4phantomii said:


> I have a few movies I've converted where the aspect ratio isn't quite right.
> 
> I've tried using ffmpeg to remux to the correct aspect ratio, but can't get that working properly, or perhaps the TiVo (Premiere) or stream baby doesn't recognize DAR/SAR?
> 
> Is there something else I can try short of a complete reconvert from source?


in my setup both the TiVo and my TV have settings that can change to display. I have found that it is possible to have combinations of the 2 that make it impossible for certain videos to display with a correct aspect ratio.
Currently I have my TiVo Premiere set to "Panel (letterboxing/sidebars)" and my Samsung TV set to "Fit Screen"

Other TV's will call that mode by other names.

What "Fit Screen" means is that a 1920x1080 video will be displayed pixel for pixel on your screen. For the best video, that is what you want anyway. Any other mode on the TV, like zoom, etc will not display your video pixel for pixel and it won't look as sharp.

Anyway, those 2 modes are a good starting point. You may want to change something later, but remember those 2 modes as a starting reference.

Just to be clear, when I set my TiVo screen to something like "Full" and my TV to "16x9" there are videos that I have that will not display with the correct aspect ratio. No matter how I reencode them.

I hope this works for you.


----------



## lpwcomp

Most of the time , the correct settings are "Panel" on the TiVo and "Standard' (or whatever is the equivalent on your TV) . If anything but a 16x9 video is filling your 16x9 screen, then it is distorted.


----------



## dchomak

lpwcomp said:


> Most of the time , the correct settings are "Panel" on the TiVo and "Standard' (or whatever is the equivalent on your TV) . If anything but a 16x9 video is filling your 16x9 screen, then it is distorted.


You are exactly right in what you are saying.

I believe if you set the TiVo to "panel" AND 16x9 (a second setting in the menu), the TiVo when playing something other than a 1920x1080 video, will send that video within a 16x9 panel which will then completely fill your TV screen. For instance, a 4 by 3 video will be sent as a 16x9 with the 4 by 3 portion in the center with side bars to the left and right.

Now each TV has a different name for it, but on mine its called "fit screen" I want that 16x9 panel from the TiVo to fill my 1920x1080 screen exactly. On my set if I choose what Samsung calls "16x9", The video sent from the TiVo more than fills the screen. In other words it is slightly zoomed in and I don't get that pixel for pixel sharpness.
But like I said, each TV manufacturer has different names for their screen modes.


----------



## alleybj

Can someone point me to some (relatively) simple instructions as to how to set up Streambaby? I've downloaded the software and extracted it, but it seems that the next thing to do is to edit the streambaby.ini file. I have no idea where that is or how to do it. thanks!


----------



## jcthorne

The streambaby.ini file is in the directory where you installed streambaby. In windows, right click the file and then select 'edit'


----------



## alleybj

moyekj said:


> Note that you must specify your 10 digit MAK correctly in streambaby.ini for tivodecode and tdcat to work:
> tivo.MAK=10 digit number here
> 
> You also need to specify tdcat binary for obtaining metadata from .TiVo files:
> tdcat.path=...


Hi, can you tell me what is supposed to be entered following tdcat.path=...[/QUOTE] ? Or is it entered exactly as written?

does tivodecode need an entry as well?

thanks


----------



## reneg

alleybj said:


> Hi, can you tell me what is supposed to be entered following tdcat.path=... ? Or is it entered exactly as written?
> 
> does tivodecode need an entry as well?
> 
> thanks


Explanations for tdcat.path & tivodecode.path are located here: https://sourceforge.net/p/streambaby/wiki/StreamBabyIni/

Getting started with Streambaby is located here: https://sourceforge.net/p/streambaby/wiki/getting_started/


----------



## alleybj

Thanks for all of the help, everyone. One, hopefully, last question. Has the inability to fast forward past the buffer in a .Tivo file (and to retain your location in a file when you go back to watch it again) been addressed or must the .Tivo file be converted for that functionality?


----------



## moyekj

alleybj said:


> Thanks for all of the help, everyone. One, hopefully, last question. Has the inability to fast forward past the buffer in a .Tivo file (and to retain your location in a file when you go back to watch it again) been addressed or must the .Tivo file be converted for that functionality?


 streambaby will now try and decrypt .TiVo files so they are fully functional for streaming just like any other file. So obviously you need to supply the 10 digit MAK for that to work. On Windows and Mac the paths to tivodecode/tdcat etc. don't need to be specified as they are installed automatically. For Linux you need to configure them manually.


----------



## alleybj

moyekj said:


> streambaby will now try and decrypt .TiVo files so they are fully functional for streaming just like any other file. So obviously you need to supply the 10 digit MAK for that to work. On Windows and Mac the paths to tivodecode/tdcat etc. don't need to be specified as they are installed automatically. For Linux you need to configure them manually.


Thank you! I've added the MAK and rebooted everything, but I'm still not able to fast forward .Tivo files or save my place. Any suggestions? I'm running Windows 7


----------



## moyekj

alleybj said:


> Thank you! I've added the MAK and rebooted everything, but I'm still not able to fast forward .Tivo files or save my place. Any suggestions? I'm running Windows 7


 I would need to see a debug log to see what's going on:
https://sourceforge.net/p/streambaby/wiki/debugging_problems/

Make sure that you're not defining path to tivodecode in streambaby.ini or if you are that it is correct.


----------



## alleybj

moyekj said:


> I would need to see a debug log to see what's going on:
> https://sourceforge.net/p/streambaby/wiki/debugging_problems/
> 
> Make sure that you're not defining path to tivodecode in streambaby.ini or if you are that it is correct.


Thank you! I sent you a private message with the debug log.


----------



## moyekj

alleybj said:


> Thank you! I sent you a private message with the debug log.


 OK thanks. From the log it IS using tivodecode but you're right that FF beyond buffer and remembering pause point are not working - probably remnants from days when TiVo files were not decrypted. I'll have to look into it when time permits. Ironically, TS container .TiVo files on Windows platform do work with those features the way I implemented it.


----------



## alleybj

moyekj said:


> OK thanks. From the log it IS using tivodecode but you're right that FF beyond buffer and remembering pause point are not working - probably remnants from days when TiVo files were not decrypted. I'll have to look into it when time permits. Ironically, TS container .TiVo files on Windows platform do work with those features the way I implemented it.


Thanks!


----------



## dchomak

I just want to add that I have now been using SB for a couple of months and it works flawlessly. Most reliable streaming app I have ever used on any platform! Simple and easy to use with no issues.

It still would be nice if the thumbnail generator could be broken out so it could be optionally used to generate all the thumbnails separately for first time users of SB. Of course it should still be imbedded in the SB app so that new videos get thumbnails generated automatically.

Also, I am currently using the mp3 streamer that is included in TiVo Desktop. It works well and I like the way it will just cue up any mp3's below the chosen mp3 in a directory. No need to create playlists. I also like the way it allows one to browse other directories while it plays the current selection. The only thing missing is a search function.
How hard would it be to create a SB type mp3 streamer with the included search? With TiVo Desktop, the ability to play an mp3 while hunting down another is very nice.


----------



## thewebgal

SourceForge seems to be having problems right now - (since yesterday evening) ... 
can't get to downloads - will check back later ...

http://sourceforge.net/projects/streambaby/files/latest/download

Okay Sat 7/18 at 00:10 - SourceForge is working again, grabbed ver 0.45 - 
will check it out later ...


----------



## thewebgal

I had tried the El Capitan beta and it cobbled some things up, so I restored back to an early boot drive, then found Streambaby no longer worked and SourceForge was down. But this morning I was able to grab the latest ver, 0.45, unpacked and installed it, and it didn't look right. I re-read some older posts here, and figured I had to run the 2 Sudo commands again.
So I closed the terminal, re-ran the Sudo commands, and when the terminal still didn't "look right", I then closed that terminal window, and restart the Streambaby "app" on the mac - (Yosemite 10.10.4) and now its working again ...

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java" /usr/bin/java

sudo ln -sf "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/javaws" /usr/bin/javaws


----------



## bigalo

I have StreamBaby v0.45 installed on a windows 7 64-bit (x64) system. 
I have four Series 3 HD TiVo's (3x 320GB and a 160GB). 
I run pyTivo on a Windows Server 2008 R2, which is great for serving up movies and TV shows from other sources.

However, I have discovered through this thread (and others) a TiVo system update specific to AU and NZ some time ago now broke the streaming capabilities of Streambaby --> TiVo.

I know this issue has been raised years ago, and with the expertise included in this forum in particular that if there is a resolution to this issue it has likely been revealed here. I have skimmed through this thread in some detail, however it has become quite long now and therefore time consuming to go through in detail.

Has this issue ever been resolved? 
Is there any sort of work around or alternative (to Streambaby)?
Should I just give up on the streaming to AU TiVo's?

Any insight is appreciated.


----------



## thewebgal

I got my reinstalled copy (latest ver, 0.45,) working pretty well - (Mac OSX Yosemite & TIVO Roamio) but some of my mp4 files don't play, others play fine ... can you give me some suggestions on how to troubleshoot it? Some files that played before don't play now 
- maybe I need some codec that has expired?


----------



## gliobene

_Reposting in the right thread:_

I am wondering if streaming from ftp sites (anonymous or not) is supported by StreamBaby.
I have entered dir.1=ftp://username[email protected]/, which doesn't seem to work.
OTOH, you can stream external files by using dir.2=//RT-AC68U/... Is NAS implementation all that different from FTP?
Has anyone managed to get ftp to stream?
Thanks in advance


----------



## moyekj

gliobene said:


> _Reposting in the right thread:_
> 
> I am wondering if streaming from ftp sites (anonymous or not) is supported by StreamBaby.
> I have entered dir.1=ftp://username[email protected]/, which doesn't seem to work.
> OTOH, you can stream external files by using dir.2=//RT-AC68U/... Is NAS implementation all that different from FTP?
> Has anyone managed to get ftp to stream?
> Thanks in advance


No. Ftp protocol completely different than network shares and not supported.


----------



## gliobene

gliobene said:


> I am wondering if streaming from ftp sites (anonymous or not) is supported by StreamBaby.





moyekj said:


> No. Ftp protocol completely different than network shares and not supported.


Thanks. Think masking the FTP protocol by mapping it as a local drive with something like FtpUse or NetDrive could fool SB?


----------



## shawnaruch

Hi - I'm getting an error when pushing to my Tivo -

07\26\15 13:38:50 Mind: 356 ERROR: ERROR: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure - https:\\mind.tivo.com:8181\mind\login
07\26\15 13:38:50 InternalPush: 65 ERROR: Failed to login to tivo-push-control: XXXXXXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX

Streaming works fine.

Full debug log attached.

Using 0.45


----------



## ramiss

Yes, FTP is a completely different protocol (special commands for sending and retrieving files etc). Since streambaby doesn't know the protocol it won't work.

NAS doesn't require any special protocol since it layers on top of the standard OS file system protocol.

Sent from my SCH-I605 using Tapatalk


----------



## thewebgal

Still playing with Streambaby on my Base Roamio with a macpro upstairs on Yosemite 10.10.4

Some mp4 files play, some mp4 files do not ...

Anyone have tips on codecs to install in Yosemite?

Seems like the PERIAN multi-module is deprecated ...


----------



## moyekj

thewebgal said:


> Still playing with Streambaby on my Base Roamio with a macpro upstairs on Yosemite 10.10.4
> 
> Some mp4 files play, some mp4 files do not ...
> 
> Anyone have tips on codecs to install in Yosemite?
> 
> Seems like the PERIAN multi-module is deprecated ...


Try following in ini file:
mp4module.interleave=false


----------



## thewebgal

moyekj said:


> Try following in ini file:
> mp4module.interleave=false


Thanks - I made the change, restarted streambaby (new terminal window) went downstairs, and no change.

I just checked and confirmed the file does play just fine directly on my macPro with VLC - but when I streambaby it to the TIVO - it just sits at the zero point and never loads or plays.


----------



## moyekj

must be incompatible mp4 then. If you select different quality to play it will transcode and should play fine.


----------



## thewebgal

moyekj said:


> must be incompatible mp4 then. If you select different quality to play it will transcode and should play fine.


Interesting - the mp4 video that's problematic is 1024k - if I set it down to 512k, 
it plays but its rough looking. Sadly, I'm not interested in watching at that reduced an image quality ...
Wish there was another way to force/transcode it.


----------



## moyekj

thewebgal said:


> Wish there was another way to force/transcode it.


There is:
https://sourceforge.net/p/streambaby/wiki/QualitySettings/


----------



## sbh2squared

Hi - I'm glad to find this thread. I didn't realize anyone was still using Streambaby, and I'm sure you guys know way more about it than I do.

I've had our Series 3 Tivo since approx. 2008. We've been able to stream from the computer to the Tivo using Streambaby for years, but after an upgrade in our home wireless system, it stopped working. I can still use Tivo Desktop to view our pictures and stream our music from the computer, which I know is a pretty obsolete program - but it's working. Streambaby just isn't being seen by the Tivo. We are definitely using the right IP address that shows up on the Tivo list, but Streambaby has disappeared. I've tried the old version I had (.29) and downloaded the new one as well (.45) - neither one shows up.

That's the background - now I'm thinking maybe this old Tivo is just not up to the job anymore no matter what. I'm considering a Roamio Plus, but want to be be sure before I spend the $$ that it'll be able to stream everything effortlessly. I'm seeing something called Plex - is that what I would use to get my home videos from my computer to the TV through Tivo? I am not very technically saavy, and frankly, getting Streambaby to work way back when was a huge accomplishment! It was wonderful for years, and I just don't know what to do to get it back.

Thanks,
Beth


----------



## thewebgal

sbh2squared said:


> Hi - I'm glad to find this thread. I didn't realize anyone was still using Streambaby, and I'm sure you guys know way more about it than I do.
> 
> I've had our Series 3 Tivo since approx. 2008. We've been able to stream from the computer to the Tivo using Streambaby for years, but after an upgrade in our home wireless system, it stopped working. I can still use Tivo Desktop to view our pictures and stream our music from the computer, which I know is a pretty obsolete program - but it's working. Streambaby just isn't being seen by the Tivo. We are definitely using the right IP address that shows up on the Tivo list, but Streambaby has disappeared. I've tried the old version I had (.29) and downloaded the new one as well (.45) - neither one shows up.
> 
> That's the background - now I'm thinking maybe this old Tivo is just not up to the job anymore no matter what. I'm considering a Roamio Plus, but want to be be sure before I spend the $$ that it'll be able to stream everything effortlessly. I'm seeing something called Plex - is that what I would use to get my home videos from my computer to the TV through Tivo? I am not very technically savvy, and frankly, getting Streambaby to work way back when was a huge accomplishment! It was wonderful for years, and I just don't know what to do to get it back.
> 
> Thanks,
> Beth


Lets guess - is your home system a windows computer? 
Which version of windows? What else have you changed? 
Tell us about your upgraded home wireless system ...


----------



## wmcbrine

sbh2squared said:


> ... but after an upgrade in our home wireless system, it stopped working. ... That's the background - now I'm thinking maybe this old Tivo is just not up to the job anymore no matter what.


I see no reason to think that there's anything wrong with your old TiVo, and a new one almost certainly won't help -- the systems TiVos use to find each other, along with network services like TiVo Desktop and Streambaby, haven't changed.

One possibility is that your new wireless router is filtering out multicast packets. See if you can disable that behavior from its menus. You can also try just restarting the TiVo.


----------



## sbh2squared

thewebgal said:


> Lets guess - is your home system a windows computer?
> Which version of windows? What else have you changed?
> Tell us about your upgraded home wireless system ...


Gee, my wife told me you guys were psychic and wouldn't need details! ;-)

The old system that worked for several years was (on Comcast) an RCA cable modem to my Linksys WRT54G. Ethernet went directly to our Dell desktop (Core i7 gen 2 w/Win7) and to the TiVo.

The new modem/wireless is an Xfinity Technicolor TC8305C. Ethernet still goes to the Dell but now to an older Netgear DS104 10/100 hub, and from there to the Tivo, Smart TV & Bluray.

So evertything on the network has new IP addressess. I have the address for the TiVo and the Dell, and made sure the Tivo Desktop on the Dell had the TiVo address, and the TiVo had the Dell's ethernet address (it keeps trying on it's own to use the Dell's half high wireless cards address....). We restarted the Tivo server on the Dell, and it did work for a short period of time (minutes). We did call up some photos from the Dell using the TV. Then we lost connectivity because Tivo Desktop reset the address to the old one.

Every so often we take another crack at it. Sometimes the info is messed up on Desktop or the TiVo and we reset it. Occasionally it seems to work, then it drops. But Streambaby, the main thing we've always used, has never come back even though it seems to have the right IP addy on both the .bat file and .ini file.

Thanks so much for any/all help!
Steve (and Beth)


----------



## HerronScott

sbh2squared said:


> The new modem/wireless is an Xfinity Technicolor TC8305C. Ethernet still goes to the Dell but now to an older Netgear DS104 10/100 hub, and from there to the Tivo, Smart TV & Bluray.
> 
> So evertything on the network has new IP addressess. I have the address for the TiVo and the Dell, and made sure the Tivo Desktop on the Dell had the TiVo address, and the TiVo had the Dell's ethernet address (it keeps trying on it's own to use the Dell's half high wireless cards address....). We restarted the Tivo server on the Dell, and it did work for a short period of time (minutes). We did call up some photos from the Dell using the TV. Then we lost connectivity because Tivo Desktop reset the address to the old one.
> )


It sounds like you have a wired and wireless connection on your Dell where TiVo Desktop is running (and Streambaby). You only want 1 network connection to your network so if you have a wired connection, disable the wireless connection.

Scott


----------



## sbh2squared

Thank you, Scott - my husband was wondering if that was the case - so now he'll go ahead and figure out how to disable the 2nd connection.


----------



## f4phantomii

In version 0.39 a feature was added to simply remux an mkv file when the video codec used was mpeg2video.

Can the same be done for an mkv file where the video codec was H.264 and audio was either AC3 or AAC?

Currently if I have an MKV file with the above parameters, streambaby appears to attempt a transcode rather than a simple remux (I think!).

If I manually remux it ahead of time and turn it into and MP4 container rather than the MKV, it will pass thru straight to the Tivo.

I also have a processor with a hardware transcoder and ffmpeg compiled to support this. Looks like the best ffmpeg option is -prefer_smd

Thus if I set ffmpegexe.transcode=-prefer_smd in the streambaby.ini file, does it use that option?


----------



## shawnaruch

shawnaruch said:


> Hi - I'm getting an error when pushing to my Tivo -
> 
> 07\26\15 13:38:50 Mind: 356 ERROR: ERROR: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure - https:\\mind.tivo.com:8181\mind\login
> 07\26\15 13:38:50 InternalPush: 65 ERROR: Failed to login to tivo-push-control: XXXXXXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
> 
> Streaming works fine.
> 
> Full debug log attached.
> 
> Using 0.45


Can anyone please help with this problem? I've tried older versions and experience the same problem.


----------



## moyekj

shawnaruch said:


> Hi - I'm getting an error when pushing to my Tivo -
> 
> 07\26\15 13:38:50 Mind: 356 ERROR: ERROR: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure - https:\\mind.tivo.com:8181\mind\login
> 07\26\15 13:38:50 InternalPush: 65 ERROR: Failed to login to tivo-push-control: XXXXXXXXXXXXXXXXXXXX, XXXXXXXXXXXXXXXX
> 
> Streaming works fine.
> 
> Full debug log attached.
> 
> Using 0.45





shawnaruch said:


> Can anyone please help with this problem? I've tried older versions and experience the same problem.


 The problem is every freaking Java update messes with the SSL Cipher Suites and in code I have to remove suites that don't work with tivo.com. I've patched a couple of releases before to work around the problem by ignoring suites that don't work in favor of one that does. I took a brief look and looks like recent Java update removed SSL_RSA_WITH_RC4_128_SHA which worked with tivo.com (probably considered unsafe), so I don't know how to get authenticated login to tivo.com to work anymore with existing Streambaby code.
Reverting to older Java release may be your only workaround for now.


----------



## shawnaruch

moyekj said:


> The problem is every freaking Java update messes with the SSL Cipher Suites and in code I have to remove suites that don't work with tivo.com. I've patched a couple of releases before to work around the problem by ignoring suites that don't work in favor of one that does. I took a brief look and looks like recent Java update removed SSL_RSA_WITH_RC4_128_SHA which worked with tivo.com (probably considered unsafe), so I don't know how to get authenticated login to tivo.com to work anymore with existing Streambaby code.
> Reverting to older Java release may be your only workaround for now.


Do you know what version(s) of Java are known to work?


----------



## moyekj

shawnaruch said:


> Do you know what version(s) of Java are known to work?


 Java 7 or early versions of Java 8.


----------



## shawnaruch

moyekj said:


> Java 7 or early versions of Java 8.


So I downgraded to 7.40 and now get this error -

09/05/15 21:00:44 Factory: 504 HME receiver connected
09/05/15 21:00:44 Application: 509 HME host: 192.168.1.109:7290
09/05/15 21:00:51 FFmpegExeVideoModule: 738 FFmpegCmd: C:\Users\shawn\Desktop\streambaby-0.45\native\ffmpeg.exe -i C:\Users\shawn\Downloads\Mistresses\S03E01.MP4
09/05/15 21:00:55 InternalPush: 57 intPush: file:/C:/Users/shawn/Downloads/Mistresses/S03E01.MP4, tivo: Bedroom
09/05/15 21:00:55 Mind: 366 <?xml version="1.0" encoding="utf-8"?><error>


Code:


unknownError

<debug>19</debug><text>Unknown error while doing login</text></error>
09/05/15 21:00:55 InternalPush: 65 ERROR: Failed to login to tivo-push-control: xxxxxxxxxx, xxxxxxxxxxxxxx
09/05/15 21:00:55 PlayScreen$pushTivoButtonHandler$1: 347 Push Failed: S03E01->Bedroom


----------



## moyekj

shawnaruch said:


> So I downgraded to 7.40 and now get this error -
> 
> 09/05/15 21:00:44 Factory: 504 HME receiver connected
> 09/05/15 21:00:44 Application: 509 HME host: 192.168.1.109:7290
> 09/05/15 21:00:51 FFmpegExeVideoModule: 738 FFmpegCmd: C:\Users\shawn\Desktop\streambaby-0.45\native\ffmpeg.exe -i C:\Users\shawn\Downloads\Mistresses\S03E01.MP4
> 09/05/15 21:00:55 InternalPush: 57 intPush: file:/C:/Users/shawn/Downloads/Mistresses/S03E01.MP4, tivo: Bedroom
> 09/05/15 21:00:55 Mind: 366 <?xml version="1.0" encoding="utf-8"?><error>
> 
> 
> Code:
> 
> 
> unknownError
> 
> <debug>19</debug><text>Unknown error while doing login</text></error>
> 09/05/15 21:00:55 InternalPush: 65 ERROR: Failed to login to tivo-push-control: xxxxxxxxxx, xxxxxxxxxxxxxx
> 09/05/15 21:00:55 PlayScreen$pushTivoButtonHandler$1: 347 Push Failed: S03E01->Bedroom


Your SSLHandshakeException problem is gone, so your Java version is now fine.
Are you sure you have tivo.username and tivo.password set in your streambaby.ini file? I just tried with older version of Java 8 and push worked for me. The 2 settings you need in your streambaby.ini are:

[email protected]
tivo.password=xxx

If you make any changes to streambaby.ini you will need to restart streambaby.


----------



## shawnaruch

moyekj said:


> Your SSLHandshakeException problem is gone, so your Java version is now fine.
> Are you sure you have tivo.username and tivo.password set in your streambaby.ini file? I just tried with older version of Java 8 and push worked for me. The 2 settings you need in your streambaby.ini are:
> 
> [email protected]
> tivo.password=xxx
> 
> If you make any changes to streambaby.ini you will need to restart streambaby.


I have those lines in my ini - actually those plus tivo.1.username/pw & tivo.2.username/password.

They're all set to my tivo.com account info.


----------



## moyekj

shawnaruch said:


> I have those lines in my ini - actually those plus tivo.1.username/pw & tivo.2.username/password.
> 
> They're all set to my tivo.com account info.


 There is only 1 username and password. The tivo.1.username etc. are useless. As I said pushes are working for me using earlier versions of Java. Perhaps you can try getting pushes to work using pyTivo if you are familiar with that program.


----------



## exeye

Hi,

I'm using Streambaby 0.45 on Windows 7 with a Tivo Premiere. I've used various versions of Streambaby successfully for quite a few years.

Today I was cleaning up my desktop and moved Streambaby to a different location. After moving it I tried it and got the following error:



Code:


An error has occurred while processing the shared archive file.
Unable to unmap shared space.
Error occurred during initialization of VM
Unable to use shared archive.
Exited.
Press any key to continue . . .

I don't know if moving the folder caused the problem, or if something else (perhaps a Java update) caused it. [I just typed "java" from the command line and got the same error message...]

I've tried moving the folder back to the desktop, and downloading the latest version of Streambaby, and always get the same error.

Any help would be appreciated. Please let me know if you'd like any additional information.

Thanks,

-jimc


----------



## exeye

I posted too soon (although the process led me to the solution).

I suspected a problem with Java, so I deleted and reinstalled it. It must have gotten corrupted, because that fixed it. Not a Streambaby problem at all...

I'll leave my original post any this one in hopes that it may be useful to anyone having a similar problem.

-jimc


----------



## rfryar

I have a few issues with audio disappearing for a few seconds at a time on several DVD rips. The audio is AC3 6 channel audio. It plays fine on other devices and if I force it to transcode it works fine as well. Attached is the mediainfo on the file.


Code:


General
Format                                   : MPEG-4
Format profile                           : Base Media / Version 2
Codec ID                                 : mp42
File size                                : 1.07 GiB
Duration                                 : 1h 34mn
Overall bit rate                         : 1 636 Kbps
Writing application                      : DVDFab 9.2.0.9
Cover                                    : Yes
ContentRating                            : mpaa|PG|200|

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : [email protected]
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 1 frame
Format settings, GOP                     : M=1, N=24
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1h 34mn
Source duration                          : 1h 34mn
Bit rate                                 : 1 185 Kbps
Width                                    : 720 pixels
Height                                   : 396 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 fps
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.173
Stream size                              : 797 MiB (72%)
Source stream size                       : 797 MiB (72%)
Writing library                          : x264 core 142
Encoding settings                        : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x1:0x111 / me=umh / subme=6 / psy=0 / mixed_ref=0 / me_range=12 / chroma_me=1 / trellis=0 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=4 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=0 / weightp=0 / keyint=24 / keyint_min=13 / scenecut=40 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=1185 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Encoded date                             : UTC 2015-08-15 20:45:42
Tagged date                              : UTC 2015-08-15 21:08:48
Color primaries                          : BT.601 NTSC
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.601
Color range                              : Limited

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : ac-3
Duration                                 : 1h 34mn
Bit rate mode                            : Constant
Bit rate                                 : 448 Kbps
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 KHz
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 301 MiB (27%)
Title                                    : English (ac3 5.1)
Language                                 : English
Encoded date                             : UTC 2015-08-15 20:45:42
Tagged date                              : UTC 2015-08-15 21:08:47

Text
ID                                       : 3
Format                                   : mp4s
Codec ID                                 : E0
Language                                 : English
Encoded date                             : UTC 2015-08-15 20:45:42
Tagged date                              : UTC 2015-08-15 20:45:42

Menu
ID                                       : 4
Codec ID                                 : text
Duration                                 : 1h 34mn
Encoded date                             : UTC 2015-08-15 20:45:42
Tagged date                              : UTC 2015-08-15 21:08:48
Source duration                          : 5640134
Source frame count                       : 16
Source stream size                       : 375
Frame count                              : 16
Stream size                              : 375
00:00:00.000                             : Chapter 1
00:04:22.178                             : Chapter 2
00:14:19.692                             : Chapter 3
00:20:35.692                             : Chapter 4
00:25:49.673                             : Chapter 5
00:32:19.520                             : Chapter 6
00:36:44.035                             : Chapter 7
00:39:54.683                             : Chapter 8
00:47:52.202                             : Chapter 9
00:53:24.033                             : Chapter 10
00:59:09.003                             : Chapter 11
01:06:04.001                             : Chapter 12
01:12:20.335                             : Chapter 13
01:19:36.020                             : Chapter 14
01:23:37.845                             : Chapter 15
01:27:18.858                             : Chapter 16
Bit rate mode                            : VBR


----------



## moyekj

What series TiVo are you using for playback? 448 Kbps is pushing the limit for series 3 TiVos, series 4 or later take up to 640 Kbps. Also, have you run it through something like VRD qsfix? Upload a small sample somewhere if you wish so I can try it out.


----------



## trooper1

moyekj said:


> The problem is every freaking Java update messes with the SSL Cipher Suites and in code I have to remove suites that don't work with tivo.com. I've patched a couple of releases before to work around the problem by ignoring suites that don't work in favor of one that does. I took a brief look and looks like recent Java update removed SSL_RSA_WITH_RC4_128_SHA which worked with tivo.com (probably considered unsafe), so I don't know how to get authenticated login to tivo.com to work anymore with existing Streambaby code.
> Reverting to older Java release may be your only workaround for now.


Looks like you're only setting jdk.certpath.disabledAlgorithms. The new problem is that they disabled RC4 via jdk.tls.disabledAlgorithms. Setting that as well makes it work:


Code:


Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3");

Of course, the right thing is for tivo to update their cert and ssl config ( www dot ssllabs dot com/ssltest/analyze.html?d=mind.tivo.com ), but if that means updating all the old boxes to work with current standards maybe it isn't feasible.


----------



## moyekj

trooper1 said:


> Looks like you're only setting jdk.certpath.disabledAlgorithms. The new problem is that they disabled RC4 via jdk.tls.disabledAlgorithms. Setting that as well makes it work:
> 
> 
> Code:
> 
> 
> Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3");
> 
> Of course, the right thing is for tivo to update their cert and ssl config ( www dot ssllabs dot com/ssltest/analyze.html?d=mind.tivo.com ), but if that means updating all the old boxes to work with current standards maybe it isn't feasible.


 Thanks for posting! I tried adding the above such that the code is now the below, but login still fails:


Code:


Security.setProperty("jdk.certpath.disabledAlgorithms","TLS_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA");
Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3");


----------



## Hyrax

moyekj said:


> Quote:
> Originally Posted by shawnaruch
> Do you know what version(s) of Java are known to work?​Java 7 or early versions of Java 8.


The discussion is a little fragmented, so I'll just ask what are probably dumb questions. Is this just related to pushing videos to my Tivo? I am using Java 8, Update 66, which isn't presenting any problems when downloading recordings from my Roamio Tivo.

Can you give us an idea of which version 8 of Java you recommend? Also, is it possible to have two versions of Java installed on your computer? If not, should I be running KTTMG with old versions of Java in a VM?

Thanks!


----------



## moyekj

Hyrax said:


> The discussion is a little fragmented, so I'll just ask what are probably dumb questions. Is this just related to pushing videos to my Tivo? I am using Java 8, Update 66, which isn't presenting any problems when downloading recordings from my Roamio Tivo.
> 
> Can you give us an idea of which version 8 of Java you recommend? Also, is it possible to have two versions of Java installed on your computer? If not, should I be running KTTMG with old versions of Java in a VM?
> 
> Thanks!


 This thread is about streambaby, not kmttg. The streambaby issue specifically is pushes don't work with recent versions of Java 8 because of changes in SSL authentication that Java has made and the fact that mind.tivo.com uses older less secure SSL authentication which is not compatible. If you don't care about pushes with streambaby then latest versions of Java 8 work fine for everything else. kmttg requires latest versions of Java 8 to work, so reverting back to older Java for kmttg would break it. I'm hoping perhaps trooper1 can post some working Java code for logging in to mind.tivo.com so that I can update streambaby code to work with latest Java 8 as well for pushes.


----------



## trooper1

moyekj said:


> Thanks for posting! I tried adding the above such that the code is now the below, but login still fails:
> 
> 
> Code:
> 
> 
> Security.setProperty("jdk.certpath.disabledAlgorithms","TLS_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA");
> Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3");


Oops! I had been trying different properties on the command line while debugging, and didn't realize https.cipherSuites was still being set and was also part of the solution. So this works for me with a bare command line:


Code:


     System.setProperty("https.cipherSuites", "SSL_RSA_WITH_RC4_128_SHA"); 
     Security.setProperty("jdk.tls.disabledAlgorithms", "SSLv3");


----------



## moyekj

Bingo! With these 3 set it seems to work again:


Code:


System.setProperty("https.cipherSuites", "SSL_RSA_WITH_RC4_128_SHA");
System.setProperty("jdk.certpath.disabledAlgorithms","TLS_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA");
Security.setProperty("jdk.tls.disabledAlgorithms", "SSLv3");

Thank you very much! I guess it's time for an updated release with above fix.


----------



## moyekj

OK, version 0.47 is now released with fix to pushes so that they work with latest Java 8 releases. All thanks to trooper1.


----------



## trooper1

moyekj said:


> Bingo! With these 3 set it seems to work again:
> 
> 
> Code:
> 
> 
> System.setProperty("https.cipherSuites", "SSL_RSA_WITH_RC4_128_SHA");
> System.setProperty("jdk.certpath.disabledAlgorithms","TLS_RSA_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA");
> Security.setProperty("jdk.tls.disabledAlgorithms", "SSLv3");
> 
> Thank you very much! I guess it's time for an updated release with above fix.


No problem, happy to contribute back!

And it doesn't matter so just FYI, the certpath.disabledAlgorithms doesn't need to be set to those ciphers since only the right one is enabled -- but it does need to be set to something to override the default of "MD2, RSA keySize < 1024". One of the certs in tivo's chain has a 512bit key, so that's why the default breaks.


----------



## Hyrax

moyekj said:


> This thread is about streambaby, not kmttg....


Sorry for my confused posting. I think of the two programs almost as book-ends to my Tivo. Without them I might as well own my cableco's DVR. I don't use streambaby anywhere near as much as kmttg, but I do use it. Thanks for making & maintaining it, and thanks to you and trooper1 for getting it to work with the recent Java build.


----------



## HarperVision

trooper1 said:


> No problem, happy to contribute back!
> 
> And it doesn't matter so just FYI, the certpath.disabledAlgorithms doesn't need to be set to those ciphers since only the right one is enabled -- but it does need to be set to something to override the default of "MD2, RSA keySize < 1024". One of the certs in tivo's chain has a 512bit key, so that's why the default breaks.


@trooper1, thanks so much for helping moyekj and the community! You seem to know your stuff. Any chance you're good with optimizing VPN tunnels?


----------



## AudioNutz

Moyekj,
I wanted to say "Great Job" in continuing with Streambaby. I was a user some years ago, and my interest fell off. I recently discovered the improved version, and I'm back to being a regular user again. I like it!

just a simple question... Can the list display sort by "Date". I typically have all of my NPL's sorted by date, and it would be great if Streambaby was able to do this.


----------



## moyekj

AudioNutz said:


> Moyekj,
> just a simple question... Can the list display sort by "Date". I typically have all of my NPL's sorted by date, and it would be great if Streambaby was able to do this.


 No, there's no configurable sorting option currently in the code.


----------



## AudioNutz

Would you take this as a feature request, or is this not possible with this type of streaming device?


----------



## moyekj

AudioNutz said:


> Would you take this as a feature request, or is this not possible with this type of streaming device?


 The problem is how do you define date? Streambaby lists all video files with and without metadata, so Original Air Date may or may not be available (even if there is metadata for every file). About the only thing I can think of that always has an available date is last modified file date on disk, so that would be the only feasible way to sort by date.


----------



## AudioNutz

Yes. File modified date is the way pytivo does it, so that would be just fine if you would do it that way.

If you do it by metadata, that's fine with me too, but I'm not really needing anything that elaborate.


----------



## moyekj

OK, version 0.48 released with date sorting option available. Note that there are also options for displaying file names instead of titles and sorting alphabetically by file name that I've been using but were undocumented that I added to Wiki. To enable sort by date add following to streambaby.ini:
sort.date=true

The previously undocumented options I added to StreamBabyIni Wiki:
*use.title= (default:true)*
If false then display file names instead of titles

*sort.filename= (default:false)*
If true then sort displayed entries by alphabetic file name instead of alphabetic title.

I've always liked this combination of options set so I simply get list of file names sorted alphabetically:
use.title=false
sort.filename=true


----------



## AudioNutz

Thanks for the quickness! 

I'm noticing that it's going by the date of the metadata file in my case. This will work for me, because I usually make sure the video file and the metadata file are the same date. (touch) I'll just need to be diligent about this.


----------



## elenaran

Any tips for a new linux user of streambaby? I had it working fine on Windows but wanted to set it up on my new NAS box. I've got java installed and it seems to run streambaby without any errors - starts up, says it's ready/listening, and finds my tivos, but when I go to streambaby from my tivo, it just hangs on "One moment..." and nothing ever happens. No error message on the server, nada.

Any ideas?


----------



## moyekj

elenaran said:


> Any tips for a new linux user of streambaby? I had it working fine on Windows but wanted to set it up on my new NAS box. I've got java installed and it seems to run streambaby without any errors - starts up, says it's ready/listening, and finds my tivos, but when I go to streambaby from my tivo, it just hangs on "One moment..." and nothing ever happens. No error message on the server, nada.
> 
> Any ideas?


 Turn on debug logging and post the debug log here. Instructions:
https://sourceforge.net/p/streambaby/wiki/debugging_problems/


----------



## mattack

Edit, brain fart, I was really talking about pytivo.. sigh...


----------



## elenaran

moyekj said:


> Turn on debug logging and post the debug log here. Instructions:
> https://sourceforge.net/p/streambaby/wiki/debugging_problems/


Thanks - I figured it out. Turned out to be an issue with the linux64 service. I just ran the base streambaby executable from screen instead and it seems to work fine.


----------



## thewebgal

Streambaby is a java app that runs on my mac, for instance. I can see it when I look at Apps tab on my Roamio, but I got curious. Can it be seen by any other network device - say, a smart TV, or the Network view of my Oppo Bluray player?


----------



## moyekj

thewebgal said:


> Streambaby is a java app that runs on my mac, for instance. I can see it when I look at Apps tab on my Roamio, but I got curious. Can it be seen by any other network device - say, a smart TV, or the Network view of my Oppo Bluray player?


 No, streambaby is using HME which is a protocol only understood by TiVo units, not other devices.


----------



## thewebgal

Updated my MacPro to El Capitan and lost Streambaby - It seems to run in Terminal on the machine, but I go to the TIVO, click the Apps, then Streambaby and I get the Please Wait screen and it never goes further ...
I reinstalled Sb 0.48 and Java 8 v 71 ...


----------



## moyekj

thewebgal said:


> Updated my MacPro to El Capitan and lost Streambaby - It seems to run in Terminal on the machine, but I go to the TIVO, click the Apps, then Streambaby and I get the Please Wait screen and it never goes further ...
> I reinstalled Sb 0.48 and Java 8 v 71 ...


 Enable debug mode to get more info:
https://sourceforge.net/p/streambaby/wiki/debugging_problems/


----------



## robin50

This is a fabulous program. Thanks to moyekj for his work on this!

Running on Windows 7.

Initial observations:

*Native .tivo* files and *.tivo mp4* files {mp4 files saved from native TiVo files using Videoredo [setting H.264 TiVo-TS (Roamio/Premiere)]} have problems:


When I fast forward there is a preview box with nothing in it. No matter where I fast forward to in the file, playing returns to the beginning of the file.

The resume feature does not work. I am always returned to the beginning of the file.

Metadata is displayed properly. This is good of course.
*MPEG-2* Program Stream and *H.264 MP4* files (both created using Videoredo) work perfectly:


I can fast forward and see the preview even when out of the buffered zone. When I hit play while fast forwarding it starts where it should.

The resume feature works fine.

Metadata is not displayed (of course).
Is this differing behavior between* tivo* and *mpeg* files expected?

I hate to think that to get the great navigation features I have to save all of my terabytes of TiVo files to mpeg files (and lose the metadata)!

Thanks!


----------



## moyekj

Yes, unlike mpeg2 or mpeg4 files there's no random seeking code for TiVo files, so no way to jump to a particular point in a TiVo file, so save/restore play position doesn't work.


----------



## wmcbrine

Extract the metadata from the .TiVo files to pyTivo-style .txt files, and use that alongside the decrypted .mpg and .ts files.


----------



## robin50

moyekj said:


> Yes, unlike mpeg2 or mpeg4 files there's no random seeking code for TiVo files, so no way to jump to a particular point in a TiVo file, so save/restore play position doesn't work.


Thanks moyekj, yes now I see previous discussions about this in this thread, I wasn't using the right search terms . . .


----------



## robin50

wmcbrine said:


> Extract the metadata from the .TiVo files to pyTivo-style .txt files, and use that alongside the decrypted .mpg and .ts files.


Thank you wmcbrine! I will now delve into the pyTivo world. I will study and post any questions in the appropriate forums.


----------



## dchomak

wmcbrine said:


> Extract the metadata from the .TiVo files to pyTivo-style .txt files, and use that alongside the decrypted .mpg and .ts files.


Yes!
It took me the longest time to trust doing this, but after noticing no problems I finally converted all of my .TiVo files to .mpg and the corresponding metadata files.
It is also nice to be able to edit those metadata files with corrected or additional information. Or even create one where there wasn't one initially.


----------



## thewebgal

moyekj said:


> Enable debug mode to get more info:
> https://sourceforge.net/p/streambaby/wiki/debugging_problems/


Not sure what changed - but I installed a 240GB SSD Monday to replace the old Seagate boot drive - and somewhere in the cloneing and restarts, its working again! And seems to run faster too with the tool on the SolidStateDrive!


----------



## robin50

dchomak said:


> Yes!
> It took me the longest time to trust doing this, but after noticing no problems I finally converted all of my .TiVo files to .mpg and the corresponding metadata files.
> It is also nice to be able to edit those metadata files with corrected or additional information. Or even create one where there wasn't one initially.


This is extremely valuable and encouraging feedback dchomak. Thanks!


----------



## jgantert

I'm only on v0.45, but is there any way to refresh the Plex directory listings? Right now if new files are added to Plex, I need to restart the streambaby service on Ubuntu 15.10.

One other issue I have is if you play a title with a long description, press the info button to get the title info. Then when you press it again, the text disappears, but the scroll down icon remains. Is there any way to remove the left over scroll icon?

Thanks!


----------



## kflinch

I recently upgraded Java to v 8.0.730.2. Now when I attempt to play a video via Streambaby I see a message in red letters "Failed to open stream". I tried several file types - mp4, mkv, avi, mpg. Is this because of the Java upgrade? Should I downgrade to an older version? If so, which version?

I upgraded Java because I had upgraded kmttg to the latest version, but I had problems with kmttg. I tried the Java upgrade in an attempt to fix kmttg. The Java upgrade did fix kmttg, but maybe broke Streambaby.

I also upgraded Streambaby to v0.48. When I start Streambaby from the .bat file (rather than as a service) I see some errors, but the last line reads Ready and listening.

The errors are:
"...streambaby.log (access is denied)"
"...streambaby_win32_tools_v0p33.zip (access is denied)"

I have Windows 10 and Roamio basic.


----------



## moyekj

kflinch said:


> I also upgraded Streambaby to v0.48. When I start Streambaby from the .bat file (rather than as a service) I see some errors, but the last line reads Ready and listening.
> 
> The errors are:
> "...streambaby.log (access is denied)"
> "...streambaby_win32_tools_v0p33.zip (access is denied)"
> 
> I have Windows 10 and Roamio basic.


 That's not a good sign - means streambaby doesn't have write access to where you installed it so ffmpeg and other tools needed are being installed properly. Make sure you don't install under "Program Files" or "Program Files (x86)" since those locations are write protected. I'd suggest you start with brand new installation in a different directory such as c:\streambaby and then run the .bat file and make sure there aren't any errors.


----------



## kflinch

Thanks. I do have Streambaby installed under Program Files (x86). I tried your suggestion and copied the Streambaby folder to C:, but still saw an error for opening the zip file. Furthermore, when I attempted to stream a video file I saw the "Failed to open stream" error again. I wound up reverting to v45. I still see the error for opening the zip file, but I can stream files. I am settling for that.


----------



## moyekj

kflinch said:


> Thanks. I do have Streambaby installed under Program Files (x86). I tried your suggestion and copied the Streambaby folder to C:, but still saw an error for opening the zip file. Furthermore, when I attempted to stream a video file I saw the "Failed to open stream" error again. I wound up reverting to v45. I still see the error for opening the zip file, but I can stream files. I am settling for that.


 I think the zip file problem is related to sourceforge changing URL for downloads, so the download is failing. I guess I need to fix that at some point with a new release...


----------



## moyekj

Before I forgot I fixed the URL for tools download in a new 0.49 version just released.


----------



## MacGuruTX

Out of Memory error when using sort.date=true

Just put in .49 and noticed in an earlier post about the sort.date setting.

I put this into my ini
sort.date=true

But once the tivo accesses streambaby, i get the following crash:
03/26/16 15:40:50 Factory: 504 HME receiver connected
03/26/16 15:40:50 Application: 509 HME host: 192.168.1.20:7290
Exception in thread "Thread-17" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space

Is there an easy way for me to allocate for heap space for streambaby to use?


----------



## moyekj

You can use -Xmx argument. For example to start with 1GB heap space:
java -Xmx1g -jar streambaby.jar


----------



## MacGuruTX

memory worked great, thank you!

Next random question: Historically I've been double saving my media files. Once to an external drive and movies folder that has always worked correctly.

i wanted to start also sharing my iTunes Tv shows folder, This way I can get to shows that i sync with my ipad without having to put them in two places.

I have the following ini settings
dir.1=/Volumes/Media Storage/TiVo-Shows
dir.1.name=My Videos
dir.2=/Volumes/Texas/Users/macgurutx/Music/iTunes/"iTunes Media"/"TV Shows"
dir.2.name=iTunes TV

The Directory 2 path shows up on the streambaby menu, but for some reason is says no files present? When I look at this folder from the OS cmd line using that string, it goes to the correct root Tv Shows folder. I see a series of folders there organized by itunes and the folders (show names) contain .m4v files.

Any suggestions on this one?


----------



## moyekj

That hybrid path specification looks strange with quotes in the middle.
Get rid of the quotes in the path (around iTunes Media and TV Shows).


----------



## MacGuruTX

For anyone else with the issue, in OS X you have to use Quotes to deal with the spaces in the folder names. Although

/Volumes/Texas/Users/macgurutx/Music/iTunes/"iTunes Media"/"TV Shows"

works from the command line, it doesn't with streambaby.

if you instead quote the entire path, then it will work correctly
ie:
"/Volumes/Texas/Users/gregmiddleton/Music/iTunes/iTunes Media/TV Shows"


----------



## fcfc2

I finally got my files to show up, but all of them show the same error, "ERROR: 0xffff" when I attempt to play them. All of the one's I have tried so far are .mp4's. Suggestions, please and thank you.


----------



## moyekj

fcfc2 said:


> I finally got my files to show up, but all of them show the same error, "ERROR: 0xffff" when I attempt to play them. All of the one's I have tried so far are .mp4's. Suggestions, please and thank you.


First of all you aren't trying to stream to a Mini are you? Because that's not supported. If you are streaming to a DVR not a Mini add the following to your streambaby.ini file and restart Streambaby to see if it helps:
mp4module.interleave=false


----------



## fcfc2

moyekj said:


> First of all you aren't trying to stream to a Mini are you? Because that's not supported.


Of course I was.....Sorry.


----------



## Rodney

I upgraded my Mac to El Capitan last weekend, losing Pytivox. Since I was only using the Streambaby portion anyway, I downloaded .49 from SourceForge and it works like a charm!

Thanks Moyekj for this!


----------



## dchomak

Streambaby continues to work flawlessly.
I was wondering, is there a way for the search function to search more than 1 drive at a time? Maybe a DOS command?


----------



## az1097

I just downloaded the latest version 0.49, extracted and configured but when I run, it says "java is not recognized as an internal or external command, operable program or batch file". Why is it not running correctly?


----------



## moyekj

az1097 said:


> I just downloaded the latest version 0.49, extracted and configured but when I run, it says "java is not recognized as an internal or external command, operable program or batch file". Why is it not running correctly?


 You don't have java path in your PATH variable. Edit streambaby.bat (if on Windows) and substitute java for full path to java.exe such as:
"C:\Program Files (x86)\Java\jre1.8.0_77\bin\java.exe"


----------



## ehagberg

I'm trying to use the latest streambaby and have set up a simple config file with no special settings at all yet (had to specify the ip= parameter)... and I've enabled debugging as described in the wiki, but after streambaby starts up and sees my tivo, I go to my tivo and click on streambaby and get the "V301" error saying I should try again in a few minutes. And nothing is logged by the app when I'm trying to access it from the tivo.

Well, that was yesterday afternoon, and evening. I rebooted the tivo to see if that would help... but it didn't. So I tried many different versions of java, as some have claimed that they needed to use older java versions in the past... and that also didn't solve things.

Anyway - any ideas on what else I should check? This is running on linux - Fedora 23 - btw.

Thanks,
-Eric


----------



## chrispitude

Hi all,

We LOVE Streambaby! It has singlehandedly made it possible for us to migrate all our kid DVD/Blu-ray movies onto my Linux fileserver, and with a simple kid-friendy TiVo interface.

Until now, I've only ripped our DVD movies. Recently I bought a Blu-Ray drive and started ripping Blu-Ray discs with MakeMKV. The resulting .mkv files play flawlessly on the Linux box.

Streambaby shows the .mkv files. When I attempt to play them, they start playing just fine. The Streambaby console shows transcoding via ffmpeg. However, somewhere between 10-30 minutes into the title, the video and audio will start skipping. Then usually, playback freezes, the screen goes black, and the TiVo restarts itself.

If I choose "Quality: Medium" instead of "Quality: Same" when playing the .mkv, it always plays back in its entirety with no issue.

So my questions are:


How do I debug the lockups, especially given that it's transcoding at either quality?
Is there a way to process/demux/etc. the .mkv file to allow direct (non-transcoded) playback of the video and audio streams?

Thanks!! Again, our family LOVES this application!


----------



## moyekj

chrispitude said:


> Hi all,
> 
> We LOVE Streambaby! It has singlehandedly made it possible for us to migrate all our kid DVD/Blu-ray movies onto my Linux fileserver, and with a simple kid-friendy TiVo interface.
> 
> Until now, I've only ripped our DVD movies. Recently I bought a Blu-Ray drive and started ripping Blu-Ray discs with MakeMKV. The resulting .mkv files play flawlessly on the Linux box.
> 
> Streambaby shows the .mkv files. When I attempt to play them, they start playing just fine. The Streambaby console shows transcoding via ffmpeg. However, somewhere between 10-30 minutes into the title, the video and audio will start skipping. Then usually, playback freezes, the screen goes black, and the TiVo restarts itself.
> 
> If I choose "Quality: Medium" instead of "Quality: Same" when playing the .mkv, it always plays back in its entirety with no issue.
> 
> So my questions are:
> 
> 
> How do I debug the lockups, especially given that it's transcoding at either quality?
> Is there a way to process/demux/etc. the .mkv file to allow direct (non-transcoded) playback of the video and audio streams?
> 
> Thanks!! Again, our family LOVES this application!


Don't know how to debug a TiVo lockup. But perhaps easiest thing to try is to set the default quality setting to be below "same". Quality Wiki is:
https://sourceforge.net/p/streambaby/wiki/QualitySettings/

So you could try something like this in your streambaby.ini file:
quality.default=6

This only affects quality of transcodes. Compatible videos that are not transcoded are not affected. So by setting the above it would be equivalent to manually choosing quality below same which you said seems to work when playing the mkv files, without having to manually set quality each time when playing them.


----------



## jonw747

moyekj said:


> This only affects quality of transcodes. Compatible videos that are not transcoded are not affected.


So, another option for him would be to encode his videos so they are compatible with the TiVo and take the load off his server. Although, there may be space/bitrate .vs. quality trade-off to be made.


----------



## chrispitude

jonw747 said:


> So, another option for him would be to encode his videos so they are compatible with the TiVo and take the load off his server. Although, there may be space/bitrate .vs. quality trade-off to be made.


I appreciate the suggestion! The server is a pretty fast machine (i7-4790k) with plenty of storage space, and the transcoding load doesn't stress the machine much. For now, I'm storing everything in original quality.



moyekj said:


> Don't know how to debug a TiVo lockup. But perhaps easiest thing to try is to set the default quality setting to be below "same". Quality Wiki is:
> https://sourceforge.net/p/streambaby/wiki/QualitySettings/
> 
> So you could try something like this in your streambaby.ini file:
> quality.default=6
> 
> This only affects quality of transcodes. Compatible videos that are not transcoded are not affected. So by setting the above it would be equivalent to manually choosing quality below same which you said seems to work when playing the mkv files, without having to manually set quality each time when playing them.


Thanks! This gives me some ideas to try.

I do have a question. When I select one of these .mkv files from the selection interface, the title information does not show the bitrate. However, an "ffmpeg -i" of the .mkv file does show the bitrate:



Code:


Input #0, matroska,webm, from 'Cloudy_With_A_Chance_Of_Meatballs.mkv':
  Metadata:
    title           : Cloudy With A Chance Of Meatballs
    encoder         : libmakemkv v1.9.9 (1.3.3/1.4.4) x86_64-linux-gnu
    creation_time   : 2016-04-13 01:45:17
  Duration: 01:29:53.39, start: 0.000000, bitrate: 32350 kb/s  <------
    Chapter #0:0: start 0.000000, end 287.370417
    Metadata:
      title           : Chapter 01
    Chapter #0:1: start 287.370417, end 536.577708
    Metadata:
      title           : Chapter 02
    Chapter #0:2: start 536.577708, end 872.788583
    Metadata:
      title           : Chapter 03
    Chapter #0:3: start 872.788583, end 1230.229000
    Metadata:
      title           : Chapter 04
    Chapter #0:4: start 1230.229000, end 1465.547417
    Metadata:
      title           : Chapter 05
    Chapter #0:5: start 1465.547417, end 1843.132958
    Metadata:
      title           : Chapter 06
    Chapter #0:6: start 1843.132958, end 2189.604083
    Metadata:
      title           : Chapter 07
    Chapter #0:7: start 2189.604083, end 2569.900667
    Metadata:
      title           : Chapter 08
    Chapter #0:8: start 2569.900667, end 2796.794000
    Metadata:
      title           : Chapter 09
    Chapter #0:9: start 2796.794000, end 3163.535375
    Metadata:
      title           : Chapter 10
    Chapter #0:10: start 3163.535375, end 3307.429125
    Metadata:
      title           : Chapter 11
    Chapter #0:11: start 3307.429125, end 3642.722417
    Metadata:
      title           : Chapter 12
    Chapter #0:12: start 3642.722417, end 3943.105833
    Metadata:
      title           : Chapter 13
    Chapter #0:13: start 3943.105833, end 4383.754375
    Metadata:
      title           : Chapter 14
    Chapter #0:14: start 4383.754375, end 4665.243917
    Metadata:
      title           : Chapter 15
    Chapter #0:15: start 4665.243917, end 5393.388000
    Metadata:
      title           : Chapter 16
    Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc

Is this reported in a different form than streambaby is looking for?

I also noticed that the transcoding command line for "Quality: High" has "-s 1312x736". Is it intended that even the highest non-same quality reduces the resolution below 1080p?

Thanks!


----------



## moyekj

chrispitude said:


> I appreciate the suggestion! The server is a pretty fast machine (i7-4790k) with plenty of storage space, and the transcoding load doesn't stress the machine much. For now, I'm storing everything in original quality.
> 
> Thanks! This gives me some ideas to try.
> 
> I do have a question. When I select one of these .mkv files from the selection interface, the title information does not show the bitrate. However, an "ffmpeg -i" of the .mkv file does show the bitrate:
> 
> 
> 
> Code:
> 
> 
> Input #0, matroska,webm, from 'Cloudy_With_A_Chance_Of_Meatballs.mkv':
> Metadata:
> title           : Cloudy With A Chance Of Meatballs
> encoder         : libmakemkv v1.9.9 (1.3.3/1.4.4) x86_64-linux-gnu
> creation_time   : 2016-04-13 01:45:17
> Duration: 01:29:53.39, start: 0.000000, bitrate: 32350 kb/s  <------
> Chapter #0:0: start 0.000000, end 287.370417
> Metadata:
> title           : Chapter 01
> Chapter #0:1: start 287.370417, end 536.577708
> Metadata:
> title           : Chapter 02
> Chapter #0:2: start 536.577708, end 872.788583
> Metadata:
> title           : Chapter 03
> Chapter #0:3: start 872.788583, end 1230.229000
> Metadata:
> title           : Chapter 04
> Chapter #0:4: start 1230.229000, end 1465.547417
> Metadata:
> title           : Chapter 05
> Chapter #0:5: start 1465.547417, end 1843.132958
> Metadata:
> title           : Chapter 06
> Chapter #0:6: start 1843.132958, end 2189.604083
> Metadata:
> title           : Chapter 07
> Chapter #0:7: start 2189.604083, end 2569.900667
> Metadata:
> title           : Chapter 08
> Chapter #0:8: start 2569.900667, end 2796.794000
> Metadata:
> title           : Chapter 09
> Chapter #0:9: start 2796.794000, end 3163.535375
> Metadata:
> title           : Chapter 10
> Chapter #0:10: start 3163.535375, end 3307.429125
> Metadata:
> title           : Chapter 11
> Chapter #0:11: start 3307.429125, end 3642.722417
> Metadata:
> title           : Chapter 12
> Chapter #0:12: start 3642.722417, end 3943.105833
> Metadata:
> title           : Chapter 13
> Chapter #0:13: start 3943.105833, end 4383.754375
> Metadata:
> title           : Chapter 14
> Chapter #0:14: start 4383.754375, end 4665.243917
> Metadata:
> title           : Chapter 15
> Chapter #0:15: start 4665.243917, end 5393.388000
> Metadata:
> title           : Chapter 16
> Stream #0:0(eng): Video: h264 (High), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
> 
> Is this reported in a different form than streambaby is looking for?
> 
> I also noticed that the transcoding command line for "Quality: High" has "-s 1312x736". Is it intended that even the highest non-same quality reduces the resolution below 1080p?
> 
> Thanks!


 In the quality settings link I gave above it looks like there are settings to control transcoding resolution, for example:
quality.highres= (default: 720)

Note that video files in mkv container cannot be streamed natively because TiVo doesn't accept mkv container period, so streambaby will always transcode those to mpeg2. Even if you did remux to mp4 container chances are the video bit rates are too high for TiVo to handle anyway. So you are probably better off letting it transcode, but you can play with the quality settings to raise the resolution, bitrate, etc.


----------



## jonw747

Animation compresses really well. It makes some sense to re-encode the movies your kids are going to be watching over and over and over in to a TiVo friendly format, and then put those in your StreamBaby folder. 2M-5M bps should still look awfully good.


----------



## chrispitude

So I made some progress on the crashes! I took the "Same quality" ffmpeg command line and converted the .mkv to .mpg in linux. That .mpg file played without transcoding through Streambaby, but crashed the Roamio in the same way. So the problem was with the Roamio's handling of the mpeg file.

I found a freeware utility to plot the dynamic bitrate of the file (first attachment). Average bitrate 12812kbps, peak bitrate *88691kbps*!

So I added only "-maxrate 25000k" to the ffmpeg command line and reencoded, and got the results shown in the seconds attachment. The peak bitrates are all nicely limited to 25000kbps now! And the Roamio plays the file back through Streambaby flawlessly.

So the question now becomes, how do I add "-maxrate 25000k" to the default "Same quality" command line?


----------



## moyekj

chrispitude said:


> So I made some progress on the crashes! I took the "Same quality" ffmpeg command line and converted the .mkv to .mpg in linux. That .mpg file played without transcoding through Streambaby, but crashed the Roamio in the same way. So the problem was with the Roamio's handling of the mpeg file.
> 
> I found a freeware utility to plot the dynamic bitrate of the file (first attachment). Average bitrate 12812kbps, peak bitrate *88691kbps*!
> 
> So I added only "-maxrate 25000k" to the ffmpeg command line and reencoded, and got the results shown in the seconds attachment. The peak bitrates are all nicely limited to 25000kbps now! And the Roamio plays the file back through Streambaby flawlessly.
> 
> So the question now becomes, how do I add "-maxrate 25000k" to the default "Same quality" command line?


Check the Wiki. There are a few ini settings that control what ffmpeg options are used for transcode:

ffmpegexe.transcode= (default:-acodec ac3 -vcodec mpeg2video -f vob -async 1 -r ${closest.mpeg.fps} -v 0)

ffmpegexe.transcode.sameqargs (default: -qscale 0 -ab 192k)

ffmpegexe.transcode.qualargs (default: -bufsize 4096k -b ${bitrate}k -maxrate 8000k -ab ${abitrate}k -s ${xres}x${yres})

So you can probably set this for same quality transcodes:
*ffmpegexe.transcode.sameqargs=-qscale 0 -ab 192k -maxrate 25000k*


----------



## moyekj

FYI, I released new 0.50 version with above change to add -maxrate 25000k to default ffmpegexe.transcode.sameqargs setting.


----------



## chrispitude

moyekj said:


> FYI, I released new 0.50 version with above change to add -maxrate 25000k to default ffmpegexe.transcode.sameqargs setting.


(Edit) We've now played three full Blu-ray .mkv files through streambaby with no stutters or hangs! These same files crashed the Roamio before.


----------



## thewebgal

And somehow I've broken it again ...
haven't used Streambaby for a few weeks - 
pretty sure I did a Java upgrade recently, 
and I did install ver 50
Mac OSX 10.11.5 

I see it in the TIVO menu, click it and see the directory choices, drop into one and choose a file, click it - and now I mostly get 

"Failed to open stream"

I had a folder of mkv files that worked last time I used it (few weeks back) but now they don't.

Maybe I corrupted the codecs somehow?

My .ini file reads like this - 


com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false 
#
ffmpeg.path=/opt/local/bin/ffmpeg

dir.1=/Volumes/3TB-VideoCuda/DoctorWho
dir.1.name=ShareWho-ALL

dir.2=/Volumes/3TB-VideoCuda/Marble
dir.2.name=Marble
dir.3=/Volumes/3TB-VideoCuda/MusicVideos
dir.3.name=MusicVideos 

dir.4=/Volumes/3TB-VideoCuda/ShareMovies
dir.4.name=ShareMovies

dir.5=/Volumes/3TB-VideoCuda/ShareTV
dir.5.name=ShareTV

dir.6=/Volumes/3TB-VideoCuda/ShareTV-UK
dir.6.name=ShareTV-UK

dir.7=/Volumes/3TB-VideoCuda/Tivo Recordings
dir.7.name=Tivo Recordings
# Ip address to bind to
# most people don't need to change this. 
# ip=192.168.1.69
# port to use
# port=7290

# title=streambaby

extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,wtv,m2ts,
mp4module.interleave=false
quality.select (default=true)
tivo.MAK=xxxxxxxx (masked)


----------



## moyekj

Your quality.select line is improper syntax and useless the way it is anyway, so remove it. Don't know if it matters but your extensions line has an extra comma at the end. All those extensions are already part of default so not needed anyway.


----------



## thewebgal

moyekj said:


> Your quality.select line is improper syntax and useless the way it is anyway, so remove it. Don't know if it matters but your extensions line has an extra comma at the end. All those extensions are already part of default so not needed anyway.


Okay - I made the changes to the ini file as you suggested - but still, nothing seems to open, mkv, mp4 or avi files ...
If memory serves, in the past, Streambaby would install codecs if it did not see them - does that still happen?


----------



## thewebgal

Interesting. I installed Ver 49 again, and noticed it did all the downloads I remembered in the past - and - now its working again ...

Initializing StreamBaby v0.49...
05/21/16 15:30:16 StreamBabyMain: 130 STARTING StreamBaby v0.49...
Downloading file: http://iweb.dl.sourceforge.net/project/streambaby/tools/streambaby_MacOSX_tools_v0p33.zip ...
05/21/16 15:30:17 Listener: 125 added factory
05/21/16 15:30:17 Main: 275 MDNS: http://192.168.1.10:7290/streambaby/
05/21/16 15:30:17 Main: 276 streambaby ready & listening.
05/21/16 15:30:22 TiVoListener: 149 jmDns found TiVo: Roamio3T, tsn: 8460001902569D1
Download completed successfully
Extracting directory: /Applications/TIVO/streambaby/native/
Extracting file: /Applications/TIVO/streambaby/native/ffmpeg
Extracting file: /Applications/TIVO/streambaby/native/tdcat
Extracting file: /Applications/TIVO/streambaby/native/tivodecode
log after close : initContext version=49
05/21/16 15:31:07 Factory: 504 HME receiver connected
05/21/16 15:31:07 Application: 509 HME host: 192.168.1.10:7290
05/21/16 15:31:12 FFmpegExeVideoModule: 742 FFmpegCmd: /opt/local/bin/ffmpeg -i /Volumes/3TB-VideoCuda/Marble/01 - 2008 - Iron Man - 720p.mkv
05/21/16 15:31:13 FFmpegExeVideoModule: 742 FFmpegCmd: /opt/local/bin/ffmpeg -ss 0.0 -i /Volumes/3TB-VideoCuda/Marble/01 - 2008 - Iron Man - 720p.mkv -acodec ac3 -vcodec mpeg2video -f vob -async 1 -r 23.976 -v 0 -threads 1 -qscale 1 -ab 192k -ar 48000 tcp://127.0.0.1:8500
05/21/16 15:31:14 Listener: 423 192.168.1.69 8dbf3a15-21b1-40bc-a908-c7bbe6143b6e.stream HTTP GET - to factory /streambaby/
NOTE: Buffer limit set to 20 GB

Okay, something in Ver 50 broke it for me ... but reinstalling ver 49 fixed it again ...


----------



## wkearney99

Is it possible to have the date sorting set up as an option for specific directories? 

I have all my media on a fileserver, streambaby's ini accesses them via UNC paths and this works just fine. It's a linux-based QNAP NAS. It'd be trivially simple to set up additional shares to facilitate this.

I ask because it'd be convenient to see what's been added recently, but without losing the option of alphabetic sorting.

I'm thinking something like dir.x.sort.date and dir.x.sort.filename would be helpful.

That or on-the-fly changing via one of the abcd (colored) buttons on the newer remotes?


----------



## Mickeyjay

I have the same "Stream failed to open" issue with v0.50 and .avi files. Mpeg2 & Mp4(h264) files stream ok. Reverting to v0.48 all files stream as expected.


----------



## thewebgal

Mickeyjay said:


> I have the same "Stream failed to open" issue with v0.50 and .avi files. Mpeg2 & Mp4(h264) files stream ok. Reverting to v0.48 all files stream as expected.


Can you give us details of your host system?
What computer, what ver of the OS, which TIVO model? Thanks!


----------



## moyekj

Only difference between 0.49 version and 0.50 version is the ffmpegexe.transcode.sameqargs setting. So if you put this in streambaby.ini file it should make both versions identical:
ffmpegexe.transcode.sameqargs=-qscale 0 -ab 192k

I doubt the -maxrate addition should cause problems, but perhaps it is. So try with the above setting with version 0.50 and post how that works.


----------



## Mickeyjay

Adding the "ffmpeg.transcode...." line to the v0.50 .ini did the trick - avi files transcode as expected. From perusing documentation and discussions, it appears that with ffmpeg "-maxrate xxxx" might have to be int64 and have "-bufsize xxxx" to also be specified. So is there any reason for me to use v0.50 rather than v0.48?


----------



## moyekj

Mickeyjay said:


> Adding the "ffmpeg.transcode...." line to the v0.50 .ini did the trick - avi files transcode as expected. From perusing documentation and discussions, it appears that with ffmpeg "-maxrate xxxx" might have to be int64 and have "-bufsize xxxx" to also be specified. So is there any reason for me to use v0.50 rather than v0.48?


 What do you mean by int64?


----------



## Mickeyjay

I suspect it's aka mod64. From an ffmpeg help query:
" -maxrate <int64> E..VA... maximum bitrate (in bits/s). Used for VBV together with bufsize.....(default 0)
-minrate <int64> E..VA... minimum bitrate (in bits/s). Most useful in setting up a CBR encode. It is of little use otherwise....(default 0)
-bufsize <int> E..VA... set ratecontrol buffer size (in bits)....(default 0)"


----------



## moyekj

Oh, OK, I think it means 64 bit integer (long).


----------



## lpwcomp

Are they really anticipating a bitrate > 4Gb/s?


----------



## Mickeyjay

I've played around with the v0.50 ini and the following transcodes avi in good quality.
"ffmpegexe.transcode.sameqargs=-qscale 1 -bufsize 4096k -maxrate 25024k -ab 192k"
I don't have & can't find a clue what the -bufsize should actually be for this high of a -maxrate. Also -qscale values of 0 or 1 seem to yield the same quality but the use of 0 does not seem to fit the range of allowed values. It may be that 0 allows the encoder to set (vary?) the quality. Again - do I really need to use v0.50 ?


----------



## moyekj

Mickeyjay said:


> I've played around with the v0.50 ini and the following transcodes avi in good quality.
> "ffmpegexe.transcode.sameqargs=-qscale 1 -bufsize 4096k -maxrate 25024k -ab 192k"
> I don't have & can't find a clue what the -bufsize should actually be for this high of a -maxrate. Also -qscale values of 0 or 1 seem to yield the same quality but the use of 0 does not seem to fit the range of allowed values. It may be that 0 allows the encoder to set (vary?) the quality. Again - do I really need to use v0.50 ?


 No you don't. The only change as mentioned was o add -maxrate 25024k which was necessary to prevent some transcodes from very high bit rate titles (such as Blu Ray) from exceeding 25 Mbps which TiVos can't handle (makes them reboot). So it seemed like a reasonable/prudent change to make, but apparently it looks to break some transcodes from certain sources according to postings here, which I don't really understand.

It would be useful if someone could upload to somewhere a (short) file that doesn't transcode correctly when using 0.50 version so I can investigate further why -maxrate setting affects things adversely. From my brief testing of same quality transcodes the -maxrate addition had no side effects at all and is only expected to kick in if the source file being transcoded exceeds 25 Mbps bit rate.


----------



## Mickeyjay

I ran some more v0.5. tests using the .ini file.

The following are the results followed by the active optional line:
#-01-FAIL: Default ffmpeg transcode options - no additional sameqargs=
#-02-BLOCKY:"ffmpegexe.transcode.sameqargs="
#-03-OK:"ffmpegexe.transcode.sameqargs=-qscale 1 -ab 192k -ar 44100"
#-04-FAIL:"ffmpegexe.transcode.sameqargs=-qscale 1 -ab 192k -ar 44100 -maxrate 25000k"
#-05-OK:"ffmpegexe.transcode.sameqargs=-qscale 1 -ab 192k -ar 44100 -maxrate 25000k -bufsize 4096k"

From the logfiles - Test 04 runs the same ffmpeg command line as test 01.

By setting a too low "-maxrate" I also verified that it can affect the output quality (increased blocking.)

Maybe you could add a "-bufsize xxxxk" parameter to the hardcoded quality arguments. 4096k works but there might be a more suitable value.

Also my guess about "int64" meaning mod64 was wrong - the values for -maxrate and -bufsize do not need to be mod64.


----------



## moyekj

OK thanks. I just released version 0.51 that adds -bufsize 4096k to default ffmpegexe.transcode.sameqargs setting.


----------



## Mickeyjay

ver 0.51 works on .avi transcodes with no additional "ffmpegexe.transcode.sameqargs" arguments. Thanks again for your usual rapid responses & fixes (with KMTTG too.)


----------



## moyekj

Version 0.52 is now released with sorting toggle as requested by wkearney99. Press 1 to toggle between alphabetical and sort by date.


----------



## wkearney99

moyekj said:


> Version 0.52 is now released with sorting toggle as requested by wkearney99. Press 1 to toggle between alphabetical and sort by date.


Awesome! I'll load it up this weekend and report back.

I take it there's no way to use the ABCD keys in an HME app?


----------



## wmcbrine

wkearney99 said:


> I take it there's no way to use the ABCD keys in an HME app?


You can, yes. They're not in the last public version of the Java SDK, but you can see them in HME for Python:



Code:


KEY_OPT_A = 56
KEY_OPT_B = 57
KEY_OPT_C = 58
KEY_OPT_D = 59

The same codes should show up for a Java SDK app, of course, but you may have to update the version number it reports to the TiVo.


----------



## moyekj

Wouldn't want to use ABCD since it's not compatible with older TiVo units. 1 works with any TiVo.


----------



## msiemsen

In streambaby.bat, the line that runs java looks like this:

java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8

Notice the duplicate -Xmx256m options. Perhaps one should be -Xms256m? or one should be absent? Having it twice probably doesn't do anything.


----------



## babatunde

This post is perhaps just informational. I LOVE streambaby and have used it for a few years. 

I can't seem to get anything past 0.45 to work. I think I was using .46 fine, but it was not buffering enough for real-time viewing so I thought I would try the latest version .52. But that version always got me a "Failed to stream" message" so I went back to .45. 

I'm using the "stock" ini file with just my directories added to it. Perhaps I need to add some parameters. But I'm not as technical as most people here so I didn't want to make things worse by adding stuff to the ini file. 

Of course the problem could be that I'm still running XP on my computer! 

Cheers 

BT


----------



## moyekj

I would need to see debug log which can be generated as described in debugging_problems Wiki to have any chance of helping you figure out what's wrong.


----------



## NBohr

thewebgal said:


> Updated my MacPro to El Capitan and lost Streambaby - It seems to run in Terminal on the machine, but I go to the TIVO, click the Apps, then Streambaby and I get the Please Wait screen and it never goes further ...
> I reinstalled Sb 0.48 and Java 8 v 71 ...


Same problem. Worked on prior machine, doesn't on new machine. Updated from WinXP to Win10.

Have new installation of Java 8. v 91.


----------



## moyekj

NBohr said:


> Same problem. Worked on prior machine, doesn't on new machine. Updated from WinXP to Win10.
> 
> Have new installation of Java 8. v 91.


 Make sure you install and run the 32 bit version of Java, not 64 bit.


----------



## NBohr

Hi -

I have the 32 bit version of Java 8.0 on my Win10 machine. (I had ver. 6.0 on my previous WinXP machine.) 

I've run the Streambaby debug file, and there are no obvious errors.

I placed Streambaby in a folder outside Program Files (x86) to avoid permissions problems.

Thanks for your help. I used Streambaby on my last server and it was great.


----------



## moyekj

In the debug log when streambaby starts, is it finding and listing your TiVo(s) automatically on the network? If not then there's something network related between TiVo and streambaby server preventing them from finding each other (perhaps firewall related).


----------



## NBohr

moyekj said:


> In the debug log when streambaby starts, is it finding and listing your TiVo(s) automatically on the network? If not then there's something network related between TiVo and streambaby server preventing them from finding each other (perhaps firewall related).


Hi - my PC finds the Tivo's and identifies them by TSN. It also gets the correct IP address for the PC and the correct port.

I'm also running Plex - I've tried turning it on and off and running Streambaby, but I still can't get to the PC from the Tivo's, whether it's on or off.

Maybe it's the newer version of Java?


----------



## moyekj

I'm running latest Java 8 under Windows 10 and it works for me with streambaby. Reset the HDUI to see if that helps to see streambaby:
Thumbs down, Thumbs up, Play, Play

If "Enable Home Network Apps" is showing instead of "Disable Home Network Apps" then you need to click on that entry to allow local HME apps to be found.


----------



## NBohr

moyekj said:


> I'm running latest Java 8 under Windows 10 and it works for me with streambaby. Reset the HDUI to see if that helps to see streambaby:
> Thumbs down, Thumbs up, Play, Play
> 
> If "Enable Home Network Apps" is showing instead of "Disable Home Network Apps" then you need to click on that entry to allow local HME apps to be found.


Hi - I can see Streambaby just fine on the Tivos - they just can't connect to the server.

I tried the HDUI reset to no avail.

Is there a firewall issue, etc? I have tried disabling the firewall and the antivirus on the server, but no change.

This is all very strange.


----------



## moyekj

NBohr said:


> Hi - I can see Streambaby just fine on the Tivos - they just can't connect to the server.
> 
> I tried the HDUI reset to no avail.
> 
> Is there a firewall issue, etc? I have tried disabling the firewall and the antivirus on the server, but no change.
> 
> This is all very strange.


 Do you have TiVo Desktop running? If so that may be the issue. Try completely shutting it down or temporarily uninstalling. Then re-start streambaby and try again.

EDIT: The only other thing I can think of is if you are running VPN on server running streambaby that would create an issue.


----------



## NBohr

moyekj said:


> Do you have TiVo Desktop running? If so that may be the issue. Try completely shutting it down or temporarily uninstalling. Then re-start streambaby and try again.
> 
> EDIT: The only other thing I can think of is if you are running VPN on server running streambaby that would create an issue.


Thanks for your help. The problem resided in the build of Java I was using. I had build 91, and Streambaby didn't work. When I updated to build 102, Streambaby started working just fine.

Who would have guessed?


----------



## moyekj

build 91 does work, because that's what I'm using right now. My guess is just new Java install fixed something (perhaps added firewall exception or something along those lines).


----------



## sanjonny

Just downloaded the latest version .52 and put it in a new directory. The automated download link for the win32 tools points to the kmttg location and therefore does not work. I downloaded the tools manually, but that probably needs to be fixed.

Thanks for your ongoing development!


----------



## moyekj

sanjonny said:


> Just downloaded the latest version .52 and put it in a new directory. The automated download link for the win32 tools points to the kmttg location and therefore does not work. I downloaded the tools manually, but that probably needs to be fixed.
> 
> Thanks for your ongoing development!


 Thanks for pointing that out. I just corrected it so it should work now.


----------



## dougdingle

Just installed 0.53, changed the .ini file to point to a video folder, ran the .bat file, and it launched, downloaded and installed additional needed files in the native folder, according to the DOS box. 

I currently can't test with the Roamio - it's being used by a rabid football fan ODing on the first day of college ball, and I wish to continue living.

I can see streambaby from my mini, and loading it finds and shows the content of the video folder, but no matter which video I try to play, including MPG ones that I've successfully pulled to the Roamio Plus, I get error 0xffff on the mini. I've tried reducing the resolution with no luck.

Is it supposed to work on the minis, and if so, what the heck am I doing wrong?

Thanks.


----------



## dougdingle

dougdingle said:


> Just installed 0.53, changed the .ini file to point to a video folder, ran the .bat file, and it launched, downloaded and installed additional needed files in the native folder, according to the DOS box.
> 
> I currently can't test with the Roamio - it's being used by a rabid football fan ODing on the first day of college ball, and I wish to continue living.
> 
> I can see streambaby from my mini, and loading it finds and shows the content of the video folder, but no matter which video I try to play, including MPG ones that I've successfully pulled to the Roamio Plus, I get error 0xffff on the mini. I've tried reducing the resolution with no luck.
> 
> Is it supposed to work on the minis, and if so, what the heck am I doing wrong?
> 
> Thanks.


Never mind. Duhhh.

*"First of all you aren't trying to stream to a Mini are you? Because that's not supported."
*
I searched for "mini 0xffff" and got nothing. Should have narrowed it.

Streaming from my machine (or a designated home media server) to a mini is something I really want to make happen. Any suggestions from anyone what might work for that?


----------



## moyekj

dougdingle said:


> Streaming from my machine (or a designated home media server) to a mini is something I really want to make happen. Any suggestions from anyone what might work for that?


 If you supply tivo.username and tivo.password settings in your streambaby.ini file then from streambaby you can push a video to a non-mini dvr from the mini running streambaby. Then while the push is active to destination TiVo you can stream it from the Mini just as any other recording. i.e. In that use model the Mini is just using streambaby front end to find and push videos to a real non-Mini dvr.

Probably better option for true streaming to Mini is to use Plex.


----------



## lpwcomp

moyekj said:


> If you supply tivo.username and tivo.password settings in your streambaby.ini file then from streambaby you can push a video to a non-mini dvr from the mini running streambaby. Then while the push is active to destination TiVo you can stream it from the Mini just as any other recording. i.e. In that use model the Mini is just using streambaby front end to find and push videos to a real non-Mini dvr.
> 
> Probably better option for true streaming to Mini is to use Plex.


Especially since push is very iffy lately.


----------



## dougdingle

lpwcomp said:


> Especially since push is very iffy lately.


In fact, push is not working for me out of streambaby, either.

Seems time has come to consider Plex.


----------



## jgantert

So now that Plex requires a login, is there any chance this feature could be added to streambaby? Right now the only option is to add the streambaby IP address to the authentication not required list (which is acceptable for me since it is a local IP).

From the Plex release announcement:
Plex Media Server 1.1.3 is now available for everyone.
IMPORTANT: With the security changes in version 1.1.0, if your Plex Media Server is signed in to a plex.tv account, then all of the apps you use must also be signed-in. If you use older apps that cannot authenticate (e.g. LG's MediaLink app), you can add the IP address of the device to the following advanced preference: Settings > Server > Network > List of IP addresses and networks that are allowed without auth. (We strongly encourage apps to be signed in for improved security and enhanced functionality.)


----------



## ismikes

I have a Tivo Premiere with the most recent software version installed and I had Streambaby up and running in about five minutes. I've got some technical skills so it was very easy. An installer would be a good idea for those who lack such skills.

I have Streambaby installed and running on a Windows 10 box with the latest 64 bit Java. I moved the folder to the Program Files (x86) folder then tested to make sure it was still working right. Then I did the Service install and now it is working perfectly as an automatic start service.

Nice work folks!


----------



## dougdingle

ismikes said:


> I have a Tivo Premiere with the most recent software version installed and I had Streambaby up and running in about five minutes. I've got some technical skills so it was very easy. An installer would be a good idea for those who lack such skills.
> 
> I have Streambaby installed and running on a Windows 10 box with the latest 64 bit Java. I moved the folder to the Program Files (x86) folder then tested to make sure it was still working right. Then I did the Service install and now it is working perfectly as an automatic start service.
> 
> Nice work folks!


Yeah, he does nice work. If it worked with the Mini, I'd offer to have his love child .

I'm playing with Plex, and it's just amazing how much worse it runs in every respect possible on the TiVo Roamio and Mini when compared to, say, on the Amazon Fire.

And restricting it to 720 and 4 Mb/s on TiVos is just plain brain dead .


----------



## ismikes

I'm noticing that in some of the SRT files I'm using the text starts with _ and ends with _ I'm assuming that this means that the text should be italicized. However, that's not happening. The _ and _ are not being interpreted, rather they are just being displayed like the rest of the text. Is this something that could be easily corrected?


----------



## moyekj

No, not easily, because HME doesn't let you arbitrarily mix different fonts, so to add italic support would mean having to break up a line horizontally into multiple pieces of separate text blocks as opposed to 1 text block per line which is being used now.


----------



## orangeboy

moyekj said:


> berkinet said:
> 
> 
> 
> OTOH, when I got stream baby to work (manual start from the command line) it displays with "\032" in place of the spaces:_ stream\032baby_ I guess this is a known issue... but, is there a workaround?
> 
> 
> 
> It's a TiVo bug. Workaround is use a title without spaces in streambaby.ini. I have following entry for title which shows up fine:
> title=streambaby
Click to expand...

For what it's worth, I added "spaces" to titles using <alt>0160 (on Windows).
http://www.umsiko.co.za/links/specchar.html


----------



## orangeboy

I am curious how resume processing works. I tried tracing it through the various .java files, but figured I would get a quicker answer by asking! 

Is it possible to "pre-load" resume points? I have some music videos and it would be nice to (always) resume to a specific time stamp within the video file. Even if it involved "hard-linking" (my version of Windows only flavor of linking) the same video file to many different names, it would be worth it to me. 

For example -
Base file/full movie: "00 - The Delicate Sound of Thunder.mp4"
Hardlinked file name: "01 - Shine On You Crazy Diamond (Part I).mp4" - resume time 00:01:00.960
Hardlinked file name: "02 - Signs of Life.mp4" - resume time 00:04:16.889
Hardlinked file name: "03 - Learning to Fly.mp4" - resume time 00:07:41.294
Hardlinked file name: "04 - Sorrow.mp4" - resume time 00:12:25.845
and so on...

Of course I could cut the base file up to individual pieces, but either the continuity is broken attempting to play all files if the base file is deleted to save precious hard drive space, or "double" the space is required to preserve the base file and all it's pieces. I would much rather just point to places within "one" file.


----------



## rfryar

I looked through the thread and I did not see if push has been solved except by reverting to an older Java. Has it been solved? Here is the error I am seeing



Code:


11/11/16 17:00:49 InternalPush: 57 intPush: file:////myNASserver/Media/Videos/Rips/MyMovie.mp4, tivo: LivingRoamio
11/11/16 17:00:50 Mind: 366 <?xml version="1.0" encoding="utf-8"?><error>[CODE]memcacheError

<debug>14</debug><text>Memcache error while doing login</text></error>
11/11/16 17:00:50 InternalPush: 65 ERROR: Failed to login to tivo-push-control: r***@****.***, **********
[/code]

My Java Version


Code:


java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)


----------



## moyekj

Pushes are broken for everyone using any tool - pyTivo, TiVo Desktop, streambaby. TiVo broke tivo.com authentication for pushes.


----------



## dorpen

I'm having the same problem with the pushes, having to try multiple times for it to work, if at all.
Today when I started pytivo and it was scanning for my two tivos, it was not able to find either.
I've been trying pytivo all day but each time when it starts, it scans for the Tivos but does not find them. 
Any ideas what is causing this problem?

dorpen


----------



## Dixon Butz

dorpen said:


> I'm having the same problem with the pushes, having to try multiple times for it to work, if at all.
> Today when I started pytivo and it was scanning for my two tivos, it was not able to find either.
> I've been trying pytivo all day but each time when it starts, it scans for the Tivos but does not find them.
> Any ideas what is causing this problem?
> 
> dorpen


Read the post above yours...


----------



## dorpen

dorpen said:


> I'm having the same problem with the pushes, having to try multiple times for it to work, if at all.
> Today when I started pytivo and it was scanning for my two tivos, it was not able to find either.
> I've been trying pytivo all day but each time when it starts, it scans for the Tivos but does not find them.
> Any ideas what is causing this problem?
> 
> dorpen


I see there is is general push problem.
I found the wireless network name had been changed so when I updated it on my Tivos, the scan was able to find them.


----------



## wkearney99

Is streambaby capable of streaming with subtitles? Not as bitmapped text in the picture, but as actual text that can be turned on/off during the stream (at the tivo end)

If so, what container format and codecs support this?

I've got a number of disc rips (into MKV) that have subtitles. I'm debating what container/codec to use, as 264 saves QUITE a lot of space compared to the straight format pulled from the discs. Disk space is relatively cheap, I know, but it becomes tedious adding more storage vs dramatically reducing the file size with 264 encoding. Sure, quality takes a slight hit, but it's DVD material anyway.


----------



## wkearney99

Is there an .ini option to configure where streambaby puts the cache directory? I just notice mine had grown to +300MB. The machine's running on an SSD and space is a premium. I've got another spinning rust drive that'd be a better candidate for it. I could, I suppose, just run it ALL from the hard drive. But if there's a .ini option I'd use it.


----------



## moyekj

If you have a .srt file with captions accompanying your video file then streambaby can use it (ASPECT/ZOOM button toggles captions on/off).

There are a bunch of CC related options in the ini. Look at:
streambaby / Wiki / StreamBabyIni
(Closed Captioning Options section)


----------



## moyekj

ini looks like has cache related options in it if you check above Wiki link:
*preview.disable= (default:0)*
* 0=Don't disable
* 1=Disable, but show window with time during ffwd/rewind in previewmode
* 2=Disable completely, only move shuttle bar during preview

*preview.displaytime= (default:true)*
Display the time over the preview image when ffwding/rwding

*preview.cache= (default:cache)*
Directory to look for (and possibly store) static pvw files

*preview.autogenerate= (default:true)*
Autogenerate static pvw files when file is played for first time

*autogenerate.continue= (default:true)*
continue autogeneration of previews, even when movie stopped

*autogenerate.delete= (default:false)*

I have preview.disable=1 since I don't care about having preview pictures and try and avoid skipping ahead of the current buffer.


----------



## thewebgal

Has anyone had issues with Streambaby 53 running on MacOS Sierra? I was working earlier just fine. But, I hadn't used it in a while, and when I start it on our Roamio last weekend it never seemed to complete connecting -
So I just reloaded Java and Streambaby ... no real change. I even tried loading Java for OSX from last year - no change. It starts trying to connect - and eventually times out.


----------



## brenth77

Have searched and been unable to find reports of a similar issue to what I'm experiencing. I've been very happily using StreamBaby with my two Tivo Roamios for over a year, now, and really appreciate the work put into it. I use KMTTG to backup recordings to a shared folder on a Windows PC and then use StreamBaby to play them back later. It's been working perfectly until the last day or so.

Now, if I try to stream any MP4 file at "same quality" using the internal module without transcoding, the buffer bar fills but the video never starts playing. The only way I can get it to play is via ffmpeg transcoding by either choosing a lower rate or by disabling the internal MP4 module altogether via the ini file (mp4module.disable=true).

These are the same video files that were literally playing fine with the internal module a day or two ago. I'm running the latest version of StreamBaby. I tried restarting all involved devices. I tried a fresh install of StreamBaby. I tried an older version of ffmpeg. I tried mp4module.interleave=false. No errors in the log when the video is played.

Wondering if the latest update that was pushed from Tivo (that included accessibility improvements) has broken things.


----------



## moyekj

I heard from someone else that apparently the new software update broke something related to playing H.264 video in mp4 container natively on the TiVo, at least through HME. If you play mpeg2 (or force transcode to mpeg2) then it works. Haven't had a chance to test it myself yet.


----------



## KevoW

moyekj said:


> I heard from someone else that apparently the new software update broke something related to playing H.264 video in mp4 container natively on the TiVo, at least through HME. If you play mpeg2 (or force transcode to mpeg2) then it works. Haven't had a chance to test it myself yet.


I just got a TiVo Roamio OTA and tried Plex, but it was a lame experience, so I looked for other options and found streambaby. Worked great on some things, and showed corrupted video or nothing/black on others. After reading this thread I disabled the built in mp4module and it did fix the problem, but it's a little slow on big HD files. Hopefully they'll fix the problem. Anyone know the right method to report such an issue to TiVo support?


----------



## moyekj

Just confirmed like some of you guys posted that H.264 video in mp4 container no longer seems to play natively via HME. Only way to get it to work is forcing transcode to mpeg2. Another blow to functionality that has worked for a long time for the TiVo platform.


----------



## brenth77

KevoW said:


> I just got a TiVo Roamio OTA and tried Plex, but it was a lame experience, so I looked for other options and found streambaby. Worked great on some things, and showed corrupted video or nothing/black on others. After reading this thread I disabled the built in mp4module and it did fix the problem, but it's a little slow on big HD files. Hopefully they'll fix the problem. Anyone know the right method to report such an issue to TiVo support?





moyekj said:


> Just confirmed like some of you guys posted that H.264 video in mp4 container no longer seems to play natively via HME. Only way to get it to work is forcing transcode to mpeg2. Another blow to functionality that has worked for a long time for the TiVo platform.


Thanks both for confirming. Had been trying everything and hated to keep wasting more time trying to solve the problem if it was out of my control.

Can't imagine that Tivo will care about this or be in any hurry to fix it. Imagine best hope would be that maybe some tweak to the internal MP4 module of Streambaby could restore functionality.

In the meantime, my file server is a low-power setup and not capable of real-time transcoding. May see about converting all my MP4 recordings over to MPEG so they'll stream without transcoding.


----------



## lotusbobnow

Yesterday StreamBaby and my Tivo units stopped worked properly. Some videos do not stream, some do. Prior to this point, all videos streamed properly.
My environment
Multiple StreamBaby 029 installs,
Different Java versions, although most on the current version. 
All Tivo Premier units. 
Everything on this network all worked perfectly. Streaming from any PC to any Tivo.
Beginning on December 4th 2016 large number of files will not stream, only show a black screen. However some videos still do stream properly. Very small percent of the total files work properly.
I have determined that when a video does not stream properly, java is launched in the task manager. When videos do properly stream, ffmpeg.exe is launched.

This happened to my entire network suddenly and globally. 
Any Tivo updates? 
Any thoughts? Logging?
Anyone else having problems?


----------



## lotusbobnow

brenth77 said:


> Thanks both for confirming. Had been trying everything and hated to keep wasting more time trying to solve the problem if it was out of my control.
> 
> Can't imagine that Tivo will care about this or be in any hurry to fix it. Imagine best hope would be that maybe some tweak to the internal MP4 module of Streambaby could restore functionality.
> 
> In the meantime, my file server is a low-power setup and not capable of real-time transcoding. May see about converting all my MP4 recordings over to MPEG so they'll stream without transcoding.


Hmmmm, that seems like what is happening on my system. What is this realtime transcoding? How do you configure?


----------



## lotusbobnow

brenth77 said:


> Have searched and been unable to find reports of a similar issue to what I'm experiencing. I've been very happily using StreamBaby with my two Tivo Roamios for over a year, now, and really appreciate the work put into it. I use KMTTG to backup recordings to a shared folder on a Windows PC and then use StreamBaby to play them back later. It's been working perfectly until the last day or so.
> 
> Now, if I try to stream any MP4 file at "same quality" using the internal module without transcoding, the buffer bar fills but the video never starts playing. The only way I can get it to play is via ffmpeg transcoding by either choosing a lower rate or by disabling the internal MP4 module altogether via the ini file (mp4module.disable=true).
> 
> These are the same video files that were literally playing fine with the internal module a day or two ago. I'm running the latest version of StreamBaby. I tried restarting all involved devices. I tried a fresh install of StreamBaby. I tried an older version of ffmpeg. I tried mp4module.interleave=false. No errors in the log when the video is played.
> 
> Wondering if the latest update that was pushed from Tivo (that included accessibility improvements) has broken things.


Sounds like the problem I am having.


----------



## moyekj

Look up in this thread a few posts. TiVo 20.6.3 software broke mp4/H.264 streaming. The only workaround known for now is to disable H.264 in streambaby such that they get transcoded to mpeg2. In streambaby.ini add:
mp4module.disable=true

Sincerely doubt TiVo will ever fix it since HME video streaming was never something officially supported by TiVo in the 1st place.


----------



## lotusbobnow

moyekj said:


> Look up in this thread a few posts. TiVo 20.6.3 software broke mp4/H.264 streaming. The only workaround known for now is to disable H.264 in streambaby such that they get transcoded to mpeg2. In streambaby.ini add:
> mp4module.disable=true
> 
> Sincerely doubt TiVo will ever fix it since HME video streaming was never something officially supported by TiVo in the 1st place.


I appreciate all the info here. I disabled the mp4 as described and it works now. Hopefully Tivo will repair this for us. Not confident.


----------



## vanclute

I'm having the same issue, unfortunately the solution given has done absolutely nothing for me. I made the change to the .ini, rebooted the Mac server (PyTivo) and the Roamio. No change at all. Any other ideas?


----------



## moyekj

If you're using pyTiVoX I don't think that allows you to update streambaby part. You should run strerambaby standalone and latest version (0.53).


----------



## vanclute

moyekj said:


> If you're using pyTiVoX I don't think that allows you to update streambaby part. You should run strerambaby standalone and latest version (0.53).


You can easily update streambaby in PyTivoX, you just have to open the container and inside is a streambaby folder. I've been doing that for years.

So assuming that playing h.264 content is now a non-starter, and if I can't disable the mp4 module... if I were to convert all my .mp4 content to something else, what's the best option" .mkv? I don't like the idea of converting to something that can't also easily be played on an iOS device, so I'm not sure how wild about that idea I am from what I'm reading.


----------



## moyekj

That's what I'm saying. A properly installed/functioning version of streambaby with that setting in streambaby.ini WILL disable mp4 module and force transcoding to mpeg2 which makes things work, as testified by some recent posts here and verified by me. I think you mentioned in sourceforge forum you still have the buffer limit issue - that tells me you're still running an old version of streambaby since the buffer limit issue was fixed many releases ago.


----------



## vanclute

Hmmm... well I have no other version of Streambaby on the machine except the newest release, so I don't see how it could be possible for me to be running a super old build. I've only run it this way (updating SB inside the PyTivoX container) for years, and as of the claim when that issue was addressed, I still had it, and no other version of SB anywhere. I'll see about running a fresh standalone version and see what happens but I don't see how it could be any different. Will post my results.


----------



## zabolots

moyekj said:


> Look up in this thread a few posts. TiVo 20.6.3 software broke mp4/H.264 streaming. The only workaround known for now is to disable H.264 in streambaby such that they get transcoded to mpeg2. In streambaby.ini add:
> mp4module.disable=true
> 
> Sincerely doubt TiVo will ever fix it since HME video streaming was never something officially supported by TiVo in the 1st place.


I've confirmed that the old Linux box I have which hosts my media files & streambaby is not powerful enough to handle the real-time conversion of the files I had encoded with MP4/H.264. While I can view them with Plex, I'm wondering if there's another encoding that would work with streambaby?

It seems that there should be some MP4 encoding that would work since TiVo can handle the MP4 streams that Comcast uses for their HD video, but this opinion is based on my admittedly limited knowledge of the internal TiVo decoding logic.

Scott


----------



## moyekj

It's not a question of encoding. The problem is TiVo broke HME video for mp4 period, for any encoding. We know the TiVo itself can decode H.264 video with no problem since you can still use pyTivo to pull them to a TiVo for viewing without the need for them to get transcoded to mpeg2. (Technically pyTivo will re-mux to TS container with H.264 video for a pull, but that format has never worked for HME, so it's not a simple question of re-muxing to TS container).


----------



## zabolots

moyekj said:


> It's not a question of encoding. The problem is TiVo broke HME video for mp4 period, for any encoding. We know the TiVo itself can decode H.264 video with no problem since you can still use pyTivo to pull them to a TiVo for viewing without the need for them to get transcoded to mpeg2. (Technically pyTivo will re-mux to TS container with H.264 video for a pull, but that format has never worked for HME, so it's not a simple question of re-muxing to TS container).


Thanks for the explanation. Do you think they "broke" it intentionally or do you think it was an inadvertent byproduct of some other change they made? I'm wondering if there's anybody from TiVo monitoring this that would be able to shed some light on what the deal is.


----------



## moyekj

I don't know how it broke, but note that 20.6.3 broke other legacy functions such as HMO music and MRV in 1 direction to series 3 and older units as well, so looks like TiVo made some pretty deep changes in code for 20.6.3 without paying any attention to legacy functionality. In last few months they also broke tivo.com access for series 3 units which they never fixed, so it almost looks to me like some of these things that are getting broken they intentionally don't plan to fix.


----------



## wmcbrine

moyekj said:


> I don't know how it broke, but note that 20.6.3 broke other legacy functions such as HMO music


For me, so far, under 20.6.3, HMO music still works on the Bolt, but not on the Roamio or gen 1 Mini. Which I find quite bizarre, but there it is.


----------



## moyekj

wmcbrine said:


> For me, so far, under 20.6.3, HMO music still works on the Bolt, but not on the Roamio or gen 1 Mini. Which I find quite bizarre, but there it is.


 Is HME mp4 video working for Bolts too still?


----------



## JoeKustra

moyekj said:


> I don't know how it broke, but note that 20.6.3 broke other legacy functions such as HMO music and MRV in 1 direction to series 3 and older units as well, so looks like TiVo made some pretty deep changes in code for 20.6.3 without paying any attention to legacy functionality. In last few months they also broke tivo.com access for series 3 units which they never fixed, so it almost looks to me like some of these things that are getting broken they intentionally don't plan to fix.


Another subtle change you may not have noticed. If a TiVo is removed from a network with multiple TiVo boxes, the entry in My Shows was unchanged until a restart. Now that entry goes gray in a few minutes and can be removed quickly. A small change, but what unintended consequences may be the result?


----------



## vanclute

So I have installed vanilla streambaby and now it doesn't work at all. Every time it runs, I get "ERROR: error in opening zip file" after it downloads the MacOSX tools file. Nothing will play, some folders appear empty, etc. I've tried manually decompressing the zip file and all I get is a .cpgz file which when decompressed, creates the same MacOSX_tools zip file all over again in a recursive loop. Maddening.

Anyone know how to fix this? I couldn't find anything when searching.


----------



## moyekj

You can download the tools zip file manually and install it under "native" folder wherever you installed streambaby:
https://sourceforge.net/projects/streambaby/files/tools/streambaby_MacOSX_tools_v0p33.zip/download

FYI, I fixed the base URL used for downloading tools zip file, so the automated download should work again.


----------



## vanclute

Thanks for that. I was able to download and unzip manually. The download still completes every time Streambaby runs, but of course the unzip fails.

Now however, SB doesn't work at all... doesn't even show up on the Tivo anymore. Multiple reboots, no dice. SB says it's listening, everything looks good with the exception of the unzip failure. No idea what to look at now.


----------



## moyekj

Remove the .zip file and the "native" folder and let it re-download and install automatically.

If still no dice follow instructions for debug wiki:
streambaby / Wiki / debugging_problems


----------



## vanclute

Oh jeez... how did I miss this...

Dec 14, 2016 7:00:00 PM javax.jmdns.impl.JmDNSImpl closeMulticastSocket
WARNING: closeMulticastSocket() Close socket exception 
java.net.SocketException: Can't assign requested address

Suggestions?


----------



## vanclute

PS no change regarding the download/unzip, still fails.


----------



## vanclute

OK got it, had to reinstall java.

Almost there... one last issue to address but I think it's a path problem on my end.

EDIT: Yep I had a bad path to one of my drives. All appears to be working now... thanks for all the help!


----------



## vanclute

WHEW! OK for anyone else like me who vastly prefers to continue using PyTivoX... the trick is that the mp4 disable setting has to be added to streambaby-user.ini that needs to go in ~/Library/Application Support/pyTivoX

Once I finally figured that out, I could just update SB like I always have inside the PyTivoX app, and all is well with the world. Yay!


----------



## zabolots

moyekj said:


> Is HME mp4 video working for Bolts too still?


No, I tried streaming an MP4 file from streambaby to my new Bolt and it did not work.


----------



## robin50

I'm glad I kept several Series3 lifetime units. These are still are able to stream MP4 files. I now have one sitting next to my Roamio. Unfortunately it inhales ~40W which costs about $40/yr (not to mention the waste of energy) if left running constantly. And of course we have to change the input on the TV and grab a different remote.


----------



## moyekj

Yes, series 3 is certainly better for HME mp4 streaming now. At least I suppose there's a workaround for series 4 and later to force it to transcode all mp4s to mpeg2 to allow it to work still, but in that regard doesn't make it much better than PLEX.


----------



## gllj

So this is going to seem like a dumb question, but is there any way to revert the interface to the older layout? I really dont like the new smaller fonts and left justified text. I turned off the sideview, but all that does is make the left pane even more obviously unbalanced. I miss the centered text and bigger fonts from V20120828-2030 (gettin' old).


----------



## zabolots

moyekj said:


> Yes, series 3 is certainly better for HME mp4 streaming now. At least I suppose there's a workaround for series 4 and later to force it to transcode all mp4s to mpeg2 to allow it to work still, but in that regard doesn't make it much better than PLEX.


Is there some way to tweak the conversion settings for Streambaby to convert MP4 to MP2 to reduce the CPU horsepower needed? As it stands now, when I disable the MP4 option in Streambaby my old media server is not fast enough to handle the realtime conversion (though Plex seems to handle it just fine).


----------



## moyekj

Slow down transcoding while still preserving adequate quality? No, don't know how to do that. Probably better option is to use a different more powerful server to pre-transcode your recordings to MP2 for streambaby use.


----------



## brenth77

zabolots said:


> Is there some way to tweak the conversion settings for Streambaby to convert MP4 to MP2 to reduce the CPU horsepower needed? As it stands now, when I disable the MP4 option in Streambaby my old media server is not fast enough to handle the realtime conversion (though Plex seems to handle it just fine).


When I tried Plex, there was no CPU load increase at all when streaming the MP4 files. So looks like Plex is just sending the MP4s to Tivo without transcoding them. I swapped an i5-2400 in place of the i3-2120T in my main server, and it still struggles with the Streambaby real-time transcoding. Unfortunate that the Intel QSV can't be used.


----------



## Tugpsx

Im sure this has been covered somewhere in this thread before, but Im running Streambaby 0.53 on a Mac and lately i have to set the quality to 512 kb/s for the movies to stream to my series5 Tivo. My streambaby.ini file has directory location and two other lines

com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
ffmpeg.path=/Applications/streambaby/ffmpeg

Anyone know how i can fix this so i don't have to keep setting quality = 512 kb/s to watch movies.


----------



## moyekj

Tugpsx said:


> Im sure this has been covered somewhere in this thread before, but Im running Streambaby 0.53 on a Mac and lately i have to set the quality to 512 kb/s for the movies to stream to my series5 Tivo. My streambaby.ini file has directory location and two other lines
> 
> com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule=false
> ffmpeg.path=/Applications/streambaby/ffmpeg
> 
> Anyone know how i can fix this so i don't have to keep setting quality = 512 kb/s to watch movies.


TiVo broke HME H.2564 video streaming in 20.6.3 release. Best known workaround to the problem is to set this in your streambaby.ini file:
mp4module.disable=true


----------



## Tugpsx

Thanks, that works. I no longer have to set the rate for the movies to play. Is there an easy way to show more posters rather than just file names, similar to that of Plex.


----------



## moyekj

You have to provide your own image information in pyTivo metadata text file with this field:
image : star_wars2.jpg

Or it will display images embedded in mp4/m4v metadata.


----------



## thewebgal

MacPro 5.1 w/OSX Sierra 10.12.2 - somewhere over the last month, Streambaby is working again on my machine ...
I did do a Java reinstall at one point but December was busy and I'm not sure what actually fixed it.


----------



## bobcat7978

Having issues getting streambaby to start on boot via init.d scripts. I can run them through sudo or as root from the command line with no issue as I always have, but when they run during boot, I get no errors, even on debug level, just never get the MDNS lines where it finds my boxes on the network. I tried setting the init scripts to start after everything else that starts on boot is finished, and I tried hardcoding the IP thinking that maybe streambaby was being started before the network was brought up, but no dice. The program launches, and my tivos see the application but I get an error on the tivo when I try to access the app saying that the app is not currently available. Anyone else experience issues getting it to run on boot up?

Running on Linux Mint 18.1


----------



## Genie30

I didn't know where to post this question but any suggestions would be appreciated i used streambaby once and now i want to remove streambaby from the apps and game menu of my tivo but i dont see any options to. I've already tried the clear button on the remote when the app is highlighted but no change in problem.


----------



## bobcat7978

You still have the service running on your computer, that's why it shows up. If you don't want it anymore you have to remove the service from the server.



Genie30 said:


> I didn't know where to post this question but any suggestions would be appreciated i used streambaby once and now i want to remove streambaby from the apps and game menu of my tivo but i dont see any options to. I've already tried the clear button on the remote when the app is highlighted but no change in problem.


----------



## Genie30

bobcat7978 said:


> You still have the service running on your computer, that's why it shows up. If you don't want it anymore you have to remove the service from the server.


Thank you for your reply could you tell me how to remove streambaby from the server please?


----------



## bobcat7978

Are you running it in a Windows computer or a Linux system? I run Linux, so I'm not as familiar with the Windows version but if you have windows, I'd expect that you could go into the control panel and then select add and remove programs, and remove the stream baby entry. You could also, in the control panel, go to services and find the entry for stream baby and set it to disabled.


----------



## moyekj

If you are actually running streambaby service then you can uninstall it:
<StreamBaby Installation Dir>\extra\service\win32\uninstall-streambaby-service

Otherwise if you are just running the GUI then just close the streambaby window. The entry will stick around on your TiVo for a while but if you reboot your TiVo it will no longer be there.


----------



## Genie30

moyekj said:


> If you are actually running streambaby service then you can uninstall it:
> <StreamBaby Installation Dir>\extra\service\win32\uninstall-streambaby-service
> 
> Otherwise if you are just running the GUI then just close the streambaby window. The entry will stick around on your TiVo for a while but if you reboot your TiVo it will no longer be there.


I didnt actually install it although i did closed the gui window and turned off my tivo and turned it back on and it was still there. I'm not sure what i'm missing. I also use windows 8.1 pro


----------



## Genie30

moyekj said:


> If you are actually running streambaby service then you can uninstall it:
> <StreamBaby Installation Dir>\extra\service\win32\uninstall-streambaby-service
> 
> Otherwise if you are just running the GUI then just close the streambaby window. The entry will stick around on your TiVo for a while but if you reboot your TiVo it will no longer be there.


I guess all it needed was some time after following your instructions. Thanks again for your help


----------



## tluxon

moyekj said:


> TiVo broke HME H.2564 video streaming in 20.6.3 release. Best known workaround to the problem is to set this in your streambaby.ini file:
> mp4module.disable=true


I hadn't used Streambaby in a few months, so I didn't know it had been "broken". Adding this setting to my streambaby.ini file solved the issue. Thanks!


----------



## moyekj

0.54 version released. Only change is to permanently disable mp4module by default so no need to set mp4module.disable = true in streambaby.ini in order to get mp4 video streaming to work. i.e. Out of the box mp4 streaming should now work again (transcoding to mpeg2).


----------



## dchomak

Thanks for that, even though i had already set mp4module.disable = true.
I just have to say that StreamBaby has been working flawlessly for me. Never a problem.

My only wish is that I could do a search withing StreamBaby over several drives at once.
Back in my Amiga days, there was an AmigaDOS command "assignadd" where you could assign several drives to another new drive, say "Z:"

I have already tried the MSDOS command "subst" and I can use that to assign one drive, but not 2 or more. StreamBaby.ini will recognize it, so I am thinking it could be possible if anybody knows of a DOS command similiar to the AmigaDOS command "assignadd"


----------



## orangeboy

dchomak said:


> Thanks for that, even though i had already set mp4module.disable = true.
> I just have to say that StreamBaby has been working flawlessly for me. Never a problem.
> 
> My only wish is that I could do a search withing StreamBaby over several drives at once.
> Back in my Amiga days, there was an AmigaDOS command "assignadd" where you could assign several drives to another new drive, say "Z:"
> 
> I have already tried the MSDOS command "subst" and I can use that to assign one drive, but not 2 or more. StreamBaby.ini will recognize it, so I am thinking it could be possible if anybody knows of a DOS command similiar to the AmigaDOS command "assignadd"


It's not command line, but you can logically mount a drive at a directory path in modern Windows installs using Disk Management.
Presume drives C, D, and E are present.
Create empty directories "C:\DDRIVE" and "C:\EDRIVE" as a mount points for your D: and E: drives. These names are only examples. Choose valid names of your own.
Launch the Disk Management snap-in by executing diskmgmt.msc.
Right-click the D drive, and select "Change Drive Letter and Paths".
Click Add, and either provide "C:\DDRIVE", or browse for the empty directory for the "Mount in the following empty NTFS folder" selection.
Click Ok.
Repeat the process for the E drive, selecting "C:\EDRIVE" as the mount point.
Voila - Both D: and E: are available for searching _from_ your C drive.
Beware of recursion. It is possible to make a mount point for "C:" on "C:". Doing "DIR /S" will likely only end when the path becomes too long.
Also defining a mount point for E: on D:, and a mount point for D: on E: can get you looping as well...


----------



## vanclute

I recently put my media center (mac Mini) behind my VPN, and ever since then Streambaby doesn't work. If I take the media center out from behind the VPN and relaunch Streambaby, all is well.

Does anyone know what causes this and most importantly what to do to fix it?


----------



## moyekj

VPNs block prevent broadcast packets that TiVo needs to find local HME apps like streambaby from being seen. Don't know any workaround. Perhaps "Add an App" under TC--Apps may work by entering the IP of machine running streambaby, but doubtful that will work.


----------



## vanclute

Thanks, possibly silly question though... what is "TC-Apps"


----------



## moyekj

TiVo Central--Apps & Games


----------



## vanclute

Yeah sadly, didn't work.


----------



## vanclute

Holy crap I think I fixed it. Went into my router and port forwarded 7290 to the media server, and also discovered that UPnP was disabled. Turned that on for good measure, rebooted the server, and presto... everything showed up immediately. Not only that but menu responsiveness from a TiVo Premiere feels WAY faster... time will tell if I'm imagining things or not!


----------



## ClearToLand

vanclute said:


> *Holy crap I think I fixed it*. Went into my router and port forwarded 7290 to the media server, and also discovered that UPnP was disabled. Turned that on for good measure, rebooted the server, and presto... everything showed up immediately. Not only that but menu responsiveness from a TiVo Premiere feels WAY faster... time will tell if I'm imagining things or not!


*Congratulations on your *FIRST* LIKE in (almost) 17 years!* :clapping:

I've just begun playing around with Streambaby myself, along with the *kmttg 'Web Server'* (which reminds me that Kevin still hasn't answered my 'Web Server' question from OVER a week ago.  )

And, besides just getting into switching over to 'Managed Switches' (unintended word play) for QoS, VLANs and VPNs are on my 'Round Tuit' list (for learning and experimenting)...


----------



## vanclute

Holy crap my first like? Really?? That's hilarious... shows how much I pay attention to such things, I had no idea. Man I've been around these forums a long time. Good grief. Obviously signed up when I got my first TiVo. Time sure flies...

I played with kmttg for a while years ago, it was really quite cool but I didn't have the patience to set it all up to run unattended etc. Especially when I discovered that other people have already done all that work and post the torrents online anyway! Not worth the hassle.  Didn't know there was a web server version now though... that's intriguing. I do not however, need another project! LOL


----------



## vanclute

Well crap, so much for that theory. Back to where I was before... seems as though everything suddenly working was just a byproduct of having rebooted everything. Guessing the VPN just wasn't engaged yet when I checked. Now StreamBaby won't show up again on any of the TiVos (2 premieres and a Roamio). The roamio is even behind the same router as the media mac, so in theory if this were any kind of router issue blocking outside traffic, that would be the one TiVo that would always work. But it doesn't either.

This definitely looks to be the fault of Tunnelblick routing all non-browser traffic through itself and interfering with SB. Does anyone have any idea if it's possible to "whitelist" or "blacklist" tunnelblick for specific applications or ports? I've been researching but so far haven't found any info that seemed like it would work, and I could understand enough to implement it.


----------



## dchomak

orangeboy said:


> It's not command line, but you can logically mount a drive at a directory path in modern Windows installs using Disk Management.
> Presume drives C, D, and E are present.
> Create empty directories "C:\DDRIVE" and "C:\EDRIVE" as a mount points for your D: and E: drives. These names are only examples. Choose valid names of your own.
> Launch the Disk Management snap-in by executing diskmgmt.msc.
> Right-click the D drive, and select "Change Drive Letter and Paths".
> Click Add, and either provide "C:\DDRIVE", or browse for the empty directory for the "Mount in the following empty NTFS folder" selection.
> Click Ok.
> Repeat the process for the E drive, selecting "C:\EDRIVE" as the mount point.
> Voila - Both D: and E: are available for searching _from_ your C drive.
> Beware of recursion. It is possible to make a mount point for "C:" on "C:". Doing "DIR /S" will likely only end when the path becomes too long.
> Also defining a mount point for E: on D:, and a mount point for D: on E: can get you looping as well...


I tried your suggestions and it works with the dir /s command but not with the search within Windows Explorer or Streambaby.

Any ideas?


----------



## leswar

With the latest 20.7.2.RC22 release streambaby app no longer appears anywhere on my two updated Roamios.
Still operational on my one Bolt running 20.7.1.RC2. Fear its coming update.

Does this mean we have lost streambaby like similar functionalities lost in previous updates (i.e. no music streaming via pyTiVo on Roamios).

I love streambaby video quality and subtitles - superior to anything else. Hate to see it end. Say it isn't so.


----------



## moyekj

I can confirm on my TiVo Elite that got this horrible looking 20.7.2.x update that local HME apps no longer appear in the menu. I suspect for series 4 units that still have the ability to run SDUI one could switch to SDUI to run HME apps such as streambaby, but for all intensive purposes yes this update eliminates local HME app functionality completely!


----------



## lpwcomp

moyekj said:


> I can confirm on my TiVo Elite that got this horrible looking 20.7.2.x update that local HME apps no longer appear in the menu. I suspect for series 4 units that still have the ability to run SDUI one could switch to SDUI to run HME apps such as streambaby, but for all intensive purposes yes this update eliminates local HME app functionality completely!


Have you tried "Add an App"?


----------



## leswar

add an app produces an unexpected server error msg_v310 id.
Never really understood "add an app" or could get it to see my pc in the past, anyhow.


----------



## moyekj

"Add an App" theoretically should work for an IP hosted on WAN side (i.e. outside your LAN), but doesn't work for LAN hosted HME apps.


----------



## reneg

HME was broken in the early releases of 20.7.1 and it was fixed before the final release. Can only hope they fix it again.


----------



## natallica

I hope there's an eventual fix for this. 

TiVo Elite can no longer see streambaby in the menus unless I switch to the SD UI and even then if I select streambaby it just hangs on "One Moment..."

Is there any workaround to run streambaby with the new OS?


----------



## moyekj

natallica said:


> I hope there's an eventual fix for this.
> 
> TiVo Elite can no longer see streambaby in the menus unless I switch to the SD UI and even then if I select streambaby it just hangs on "One Moment..."
> 
> Is there any workaround to run streambaby with the new OS?


Just tried on my Elite and from SDUI streambaby appeared and ran fine for me.
So at least series 4 that have SDUI option streambaby is still available and works.


----------



## natallica

moyekj said:


> Just tried on my Elite and from SDUI streambaby appeared and ran fine for me.
> So at least series 4 that have SDUI option streambaby is still available and works.


I had to reboot and then it worked. Guess I'll be switching between UIs for now. The SDUI now looks bizarre for every day use.


----------



## Patrick2050

No streambaby on my Roamio running 20.7.2.RC24.


----------



## moyekj

Look up a few posts. TiVo broke access to local HME apps. Only way to get to them is with SDUI on series 4 units. Series 5 and later are SOL.


----------



## lpwcomp

moyekj said:


> Look up a few posts. TiVo broke access to local HME apps. Only way to get to them is with SDUI on series 4 units. Series 5 and later are SOL.


There was a _*slim*_ hope that it would be restored by RC24. Alas, no joy.


----------



## moyekj

Actually, all hope is not lost. I just verified you can still launch via kmttg Remote tab, Remote sub-tab, choose "streambaby" next to "Launch App" button and then press the button. i.e. TiVo only broke access to launching HME apps, the apps themselves run fine once launched.

So there is still an (inconvenient) way to run streambaby for those that really want to.


----------



## reneg

moyekj said:


> Actually, all hope is not lost. I just verified you can still launch via kmttg Remote tab, Remote sub-tab, choose "streambaby" next to "Launch App" button and then press the button. i.e. TiVo only broke access to launching HME apps, the apps themselves run fine once launched.
> 
> So there is still an (inconvenient) way to run streambaby for those that really want to.


Kevin, thanks for pointing that workaround out.

I still have a trouble ticket open with Tivo on the "Add an App" functionality. I'm not convinced that they will resolve the issue, but my trouble ticket is now in "escalated" status (whatever that means). I did get two phone calls about the issue from someone at Tivo that clearly had no idea what "Add an App" did. I tried to explain as plainly as I could so a SW engineer might find the information useful, but without visibility into the trouble ticket, I don't know how much useful information actually was entered by that person.


----------



## moyekj

If things are truly working properly though, "Add an App" is not necessary for local HME apps. So I would say "Add an App" being broken is yet another thing not working, along with local HME apps not appearing in the list of Apps.


----------



## thewebgal

I dunno, when stream baby starts up on my macPro it shows as
http://192.168.1.10:xxxx/streambaby/ 
Not sure how to get all that into "Add an App" when I go into my Roamio


----------



## KevoW

I tried the workaround and when I hit launch in kttmg it will launch everything else but streambaby. Any ideas why that might be?


----------



## moyekj

KevoW said:


> I tried the workaround and when I hit launch in kttmg it will launch everything else but streambaby. Any ideas why that might be?


Requirements:
1. streambaby must be running and on same computer as kmttg
2. Must be using the default streambaby port (7290)

i.e. The kmttg launch is to connect the TiVo to an expected already running streambaby, it's not going to launch streambaby itself automagically for you.


----------



## brenth77

Looks like Tivo may have broken Streambaby support even more. Noticed today that, since one of the recent updates, my Streambaby server just won't show up in the Apps anymore. I've tried restarting both the Tivo and the server. Tried adding it manually via IP but get an error. It was working fine recently. Streambaby log shows it detecting/recognizing both Tivos on the network. Version is 20.7.2.RC24-USA-6-846.

Honestly regret buying my Tivos. They've just gotten worse and worse since I bought them.

So assuming this is permanent, are there any options other than Plex?


----------



## leswar

brenth77 said:


> Honestly regret buying my Tivos. They've just gotten worse and worse since I bought them.
> 
> So assuming this is permanent, are there any options other than Plex?


Just answered a few posts back ( see page 174).


----------



## KevoW

moyekj said:


> Requirements:
> 1. streambaby must be running
> 2. Must be using the default streambaby port (7290)
> 
> i.e. The kmttg launch is to connect the TiVo to an expected already running streambaby, it's not going to launch streambaby itself automagically for you.


Yes, what I'm saying is that streambaby shows up in kttmg, but doesn't launch like the other apps. It is running on the network as before, and shows as an option to launch in the menu, but trying to launch it just launches the app right above it in the menu, which was Netflix.


----------



## brenth77

leswar said:


> Just answered a few posts back ( see page 174).


Oops.. Looked back a page or two, but thought something different was being discussed. Thanks.


----------



## 6of5

moyekj said:


> Requirements:
> 1. streambaby must be running
> 2. Must be using the default streambaby port (7290)
> 
> i.e. The kmttg launch is to connect the TiVo to an expected already running streambaby, it's not going to launch streambaby itself automagically for you.


Tried this, but streambaby doesn't even show as an option to launch. I've got the app running and the port is correct. any ideas? Thanks


----------



## moyekj

6of5 said:


> Tried this, but streambaby doesn't even show as an option to launch. I've got the app running and the port is correct. any ideas? Thanks


What kmttg version are you running? Very old versions won't have it. Make sure you are up to date.


----------



## Patrick2050

6of5 said:


> Tried this, but streambaby doesn't even show as an option to launch. I've got the app running and the port is correct. any ideas? Thanks


I've never used kmttg until today, but this does not work, at least on my end.

Yes, streambaby was launched before kmttg, and yes, streambaby is using port 7290.

But when I select streambaby in kmttg, the selected Roamio running 20.7.2.RC24 displays "One Moment..." and then returns to the TiVo Central screen.

Maybe I'm doing something wrong. I was, however, able to launch other apps successfully.


----------



## reneg

Streambaby & kmttg need to be running on the same computer in order to launch Streambaby. I've been able to launch Streambaby from kmttg on all my updated Tivos.


----------



## moyekj

reneg said:


> Streambaby & kmttg need to be running on the same computer in order to launch Streambaby. I've been able to launch Streambaby from kmttg on all my updated Tivos.


Yes, very good point which I did not make obvious. I've ammended my requirements post with that. Thanks for confirming it works for you too.


----------



## Patrick2050

moyekj said:


> Yes, very good point which I did not make obvious. I've ammended my requirements post with that. Thanks for confirming it works for you too.


Confirmed working: Yes, streambaby and kmttg must be running on the same computer.

Thank you!


----------



## KevoW

Working now that I loaded it on the same computer.

Does anyone know the details on how that function actually operates. I'd like to set up a web page on that machine that I could hit with my phone to turn it on as needed.

I could leave kmttg running if that makes it easier. Just need a way to kick it off easily.


----------



## thewebgal

Am I supposed to be able to see kmttg on my Tivo Roamio somehow?
I had Streambaby running fine in the last week or so, 
but it went away with the new UI "update" of 20.7.2.RC24, 
So after some reading I installed kmttg this morning ...
did some tweaks with the install file so it would use the same copy of ffmpeg, mencode, etc as streambaby -
but all I see for Apps on the tivo are the various streaming services like hulu, netflix, etc ...


----------



## moyekj

You run kmttg and from the Remote tab, Remote sub-tab you choose streambaby and click on "Launch App" (assuming you are already running streambaby on same computer) as shown below:


----------



## thewebgal

okay - on my macPro, I can run the kmttg (v2.3) jar file and when I click remote, I see that display, but the Launch App button is greyed out. Ok, I just read "Enable rpc style communications with this TiVo", so I did that on the TIVO tab ... and is not greyed out now.But - this is all upstairs in my office on the macPro -
I gather I won't see any menu changes downstairs on the Tivo Roamio?


----------



## moyekj

When you click on "Launch App" for streambaby it will connect the selected TiVo to streambaby, so then downstairs you will see streambaby running on your Roamio Pro if it's working right. But make sure you have streambaby running on your Mac Pro BEFORE you click on "Launch App" in kmttg.


----------



## sonnymiles6

moyekj said:


> When you click on "Launch App" for streambaby it will connect the selected TiVo to streambaby, so then downstairs you will see streambaby running on your Roamio Pro if it's working right. But make sure you have streambaby running on your Mac Pro BEFORE you click on "Launch App" in kmttg.


I am also having trouble with streambaby since the Tivo upgrade. I did everything you said. I see that both kmttg and streambaby are running as I observe on the system monitor. When I select streambaby from the pull down list and then select Launch App I do not see any change on the TIVO. But when I select Netflix from the list the Netflix App is invoked OK on the TIVO. I am running Linux Mint. Thanks for any guidance.


----------



## thewebgal

Streambaby starts automatically every time the macPro boots ...
I got it running the first time, then exited and could not get it back. So I closed the Streambaby terminal window, and restarted Streambaby - and its running again now.
... it is a bit awkward having to start it up in the computer room, then run down to the TV room ... But thanks for all the tips and info!
maybe they'll make it better in the next Release Client ?


----------



## moyekj

sonnymiles6 said:


> I am also having trouble with streambaby since the Tivo upgrade. I did everything you said. I see that both kmttg and streambaby are running as I observe on the system monitor. When I select streambaby from the pull down list and then select Launch App I do not see any change on the TIVO. But when I select Netflix from the list the Netflix App is invoked OK on the TIVO. I am running Linux Mint. Thanks for any guidance.


My guess is on Linux perhaps wrong IP for your computer is getting determined by kmttg. I just released updated version of kmttg with more robust IP determination that may work for you. It also now prints the URI being used to launch streambaby which makes it easier to see what kmttg is doing. So update to latest kmttg from kmttg Help menu and see if it works for you now.


----------



## sonnymiles6

moyekj said:


> My guess is on Linux perhaps wrong IP for your computer is getting determined by kmttg. I just released updated version of kmttg with more robust IP determination that may work for you. It also now prints the URI being used to launch streambaby which makes it easier to see what kmttg is doing. So update to latest kmttg from kmttg Help menu and see if it works for you now.


I just updated to v2.3b and now it works. Thanks for your help.


----------



## babatunde

I got it now finally thanks to everyone's advice. The key was (as was said) streambaby needs to be started on the computer FIRST, then start kmttg and launch the Tivo app there. What I notice then is that when I turn on the TV, my streambaby is running and showing my folders, but if I back out of that menu, the only way to get back is to go back to my computer and do the process over.

Definitely not convenient as it was before, especially as my computer is a long way from my TV, but at least we're back up and running.

Thanks!

BT



thewebgal said:


> Streambaby starts automatically every time the macPro boots ...
> I got it running the first time, then exited and could not get it back. So I closed the Streambaby terminal window, and restarted Streambaby - and its running again now.
> ... it is a bit awkward having to start it up in the computer room, then run down to the TV room ... But thanks for all the tips and info!
> maybe they'll make it better in the next Release Client ?


----------



## KevoW

moyekj said:


> My guess is on Linux perhaps wrong IP for your computer is getting determined by kmttg. I just released updated version of kmttg with more robust IP determination that may work for you. It also now prints the URI being used to launch streambaby which makes it easier to see what kmttg is doing. So update to latest kmttg from kmttg Help menu and see if it works for you now.


I tried the latest version and it wouldn't launch streambaby. It did print the URL and it had 0.0.0.0 as the address. I switched back to 2.3a and it's working. I run it on OS X btw. Maybe there is something in the new IP detection that doesn't work the same as on linux.


----------



## infoXczar

Welp, I've used streambaby via pyTiVoX for Mac for years without incident (or updating), but I did notice it broke a bit a while back on my Premiere XL but that it would work if I forced playback at lower quality—but then, of course, the most recent TiVo update made streambaby stop appearing as an app at all. I did read the previous posts and tried the following:

1) updated streambaby to the most current version;
2) updated Java to the most recent version;
3) installed kmttg and tried launching streambaby (already running, and on the same computer) on the TiVo via the Remote tab.

It doesn't (quite) work. When I try, my TiVo reports that the app is "currently unavailable" and gives, I think, a 301 error, asking to try again later. Any thoughts on what might be causing this?

On the plus side, the suggestion a few pages back to try switching to the SD menus DOES work for me—streambaby pops right up. So I have a working system in place, but I'd like to get the kmttg method working if possible.


----------



## moyekj

kmttg reports the IP it's using when launching streambaby, so you check that - my guess is it's not getting the correct IP of the computer running streambaby.


----------



## infoXczar

moyekj said:


> kmttg reports the IP it's using when launching streambaby, so you check that - my guess is it's not getting the correct IP of the computer running streambaby.


Ahhhh, look at that- "Launching x-tivo:hme:http://0.0.0.0:7290/streambaby" which is definitely not right. Don't know how I missed that. Is this because I don't bind an IP address in the streambaby.ini file? (I left the line commented out because it said "most people don't need to change this.") If I include the "ip=x.x.x.x" line with my Mac's LAN IP address, is that where kmttg gets the IP to send to the TiVo?


----------



## moyekj

No, the issue is from Java believe it or not there's no standard code for figuring out the IP of the computer running Java, so I have some code in place in kmttg that looks like doesn't work well for Macs (but does for Windows and Linux) for figuring out the computer IP. I do have a patched version of kmttg that may work better if you are interested in trying it.


----------



## infoXczar

moyekj said:


> No, the issue is from Java believe it or not there's no standard code for figuring out the IP of the computer running Java, so I have some code in place in kmttg that looks like doesn't work well for Macs (but does for Windows and Linux) for figuring out the computer IP. I do have a patched version of kmttg that may work better if you are interested in trying it.


That does make sense, since streambaby reports the correct IP when launching even with the .ini line commented out. There's no urgency to getting kmttg working for me since I can switch to SD menus when I need streambaby on my TiVo, but I'm certainly happy to try your patched version if it wouldn't put you out / might provide you some useful testing. (I'm probably not the ideal test case-the Mac is maybe 9 years old and runs Mac OS X 10.7.5, I think.)


----------



## moyekj

Replace your current kmttg.jar with the kmttg.jar contained in this zip file to try the patch:
kmttg_v2.3c_beta1.zip


----------



## infoXczar

moyekj said:


> Replace your current kmttg.jar with the kmttg.jar contained in this zip file to try the patch:
> kmttg_v2.3c_beta1.zip


Can't 100% confirm it works because I'm not home to see the TiVo screen, but I can say that the new version is correctly reporting the IP address when I click "Launch App." Thanks!


----------



## moyekj

OK good, so looks like the patch works.


----------



## reneg

reneg said:


> I still have a trouble ticket open with Tivo on the "Add an App" functionality. I'm not convinced that they will resolve the issue, but my trouble ticket is now in "escalated" status (whatever that means). I did get two phone calls about the issue from someone at Tivo that clearly had no idea what "Add an App" did. I tried to explain as plainly as I could so a SW engineer might find the information useful, but without visibility into the trouble ticket, I don't know how much useful information actually was entered by that person.


I got this response today for the trouble ticket that I created through Tivo support:

_We have researched this case further and we have confirmed after few tests that The 'Add an App' feature is no longer a supported function. Adding HME apps will no longer work, and their are no plans to support the feature in the future. We apologize for the inconvenience._


----------



## moyekj

Pretty lame response considering HME apps actually do still run and all they have to do is fix the launch points, but obviously there is no interest on their part in doing that.


----------



## Sparky1234

moyekj said:


> Pretty lame response considering HME apps actually do still run and all they have to do is fix the launch points, but obviously there is no interest on their part in doing that.


Lame for what us users want!!!


----------



## reneg

reneg said:


> I got this response today for the trouble ticket that I created through Tivo support:
> 
> _We have researched this case further and we have confirmed after few tests that The 'Add an App' feature is no longer a supported function. Adding HME apps will no longer work, and their are no plans to support the feature in the future. We apologize for the inconvenience._


Another day, another update from Tivo on my "add an app" trouble ticket:
_
Thank you for contacting TiVo Customer Support! This is a response to your current issue that is noted on CaseNumber (xxxxxxxxx). There has been a new development in this issue. Engineering has determined that they will fix this issue for Series 4 Premiere and Series 5 Roamio TiVo boxes. Please expect that this issue will be resolved in a future Software Update.
_
Who knows when we'll see a fix, but this is a positive turn of events.


----------



## Sparky1234

reneg said:


> Another day, another update from Tivo on my "add an app" trouble ticket:
> _
> Thank you for contacting TiVo Customer Support! This is a response to your current issue that is noted on CaseNumber (xxxxxxxxx). There has been a new development in this issue. Engineering has determined that they will fix this issue for Series 4 Premiere and Series 5 Roamio TiVo boxes. Please expect that this issue will be resolved in a future Software Update.
> _
> Who knows when we'll see a fix, but this is a positive turn of events.


Hopeful thinking.


----------



## Steve9f

Just discovered the Tivo Bolt update broke Streambaby after offloading and deleting a ton of shows that my daughter likes. Confirmed the kmttg work around works for me for now but very disappointed in Tivo for breaking this functionality with no warning. I have been a huge fan of the Bolt for integrating the program list across services but will stop recommending it to friends. Unfortunately as may have stated there aren't great alternatives.


----------



## Sparky1234

Steve9f said:


> Just discovered the Tivo Bolt update broke Streambaby after offloading and deleting a ton of shows that my daughter likes. Confirmed the kmttg work around works for me for now but very disappointed in Tivo for breaking this functionality with no warning. I have been a huge fan of the Bolt for integrating the program list across services but will stop recommending it to friends. Unfortunately as may have stated there aren't great alternatives.


But will it come back?


----------



## gonzotek

Sparky1234 said:


> But will it come back?


There's this:


reneg said:


> Another day, another update from Tivo on my "add an app" trouble ticket:
> _
> Thank you for contacting TiVo Customer Support! This is a response to your current issue that is noted on CaseNumber (xxxxxxxxx). There has been a new development in this issue. Engineering has determined that they will fix this issue for Series 4 Premiere and Series 5 Roamio TiVo boxes. Please expect that this issue will be resolved in a future Software Update.
> _
> Who knows when we'll see a fix, but this is a positive turn of events.


Here's hoping...Who knows what will really happen though


----------



## Sparky1234

gonzotek said:


> There's this:
> 
> Here's hoping...Who knows what will really happen though


Agree. Can never get a straight answer from TiVo support.


----------



## vanclute

And as if I needed another reason to hate using Plex, it's apparently "down for maintenance". I had no idea this could even happen, I thought I was running a *local* Plex server. This is infuriating. Fingers, toes, eyes, and everything else crossed that TiVo actually re-enables HME apps on Roamio.


----------



## Sparky1234

vanclute said:


> And as if I needed another reason to hate using Plex, it's apparently "down for maintenance". I had no idea this could even happen, I thought I was running a *local* Plex server. This is infuriating. Fingers, toes, eyes, and everything else crossed that TiVo actually re-enables HME apps on Roamio.


Update?


----------



## vanclute

Plex came back up again last night eventually, but now that I know it depends on their service being up - *even though I run a local Plex server* - I want to stop using it for anything ASAP. Just eagerly waiting to hear about a fix of some kind for HME from TiVo.


----------



## eherberg

This is because your system isn't set up for local access. Under the advanced area of Settings --> Network you can add a list of IP addresses that are allowed without authenticating.

You can also use the server for DLNA access for times when internet is down.

Plex.TV was down for about an hour and a half. It didn't affect my client due to local cache and the above tweaks.

_Resolved - A good portion of PMS servers didn't respond immediately when trying to notify them, this linked to a bug we had on the failsafe code overloaded our background jobs and brought the systems down. Code has been fixed. 
Oct 10, 19:51 PDT
Identified - An unforeseen issue upgrading notifications code caused connectivity issues with PMS servers that went past our threshold limits. 
Oct 10, 18:15 PDT
_​More info on how to use Plex without internet is here.


----------



## vanclute

Very nice! Thanks for that. At least now I know I'll have a local fallback that will always work!


----------



## Sparky1234

eherberg said:


> This is because your system isn't set up for local access. Under the advanced area of Settings --> Network you can add a list of IP addresses that are allowed without authenticating.
> 
> You can also use the server for DLNA access for times when internet is down.
> 
> Plex.TV was down for about an hour and a half. It didn't affect my client due to local cache and the above tweaks.
> 
> _Resolved - A good portion of PMS servers didn't respond immediately when trying to notify them, this linked to a bug we had on the failsafe code overloaded our background jobs and brought the systems down. Code has been fixed.
> Oct 10, 19:51 PDT
> Identified - An unforeseen issue upgrading notifications code caused connectivity issues with PMS servers that went past our threshold limits.
> Oct 10, 18:15 PDT
> _​More info on how to use Plex without internet is here.


Good catch on the local issue!


----------



## moyekj

There was a post here that 20.7.4 fixes local HME app problem. My Elite unit got 20.7.4 in last day or 2 and so I fired up streambaby and went looking for it on Elite. Initially I didn't see it under apps, so I restarted HDUI (thumbs down, thumbs up, play, play) and then streambaby did indeed show up under the "apps" menu. So it does look like TiVo actually fixed it at least for now. If this is last UI update before Hydra then hopefully if one chooses not to go with Hydra (me being one of those) then the capability should stick around for a long time.


----------



## leswar

Hurray!


----------



## jcthorne

Very good to see they put it back. There never was any good reason to remove the functionality other than spitefulness. Glad to see it was just a bug that got fixed. Good show Tivo.


----------



## moyekj

FYI my Roamio got 20.7.4 this morning and same story there - after starting streambaby and doing an HDUI reset I can see it in Apps menu now.


----------



## leswar

My Bolt was updated and after restarting HDUI (thumbs down, thumbs up, play, play) streambaby showed up under apps. Yay.
Still waiting on my Roamios for the update.


----------



## leswar

Roamios updated and streambaby is back on all my tivos.
Now how do I remove that app I installed via "add an app" when I lost streambaby.
Someone mentioned it and the ip address. It added a lot of webpages to the app section. Most if
not all that do not work. For the life of me I cannot recall the name. Any help on this will be appreciated


----------



## moyekj

Highlight one of the app items and hit the "clear" button on your remote to remove it.


----------



## Sparky1234

moyekj said:


> Highlight one of the app items and hit the "clear" button on your remote to remove it.


What apps do TiVo users "add" to TiVo? Should this be a new topic?


----------



## leswar

moyekj said:


> Highlight one of the app items and hit the "clear" button on your remote to remove it.


So simple, so simple. Why didn't I think of that.  I'm looking all over the Tivo menus and searching online, and there it is.
Thanks moyekj.


----------



## thewebgal

Did the refresh yesterday and found we are now running 20.7.4 -
and sure enough, there's streambaby, and - it works just fine again!
Bravo all over again!



thewebgal said:


> Guess I need to force a reboot to my Roamio Base to see if they've fed it the update yet ...
> I had to re-enable Streambaby to the startup program list on my Macpro, but all the config files were still in place, so it should work again ....


----------



## dchomak

Same here, my 2 Premieres are back with Streambaby in the apps menu.

I actually called TiVo and told them I would pass on their $199 Bolt upgrade with Lifetime service offer because I could at least use Streambaby on my Premiers with the SD menus.

Lately, with the last 2 updates from TiVo, pyTiVo does not work for music anymore for me.
Which brings me to this question. Since TiVo no longer "supports" TiVo Desktop, and I now can't use pyTiVo, how hard would it be to get Streambaby to work with mp3's?
It almost works now if I add "mp3" to the list of extensions in the streambaby.ini file.
Having a fast a reliable mp3 player would be so nice.
Also, being able to use the search function would just make it so much better than anything else there ever was.


----------



## wmcbrine

dchomak said:


> ... how hard would it be to get Streambaby to work with mp3's?


There are already some dedicated HME-based MP3 players out there for you to try. (I'm not really current on that, but there's this one. Some other possibilities might be found here, but many seem to be no longer available.)


----------



## babatunde

I'm adding a post from a couple of months ago for reference.

Now - All of a sudden (started a few weeks ago) my streambaby/kmttg setup no longer worked. I downloaded (what I think are) the latest streambaby (0.54) and kmttg (2.4b). I see the kmttg interface has changed a lot. I'm not "technical" enough to understand why it no longer will stream, though I assume it's a kmttg config issue. streambaby loads just like before, but I can't figure out (even after reading the new kmttg instructions) why it won't work. The first time I ran kmttg it asked for one of my MAK addresses (I have two tivos), so I did that.

I should mention all I want to do is stream video files from my computer to my Tivos. I don't want to move Tivo files to my computer. I CAN see my tivo files in kmttg. I just can't figure out how to make Tivo see my streambaby folders.

Any help would be most appreciate. I think I just don't "get" the new kmttg configuration. Like, do I have to point it to the files I want to stream? In my old setup that was all taken from the streambaby.bat file.

many thanks,

BT



babatunde said:


> I got it now finally thanks to everyone's advice. The key was (as was said) streambaby needs to be started on the computer FIRST, then start kmttg and launch the Tivo app there. What I notice then is that when I turn on the TV, my streambaby is running and showing my folders, but if I back out of that menu, the only way to get back is to go back to my computer and do the process over.
> 
> Definitely not convenient as it was before, especially as my computer is a long way from my TV, but at least we're back up and running.
> 
> Thanks!
> 
> BT


----------



## moyekj

Unless you are using Hydra software you don't need kmttg to launch streambaby as TiVo fixed it with 20.7.4 software. So just launch streambaby and then go to the Apps menu on TiVo. If you don't see "streambaby" there then go to TiVo home page and then click following sequence with your remote to reboot the HDUI:
Thumbs Down, Thumbs Up, Play, Play
Then head back to the Apps menu and you should see streambaby if it is indeed running properly on your streambaby server


----------



## babatunde

Oh! What a pleasant surprise. That was the issue. Thank you so much (my wife thanks you also!).

BT 



moyekj said:


> Unless you are using Hydra software you don't need kmttg to launch streambaby as TiVo fixed it with 20.7.4 software. So just launch streambaby and then go to the Apps menu on TiVo. If you don't see "streambaby" there then go to TiVo home page and then click following sequence with your remote to reboot the HDUI:
> Thumbs Down, Thumbs Up, Play, Play
> Then head back to the Apps menu and you should see streambaby if it is indeed running properly on your streambaby server


----------



## thewebgal

I don't use all the features of our system daily, but I went to watch last night, and something had changed. No Streambaby on the menu, and had failures with netflix and Amazon. Its all running fine upstairs on my Mac - so, somehow had a network issue. Had a chance to look at it this morning and somehow, my DNS had changed! Reconfigured the network DNS choices (added Google DNS 8.8.8.8). No Streambaby. Restarted the TIVO, and - still had no Streambaby on the menu. But checked here and your tip on restarting the HDUI was gold - all is great again!

Thank you so much, for Streambaby, and ... for ongoing support here!



moyekj said:


> TiVo fixed it with 20.7.4 software. So just launch streambaby and then go to the Apps menu on TiVo. If you don't see "streambaby" there then go to TiVo home page and then click following sequence with your remote to *reboot the HDUI:
> Thumbs Down, Thumbs Up, Play, Play*
> Then head back to the Apps menu and you should see streambaby running properly on your streambaby server


----------



## DougD

I am trying to use streambaby after 3 years of not using it (kmttg has taken care of all of my needs - it is great) Does the push feature work in Streambaby these days? I see from this thread it was broken a year ago. When I try push I get the following in the log:

12/10/17 10:11:47 FFmpegExeVideoModule: 742 FFmpegCmd: C:\Users\Doug\kmttg_v1p0i\streambaby\streambaby-0.54\native\ffmpeg.exe -i C:\Users\Doug\kmttg_v1p0i\zzdisk1\the Opera.mpg
12/10/17 10:11:55 InternalPush: 57 intPush: file:/C:/Users/Doug/kmttg_v1p0i/zzdisk1/the%20Opera.mpg, tivo: Basement
12/10/17 10:11:56 Mind: 366 <?xml version="1.0" encoding="utf-8"?><success/>
12/10/17 10:11:56 Mind: 366 <?xml version="1.0" encoding="utf-8"?><pcBodyList><isBottom>true</isBottom><isTop>true</isTop></pcBodyList>
12/10/17 10:11:56 Mind: 366 <?xml version="1.0" encoding="utf-8"?><pcBody><bucketNumber>-1</bucketNumber><createDate>2017-12-10 15:11:55</createDate><levelOfDetail>high</levelOfDetail><name>pyTivo</name><pcBodyId>tivoc.1002966721</pcBodyId><updateDate>2017-12-10 15:11:55</updateDate></pcBody>
12/10/17 10:11:56 Mind: 366 <?xml version="1.0" encoding="utf-8"?><error>


Code:


internalError

<debug>java.lang.InternalError: Deprecated Operation: bodyOfferModify
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.cds.BodyOfferModify.doItWithInitializedDb(BodyOfferModify.java:41)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.ReadWriteOperation$1.call(ReadWriteOperation.java:43)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.Job$Action.internalRun(Job.java:314)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.Job.retry(Job.java:94)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.ReadWriteOperation.doIt(ReadWriteOperation.java:52)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.MindSession.internalDoIt(MindSession.java:531)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.core.MindSession.doItWithMindRequest(MindSession.java:417)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.mind.toplevel.Mind.doItWithMindRequest(Mind.java:258)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.tomcatmind.TomcatMind.callMind(TomcatMind.java:1138)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.tomcatmind.TomcatMind.checkAndDoRequest(TomcatMind.java:1108)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.tomcatmind.TomcatMind.doIt2(TomcatMind.java:849)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.tomcatmind.TomcatMind.doIt(TomcatMind.java:720)
12/10/17 10:11:56 Mind: 366 at com.tivo.trio.tomcatmind.TomcatMind.doPost(TomcatMind.java:688)
12/10/17 10:11:56 Mind: 366 at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
12/10/17 10:11:56 Mind: 366 at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
12/10/17 10:11:56 Mind: 366 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
12/10/17 10:11:56 Mind: 366 at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
12/10/17 10:11:56 Mind: 366 at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
12/10/17 10:11:56 Mind: 366 at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
12/10/17 10:11:56 Mind: 366 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
12/10/17 10:11:56 Mind: 366 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
12/10/17 10:11:56 Mind: 366 at java.lang.Thread.run(Thread.java:662)
12/10/17 10:11:56 Mind: 366 </debug><text>Deprecated Operation: bodyOfferModify</text></error>
12/10/17 10:11:56 Mind: 362 ERROR: ERROR: offerId not found
12/10/17 10:11:56 InternalPush: 136 ERROR: failed to push video.
12/10/17 10:11:56 PlayScreen$pushTivoButtonHandler$1: 347 Push Failed: the Opera->Basement


----------



## moyekj

TiVo broke push capability on their side about 2 years ago now. As can be seen in error xml, bodyOfferModify has been deprecated on their side.


----------



## DougD

Thanks


----------



## zabolots

The system drive died on my ancient Fedora 15 system which hosted streambaby. I built a new Fedora 27 system but I haven't set up streambaby on linux is ages and I'm struggling.

The requirements for streambaby state:

_For Linux, ffmpeg must already be installed on the system, as well as libavcodec, libavformat, libavutil, and libswscale. (All of the libs are usually automatically installed when ffmpeg is installed)
_
I installed Sun/Oracle JRE:


Code:


[[email protected] streambaby-0.53]$ java -version
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) Server VM (build 25.151-b12, mixed mode)

and ffmpeg (from the rpmfusion repo).


Code:


[[email protected] streambaby-0.53]$ ffmpeg -version
ffmpeg version 3.3.6 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7 (GCC)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tables' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld ' --extra-cflags='-I/usr/include/nvenc ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-libmfx --enable-runtime-cpudetect
libavutil      55. 58.100 / 55. 58.100
libavcodec     57. 89.100 / 57. 89.100
libavformat    57. 71.100 / 57. 71.100
libavdevice    57.  6.100 / 57.  6.100
libavfilter     6. 82.100 /  6. 82.100
libavresample   3.  5.  0 /  3.  5.  0
libswscale      4.  6.100 /  4.  6.100
libswresample   2.  7.100 /  2.  7.100
libpostproc    54.  5.100 / 54.  5.100

but when I run streambaby it crashes with this error:


Code:


[[email protected] streambaby]# ./streambaby
Initializing StreamBaby v20120828-2030...
Java HotSpot(TM) Server VM warning: You have loaded library /tmp/jna4100756466457802615.tmp which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/ffmpeg_java/v57/AVFormatLibrary
   at com.unwiredappeal.tivo.vm.ffjava.FFmpegJavaVideoModule.initialize(FFmpegJavaVideoModule.java:117)
   at com.unwiredappeal.tivo.modules.VideoModuleHelper.addModule(VideoModuleHelper.java:49)
   at com.unwiredappeal.tivo.config.StreamBabyConfig.processModules(StreamBabyConfig.java:661)
   at com.unwiredappeal.tivo.config.StreamBabyConfig.processConfiguration(StreamBabyConfig.java:770)
   at com.unwiredappeal.tivo.config.StreamBabyConfig.readConfiguration(StreamBabyConfig.java:828)
   at com.unwiredappeal.tivo.streambaby.StreamBabyMain.main(StreamBabyMain.java:71)
Caused by: java.lang.ClassNotFoundException: net.sf.ffmpeg_java.v57.AVFormatLibrary
   at java.net.URLClassLoader.findClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
   at java.lang.ClassLoader.loadClass(Unknown Source)
   at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:24)
   at net.sf.ffmpeg_java.bcel.FFmpegClassLoader.loadClass(FFmpegClassLoader.java:15)
   ... 6 more

Any ideas?


----------



## moyekj

Looks like you are running an ancient version of Streambaby. It should say "Initializing StreamBaby v0.53..." if running v0.53 version.


----------



## wkearney99

In two of the examples you're running as [email protected], but then as root?

Also know that .54 was out a while ago too. https://newcontinuum.dl.sourceforge.net/project/streambaby/streambaby-0.54.zip

Pretty much just started right up using what was in that archive on a fresh debian install.


----------



## zabolots

moyekj said:


> Looks like you are running an ancient version of Streambaby. It should say "Initializing StreamBaby v0.53..." if running v0.53 version.


I just went to the link in the 1st post of this thread (Google Code Archive.) and grabbed the latest version from the Downloads link. (Might want to update that post to include the current download location)

I grabbed the .54 version that wkearney99 posted above and that did the trick.

Thanks!


----------



## zabolots

OK, now that I got streambaby running successfully, I ran into another issue. Browsing my media archive works fine. However, any time I select a file that has a corresponding metadata text file (generated with pyTivoMetaGenerator), the app just hangs at the "Please Wait" screen. If I remove the metadata file, I get to the screen where I can play the video.

Did something change related to the metadata file format lately? Alternately, is there some other required utility to parse the metadata files that I may be missing?

I've attached the streambaby log files from both a failure attempt with the metadata file and a successful attempt when I removed the metadata file.

Any help would be greatly appreciated.


----------



## moyekj

Likely the issue are the image file references in the metadata. For example Arrival.mp4.jpg. Either the file can't be found or HME can't render the image. Try a modified metadata file with the image line removed (and streambaby restarted) to see if it makes any difference.


----------



## Scott9mm

I just want to say how much I really like Streambaby. It may not have slick icons but it's snappy and replay works just like regular TiVo except the 30 sec skip-ahead is instant, which is great, IMO. The menus let me locate desired videos very quickly. 
I'm using a Roamio Plus and Streambaby is running on an i7 Win10 box which is also running kmttg and pyTivo. Rarely, during streaming the Tivo stops responding to the remote (video continues to play) but that is the only problem I've had. I get out of this by going back to the TiVo main menu and starting over, which has always worked so far.
I also tried Plex, DS Video, and the Roku media player but none measure up to Streambaby. pyTivo works fine but it leaves a copy on the TiVo hard drive which kmttg will download again.
kmttg can insert season/episode numbers in the filename, which is great. I wish I had a utility that would batch-insert season/episode numbers in filenames of old (pre kmttg) mp4 files.


----------



## jcthorne

Scott9mm said:


> I wish I had a utility that would batch-insert season/episode numbers in filenames of old (pre kmttg) mp4 files.


MetaGenerator V3 will do what you are looking for.


----------



## vanclute

Does anyone know how to get Streambaby to work on the LAN, when the machine it's running on uses a VPN? Try as I might I have not been able to make this work (port forwarding, etc.). There seems to be no way to "whitelist" a specific app so that it does not need to go through the VPN. Currently, any time I want to use SB I have to disconnect the VPN app (Viscosity) and then SB works fine.

Is it possible to get SB to bypass the VPN and just run natively over the LAN?


----------



## wkearney99

vanclute said:


> Does anyone know how to get Streambaby to work on the LAN, when the machine it's running on uses a VPN? Try as I might I have not been able to make this work (port forwarding, etc.). There seems to be no way to "whitelist" a specific app so that it does not need to go through the VPN. Currently, any time I want to use SB I have to disconnect the VPN app (Viscosity) and then SB works fine.


This is a question probably better asked on a forum for that VPN software.

The only thing streambaby lets you change is the IP and port it uses on the machine. VPNs can be configured in all manner of ways, too many to list here. It's possible you have your PC setup to force all it's traffic out the VPN. Yeah, well, that will kill being able to use streambaby from other devices on the local network. However, if your VPN has options to set up separate routes and an IP for the PC to use for the outgoing VPN then it might help to use the streambaby.ini file to make sure it's set to use the LOCAL address on the LAN, and potentially to set the PC to always use a static address on it.

The relevant streambaby.ini entries are:
# Ip address to bind to
# most people don't need to change this. 
ip=*192.168.x.x*
# port to use
port=7290

Set your IP to the PC's local LAN address. Which you can find quickly by bringing up a cmd prompt and using 'ipconfig /all' Otherwise dig it up from the IPv4 section in the network control panel.


----------



## vanclute

Thanks for the reply. For starters this is on a Mac, and I've always been running this Mac with a static IP anyway. Everything *except* Streambaby works normally on the LAN when the VPN is active, so it seems clear that not everything is going through the VPN. File sharing, desktop sharing, Crashplan, Time Machine, etc. all work normally over the network without incident. It's only SB that is being impacted negatively.

My understanding was that the VPN was only handling web traffic - so basically port 80. But this clearly seems to not be the case since it's interfering with SB so completely.

I'm not terribly familiar with VPNs as this is the first time I've ever used one. All my hunting has yielded no results related to what I'm needing to do, and speaking with the actual VPN provider (NordVPN) has not helped either as they have not been able to figure out if it's possible to specify on a Mac that a VPN should handle or ignore only traffic to/from a specific application.

Anyway I'm asking here because I'm sure if I ask in a "VPN forum" at most I'll get a similar response but it will be "We don't know anything about that application, you should probably ask the author..." I actually did ask in one VPN forum already but got no responses. Thanks in advance to anyone who can steer me in a helpful direction...


----------



## wkearney99

No, what you're asking is generic VPN 101 stuff. There's options for how traffic gets routed and how addresses get set up. VPNs are often used as an 'everything' funnel to make sure the point of the VPN is achieved. What you run into is the problem of trying to perform double-duty. Routing things for local use vs routing everything for VPN connections. Can't have both, at least not without some extra setup. This would be true for any kind of server applications, not just streambaby. 

There's a school of thought that says "I ought to be able to make this one computer 'do everything'." Which often leads to countless hours squandered trying to perfect the un-perfectible. There's another that says "dedicate appropriate resources for SERVER-like applications and leave them to their business". Streambaby is such a thing. Set it up on a computer with enough resources for it's task and leave it alone. Me, I have my pfsense router handling VPN connections (although I don't often use outbound VPNs), a NAS to handle storing video files, a PC handling streambaby (and some home automation stuff) and then my desktop/laptop for regular use. The router, NAS and separate PC running server apps all make for a reliable setup that doesn't get interrupted by screwing around on my PC.

Go, find a subreddit or forum for the product and learn a bit about what options it offers.


----------



## vanclute

OK, I appreciate your opinion on this but I do not agree with your assumption about what is happening. I have plenty of other apps/services running on the machine that have local aspects that work perfectly fine while their WAN aspects go over the VPN - Sonarr, QBittorrent, and many others. This required no custom configuration whatsoever. Streambaby is the *only* thing I use that is having any trouble at all. I will look into getting feedback (again) from the VPN community, but I still think that asking here is an entirely sensible thing to do, that is much more likely to get me a reply from someone who had/has the same issue and might be able to provide a solution.


----------



## wkearney99

When you don't offer full explanations of your configuration you can't expect complete answers.

I'll reiterate my suggestion to look at how the INI file is configured and how your IP addresses are set up, *especially* when the VPN is active. Directing network traffic, especially when stuff like multicast and mDNS are involved, when multiple IP routes exist can be tricky to get configured properly.

As for torrenting and similar 'content appropriation' apps, well, they're likely to put additional emphasis within their code to work around the underlying complexities their typical use cases introduce. streambaby delivers content to the local network and tries to do so with an intended client device that's not known for it's openly documented nuances. As in, tivo doesn't explain much, so getting into complicated network situations is a challenge.


----------



## vanclute

OK so, exactly as I expected... I'm being told to look at StreamBaby to figure out what "exotic" thing it's doing. Viscosity (my VPN software) already has options built in to allow for routing a specific IP to the local network only, unfortunately that doesn't work as it seems SB is bypassing this and possibly is binding directly to the primary network interface. Without knowing more about what SB is doing behind the scenes... there is no way to troubleshoot this further. =(


----------



## ke3ju

moyekj said:


> Unless you are using Hydra software you don't need kmttg to launch streambaby as TiVo fixed it with 20.7.4 software. So just launch streambaby and then go to the Apps menu on TiVo. If you don't see "streambaby" there then go to TiVo home page and then click following sequence with your remote to reboot the HDUI:
> Thumbs Down, Thumbs Up, Play, Play
> Then head back to the Apps menu and you should see streambaby if it is indeed running properly on your streambaby server


This didn't work for me. Using a TiVo Roamio OTA running Hydra I'm assuming (it's only three weeks old), it finds it listening...

Initializing StreamBaby v0.54...
02/16/18 13:37:48 StreamBabyMain: 130 STARTING StreamBaby v0.54...
02/16/18 13:37:48 Listener: 125 added factory
02/16/18 13:37:48 Main: 275 MDNS: http://10.110.17.68:7290/streambaby/
02/16/18 13:37:48 Main: 276 streambaby ready & listening.
02/16/18 13:37:53 TiVoListener: 149 jmDns found TiVo: Living Room, tsn: 846000190C2**** (edited)

But no Streambaby shows up in Apps. Also, it does NOT show my TiVo Mini Vox boxes as listening, does it not work on them?


----------



## wkearney99

Did you look at the .ini file and make sure it's bound to the local IP? It's customary when responding to indicate if advice worked or not.

Streambaby is open source, it's all public. You do, of course, have to know to look and then know what you're looking for.

streambaby / Code / [r179]

The source commits show a user kearygriffin made some changes for address binding. But it's unclear where.

The wrinkle with stuff like Tivo and Streambaby is their use of multicast DNS. Go back to your VPN sources and ask about things that use jmDNS and other multicast host discovery stuff. Multicast is a huge mystery to some folks and very easily misconfigured. But that IS something a VPN would need to know how to handle properly.

I _know _how multicast works, and VPNs. I _know better_ than to waste much time trying to force them to work together reliably and consistently. Me, I'd avoid trying to make one box do it all.

But hey, what do I know, I'm just some guy that has a working streambaby setup and has tried to offer helpful advice.

You've taken a tone here that sounds like you want to blame someone for this. And you've not indicated that you've followed recommended advice. This is all free software, and likewise the advice.


----------



## vanclute

It's unfortunate that you're ascribing a specific tone of blame to my comments. Am I frustrated? Sure thing. I'm quite tech savvy, but not to the level of being able to read code and do anything useful with it (beyond PHP/HTML and a little JavaScript anyway). If I wasn't such an absolute massive fan of StreamBaby (which I constantly tout as *the absolute single best streaming solution anywhere, period, without exception* (far superior IMO to Plex, NetFlix, iTunes, Roku, and every other media streamer I've ever used or seen), I would likely just have shrugged my shoulders long ago and moved on. But I refuse to give up on SB because it is for me, simply the only thing that gives me what I'm looking for. But I'm not looking to blame anyone (beyond simply identifying where the issue I'm trying to solve exists... which I suppose is a form of blame but it's not personal blame, it's technical assignment of root cause).

SB is nearly flawless for me with the exception of incorporating the VPN. The only other issue I ever have with it is the SB server just not getting picked up by the TiVo, and I have to re-acquire the IP on the TiVo again and the SB App usually comes back, though often it also requires a relaunch of SB itself. But that one I'm very used to and it has a fairly painless workaround. The VPN problem however I can't work around at all, hence my frustration.

So, the reason I didn't comment on your suggestion to set the IP is because I already have done so from the beginning of using SB years ago. I use DHCP with static IP on my machine specifically to avoid any issues around IP assignment or finding the server on my network. The default streambaby.ini file has the IP set to my local IP (10.0.0.132) and the port is just at the standard default SB port. I assume that's what you mean when you say to make sure it's bound to the local IP, but if not then please elaborate.

Viscosity has the ability to route any IP I want to any specific available network that I wish, but as I mentioned it's not working here. The developers of Viscosity suggested that SB might be directly binding to the primary interface, in which case that would be the VPN and would likely be bypassing the options to route the IP to the local network. I'm totally new to using a VPN and while I've been playing with LAN configurations since the 80s, this level of complexity is outside my usual scope. So here I am looking for advice from the only place I know of that ever discusses StreamBaby.

I do appreciate your advice, it just hasn't yet pointed me in the right direction... but I'm nowhere near giving up.


----------



## wkearney99

Ok, we're back on track then, good to know.

Bound to the address via the IP was what I was advising. Since you're using 10. addresses, you're sure you've got all your subnet masks correct, yes? Both on this machine and the Tivo units? Any VLANs or other segregating factors involved with multicast? Any firewall on this box that might be overly restrictive WRT multicast?

As for routing, it's not just the IP address of the machine itself, it's the multicast networks too. This is harder to explain, thus why I punted the question of multicast DNS support back to the VPN folks. It's more complicated than it ought to be and it's hidden more than it should be. But the whole dynamic host finding scheme that is mDNS is often a real pain in the ass to debug unless you get down to every last little detail of how packets are managed on your subnet. Throw a VPN into the mix and it goes downhill, fast. I'm not saying it can't be done, or that SB isn't doing it wrong... but that by the time you lash up all the config bits it'd have been easier to just not run SB on the same box as the routing VPN.


----------



## vanclute

Everything on the whole LAN is on 10.0.0.x, that includes 2 WAPs, the primary cable modem itself, 4 TiVos, 4 Macs, an Apple TV, 2 Roku TVs, numerous game consoles, iPhones, iPads, Echo Dots, and undoubtedly other stuff I'm forgetting now. With the exception of this one VPN issue, everything works great from internet to (local) file sharing, printer sharing, screen sharing/VNC, facetime, skype, everything both wired and WiFi. No firewalls anywhere - I always disable them entirely inside the LAN. No VLANs at all.

I actually had worked around this whole issue for a while by just running SB on my wife's machine instead, and mounting the media server's drive on her machine over the network. This works, but it means her machine has to stay on 100% of the time and can never sleep. That's the media server's job, so I would greatly prefer just running SB on that one machine since it's already intended for that 24/7 uptime functionality. If all else fails I'll just run it on my wife's mac as we have been, but this is one of those little itches that I really, *really* want to scratch. I know exactly zero about multicast, so don't have any idea where to even begin with that. It's starting to sound like this just might not be worth pursuing, but it would just give me great satisfaction to finally nail this sucker.


----------



## wkearney99

Right, but what subnet mask are you using? /24 (255.255.255.0) or something else? 

I have my media on a NAS and serve up Streambaby from a PC that has some home automation stuff on it, along with a print spooler connection. It's a small Intel NUC and it's been a good lower power, low noise, small size, solution for this. It's got a small 32gb SSD in it, just enough to boot the OS and hold the various programs. All content goes over the gigE network (no wireless for any bulk media devices like Tivos).

I hear you on eliminating that one last itch you can't reach. I've spent countless hours and bought many gizmos over the years trying to defeat similar puzzles (oh, don't get me started on HDMI and matrix switches). What's "supposed to" work just never freakin' does. And then once you do finally get it working, some other piece of puzzle gets upgraded and you're back to square one.

Yes, I could rant....

That was my point of mentioning separating the tasks. I've most recently moved to using a fanless mini-PC (Qotom) running pfSense as my home router and VPN gateway. It's soooo much smoother, faster and more reliable than various lash-ups I've had in the past. Best money spent is often on something that NAILS the coffin closed on the time-wasting shenanigans with half-assed PC setups. Bolt that sucker up on the basement wall and leave it alone, 24x7. Might be worth taking a look. 

Stop and consider just what would it take to rejigger things just enough to make them stable. In home automation circles we refer to this concept as part of the WAF (Wife Acceptance Factor). As in, when you rig things up you want to avoid it being too finicky for your spouse/wife/kids/family/guests to use on an unsupervised basis. Make any parts of it unstable or tricky to use and your WAF drops in to the gutter.

Alright, enough out of me with the rants. I'm guessing your trouble spot lies in how SB and your VPN are handling the multicast bits SB wants to use. I know enough about VPNs and multicast to know that it's a trainwreck of unscratchable itches, especially without a VERY configurable network router and client OS features. 

Ask about multicast DNS on the VPN groups. See what comes up. Could be someone there with an "oh yea, you need to do x, y and z" revelation to share. That or a chorus of "abandon hope all ye who enter".


----------



## vanclute

Ahhhh subnet MASK... sorry I totally missed that one word. Interestingly, my modem defaults to 255.255.255.0 but when I add an IP to the Viscosity routing, it defaults to 255.255.255.255 for the mask. I don't know enough about what exactly the subnet mask is to have been sure if that was OK or not, but I did try matching Viscosity to .0 instead of .255 and it didn't change anything.

Good point about the WAF, and our current setup only barely passes... and if I'm brutally honest it really doesn't because when I'm not here and SB goes away for example, she never remembers how to go relaunch SB to get it back up. So while working around this issue isn't difficult, it's just not something that seems to "stick" with her. I would definitely prefer a one-stop bulletproof real solution. Networking is just not my area of real expertise, I've just been a user/consumer for many decades but never had the need or inclination to really understand what's under the hood. I'm the same way with cars... I'm a very good and advanced driver, but don't ask me anything whatsoever about what's going on inside the machine as I couldn't tell you.

I'll ask about mDNS and see what I get... thanks for the pointer!


----------



## wkearney99

Yep, all these little bits matter when multicast and routing comes into play. I, honestly, do not try and screw with it because it's so damned finicky and there's so few tools for debugging it. It's all geared for being dynamic, friendly and automagic. When things get complicated, even slightly, it's a clusterf*ck of time wasted trying to figure it out. 

As for subnet masks and routing, using a class A 10.0.0.0 network with a class C (255.255.255.0 aka /24) subnet is certainly usable, but it's uncommon. Most typically when you use a class C subnet you stick with using 192.168.x.x ranges. There are potential wrinkles when gizmos don't see "typical" subnet numbering. Adding multicast to it, well, the potential for complications starts going exponential.

For driving, it's arguably VERY important for an effective driver to understand the hardware that's putting power to the road. How all those little bits mesh together can literally be felt while driving. Knowing what can or can't make the steering bump, the drivetrain slip, etc, can definitely aid in getting an ideal track setup. I suppose it's possible consider oneself 'advanced' without knowing this... but track times are going the be better when the driver understands the hardware... or pays a pit crew serious coin to act as 'interpreters'. 

The same sort of thing applies to networking. Firing up apps and browsers doesn't require much, but trying to lash together complex solutions involving VPNs requires a lot more. Either come to know the internals or pay someone to do it for you. 

I've had mixed success getting SB to "stay running" when it's launched as a console program. Running it as a service tends to be a little more reliable. And is easier to stop/start using scheduled cron tasks. It could definitely use some improvements on the set-and-forget front.


----------



## vanclute

I'm just using what the modem came set to, and that's using 10.x.x.x and 255.255.255.0. Didn't think I could change that, I've had modems in the past that issued 192.168. IPs but Xfinity seems to like 10. for whatever reason. Is the subnet mask something I can arbitrarily change? And if something else would work better, what would that be?

Good point on Cron. I've actually used iCal to shut down and relaunch SB every night for years, but it still isn't enough. All that really solved was the inevitable gigantic multi-tens-of-gigabytes log files when SB would crash. Relaunching would nuke and reset the log.


----------



## vanclute

Incidentally on that note, I've never been very good with cron on Mac, it's always seemed slightly different from how I would use it on a Linux webserver. Do you know ow would one go about quitting & relaunching SB via Cron on a Mac?


----------



## wkearney99

The simple answer is all devices an Ethernet network can talk to each other via hardware addresses (the Media Access Control address). But it's the use of TCP/IP addresses that segregate which ones get routed... and to where. A subnet mask is a filter, of sorts, that helps isolate the packets. The subnet helps the various devices understand which packets they should pay attention to handling. It also helps devices figure out where to broadcast. It's therefore important to have ALL of your devices on the network configured to use the SAME subnet mask. Otherwise how the decide to listen/transmit won't be handled properly. More or less.

There's nothing magic about 10.0.0.0 addressing, but the pattern of the subnet DOES matter. Using a 255.255.255.0 subnet mask leaves the last octet of 255 addresses unmasked. This leaves addresses for up to 253 devices free in-between the router and the broadcast address. 192.168.x.x is designed to allow 253 devices on 255 subnets. 192.168.0.0 being one, 192.168.254.0 being at the other end. The 3rd octet defines the subnet, or 'group' of 255 addresses for the various devices. If, however, you have more than 253 devices then you run into problems.

The solution is to step up from a Class C (192.168.x.x) subnet of 255 addresses to a Class B (172.16.x.x) with a mask of 255.255.0.0 would allow 65534 devices. Using a Class A network (10.x.x.x) with a mask of 255.0.0.0 would allow 16,777,214 (16 million) devices on it.

As a side note, these are non-routed or private addresses. They're always hidden behind a network gateway (typically using NAT on your router). Often filtered by a firewall.

_Head hurt yet?_ Just wait until you try to learn how multicasting is supposed to work on all of these. Costco sells motrin in gallon bucket sizes for reasons like this.

Where it gets even MORE complicated is dividing classes into subnets "in-between". I'd explain but it'd go WELL outside the scope of this thread.

Search for more info online if you want to learn more about subnetting.

But for your network at home, if you're on DHCP and you have under 253 different devices there's a lot of sense to using a 192.168.x.x subnet with a 255.255.255.0 subnet mask. I try to avoid using 192.168.1.0 and 192.168.0.0 because those are so popular that when you try using VPNs you run into potential network collisions. As in, your local network is 192.168.1.0 and you're making a VPN into another one also using the same 192.168.1.0 subnet.... Which won't work. Thus randomly choosing some other subnet helps narrow the likelihood of collision. 192.168.your-favorite-number.0, where your-favorite-number has to be in-between 0 and 254.

Bear in mind that if you decide to make subnet numbering changes you have to start with your router and have a computer connected directly to it (not through any other intermediary network switches). Because you'll be pulling the rug out from under your devices when you change your router's config. And any devices you had set up with a static address will also have to be manually changed. But it's not the sort of thing you have to do with any kind of frequency, so the one-time labor is an acceptable hassle.

So, why all this bother? Because some software is dumb about how it sees network classes. It sees a 192.168 address and assumes a /24 mask. Or sees a 10. and assumes a /8 mask. Thus using a matching class and subnet is just a way to help stupid software from making mistaken assumptions.

You can keep using the 10.0.0.0 subnet with a 255.255.255.0 mask, and things "ought to" work. But if they don't and something defies debugging/troubleshooting then punting and using a normal 192.168.x.x/24 setup is a good fallback starting point.


----------



## wkearney99

vanclute said:


> Incidentally on that note, I've never been very good with cron on Mac, it's always seemed slightly different from how I would use it on a Linux webserver. Do you know ow would one go about quitting & relaunching SB via Cron on a Mac?


Can't help you there. I really dislike how Apple handles their products, developers and customers. So I don't put much effort into figuring out what non-standard and crippled approach they implement for their stuff. But if it works for you I'm not hear to talk you out of it.


----------



## vanclute

Ah interesting, ok I didn't realize I could arbitrarily decide to use 192.168 instead of 10.0. Always assumed it was somehow tied to specific ISPs or something. And yes i can see software developers making assumptions about the type of subnet you're using... I've made my share of assumptions when coding PHP about how things "should" be and well, it always ends up biting you in the ass eventually. I might just try switching if I'm feeling adventurous and have at least a few spare hours one of these days. Thanks for the pointers!


----------



## wkearney99

Nope, it's your internal network. You can use whatever your device allows. Most will come with something as their default, but most will allow you to change this. I say "most" because it would be very odd for them not to allow this. I'm guessing your ISP chose that default for 'reasons', among which was the potential for remote access/VPN collisions. Choosing 192.168.1.0 or 192.168.0.0 is a bad idea, if only because SO many things default to it. That pretty much guarantees collisions when VPNs are used.

I just redid my whole internal network. I moved to a Qotom fanless mini-PC setup using pfSense for routing and firewall. I'm *very *pleased with it thus far. I did have to make a spreadsheet to list of all my current IP devices in preparation for creating DHCP leases for all of them. I prefer to keep devices on consistent IP addresses. If just to make it easier later to debug things when something's not working. I have wifi running from another router running as an access point. I don't use my ISP's router at all.


----------



## vanclute

Got it. My modem is my primary router, so I let it issue IPs for everything else on the network, though some devices I set a static IP for (generally anything acting as a server, like running SB, Plex, FTP, etc.). Also iOS devices you could technically set a static IP for but I find they are much happier leaving them on DHCP.

So basically I would go with something like 192.168.8.x for my network, that way it wouldn't/shouldn't collide with any VPN or other network I interface with... is that the basic gist?


----------



## wkearney99

yes, 8, 23, 77, 189 or whatever for the 3rd octet. Then just make sure everything has the same gateway, subnet and DNS. Speaking of which, for proper internal resolution you should be using an internal DNS record for devices, not external. Your ISP router is probably running one, so use it's internal IP address for that.


----------



## vanclute

wkearney99 said:


> Speaking of which, for proper internal resolution you should be using an internal DNS record for devices, not external. Your ISP router is probably running one, so use it's internal IP address for that.


OK you lost me on this one. Internal DNS? My modem sets the DNS automatically from the ISP, 75.75.75.75 and 75.75.76.76. There's no option to change it. Can you elaborate on this one?


----------



## wkearney99

There's the address your router uses to find DNS records. Then there's the address your internal hosts use to find addresses. They're not necessarily the same, otherwise how would your internal machines look up addresses for other internal machines? Thus it's common for your ISP router to run a DNS forwarder. You internal clients get the router as their DNS server, and ONLY that address. This way when the router hands out DHCP leases it an also keep track of the internal host names and your internal machines will find each other. If the internal hosts use an external DNS record then they'll have no way to find the internal hosts.

The important thing is to check your internal machines to see what DHCP info they've been handed. If their DNS record IP matches that of the internal router's gateway address then you're set. If not, well, stuff that looks up local hosts starts trying to fall back on mDNS, zeroconf (Bonjour) and the like, with mixed results.


----------



## ClearToLand

moyekj said:


> ini looks like has cache related options in it if you check above Wiki link:
> *preview.disable= (default:0)*
> * 0=Don't disable
> * 1=Disable, but show window with time during ffwd/rewind in previewmode
> * 2=Disable completely, only move shuttle bar during preview
> 
> *preview.displaytime= (default:true)*
> Display the time over the preview image when ffwding/rwding
> 
> *preview.cache= (default:cache)*
> Directory to look for (and possibly store) static pvw files
> 
> *preview.autogenerate= (default:true)*
> Autogenerate static pvw files when file is played for first time
> 
> *autogenerate.continue= (default:true)*
> continue autogeneration of previews, even when movie stopped
> 
> *autogenerate.delete= (default:false)*
> 
> I have preview.disable=1 since I don't care about having preview pictures and try and avoid skipping ahead of the current buffer.


I haven't touched any of the 'preview.*' options in the .INI file, yet when I attempt to move outside of the buffer, I get a gray block with the time (sounds like "preview.disable=1") and when I stop, after several seconds of "Please Wait...", the buffer is gone and I'm re-started at 00:00.

I have DEBUG enabled via the simplelog file - what should I be looking for?

The files are mpeg2 in .TIVO containers transferred via kmttg in PS 'Slow' Transfer format. They play fine from the buffer - I just can't 'Resume' or jump ahead of the buffer (inside the buffer is fine).



Code:


02/17/18 19:56:50 ViewScreen: 434 DEBUG: goto position: 120033, vidlen: 3602150
02/17/18 19:56:50 ViewScreen: 464 DEBUG: Position not in buffer, starting new stream
02/17/18 19:56:50 NewStatusBar: 30 DEBUG: state=false
StreamBabyStream[#1,uri=null] warning: resource 4518 not found.
StreamBabyStream[#1,uri=null] warning: resource 4518 not found.
02/17/18 19:56:50 NamedStream: 114 DEBUG: DeRegistering named stream: 279d0d0a-b215-46f1-a538-ca4bd5515498.stream
02/17/18 19:56:50 Listener: 447 DEBUG:
02/17/18 19:56:50 Listener: 438 192.168.0.141 I/O Exception handling  HTTP GET 279d0d0a-b215-46f1-a538-ca4bd5515498.stream: Connection reset by peer: socket write error

Forced "preview.disable=0" and re-started - no difference.


----------



## vanclute

wkearney99 said:


> The important thing is to check your internal machines to see what DHCP info they've been handed. If their DNS record IP matches that of the internal router's gateway address then you're set. If not, well, stuff that looks up local hosts starts trying to fall back on mDNS, zeroconf (Bonjour) and the like, with mixed results.


Oh ok... yeah everything has my stock Xfinity-provided DNS servers. So I guess as far as that goes at least, there's no issue.


----------



## moyekj

ClearToLand, .TiVo files don't support preview or remember where you left off etc. since they have to be decrypted on the fly. If you want proper trick play for those you have to decrypt first then stream.


----------



## ke3ju

I've been working on this for quite a few days now.

Here is my Streambaby.ini

#
# ./streambaby --help for more configuration file options
#

dir.1=G:\Movies
dir.1.name=Movies
dir.2=M:\TV
dir.2.name=TV
dir.3=C:\Users\edward\TiVo Recordings
dir.3.name=TiVo Recordings
plex.server=10.110.17.68:32400
tivo.MAK=583800****
# Ip address to bind to
# most people don't need to change this. 
ip=10.110.17.68
# port to use
#port=7290

The Media Access Key is edited, not sure if that is something that should be shared publicly.

Below is the Streambaby command window.

Initializing StreamBaby v0.54...
02/19/18 12:06:53 StreamBabyMain: 130 STARTING StreamBaby v0.54...
02/19/18 12:06:54 Listener: 125 added factory
02/19/18 12:06:54 Main: 275 MDNS: http://10.110.17.68:7290/streambaby/
02/19/18 12:06:54 Main: 276 streambaby ready & listening.
02/19/18 12:06:59 TiVoListener: 149 jmDns found TiVo: Living Room, tsn: 846000190C2****

Again, I edited out the last four in the TSN.

The Streambaby App does not show up in Apps on My Roamio OTA, nor on my TiVo Mini VOXes, and only the Roamio shows in the command Window.

I tried Left Thumb -> Right Thumb -> Play -> Play to reboot the HDUI, and still not there. Tried finding the "TiVo: *Enable Home Network Apps"* as suggested on the Streambaby wiki page. I can't find it anywhere. It looks to be a setting that may only be available prior to Hydra. There's really no mention of Hydra anywhere regarding Streambaby.

If I'm missing something, or I can provide more information for someone to give me a nudge in the right direction, I would greatly appreciate it.

Very Kind Regards...


----------



## moyekj

Hydra broke access to launch HME applications, so if you're on Hydra that's the problem. Apparently launching Streambaby from kmttg Remote still works for Hydra though as a workaround. But if you really must have Streambaby then reverting back to Gen 3 UI instead of using Hydra is probably best option.


----------



## ke3ju

I guess this quote from November had me confused.



moyekj said:


> Unless you are using Hydra software you don't need kmttg to launch streambaby as TiVo fixed it with 20.7.4 software. So just launch streambaby and then go to the Apps menu on TiVo. If you don't see "streambaby" there then go to TiVo home page and then click following sequence with your remote to reboot the HDUI:
> Thumbs Down, Thumbs Up, Play, Play
> Then head back to the Apps menu and you should see streambaby if it is indeed running properly on your streambaby server


I read it backwards from what you just explained to me. What a drag. Was hoping to find a way to get streaming on the Roamio at greater than 720p, which seems to be all Plex can provide on Series 5 boxes.

Thanks for the quick reply!!!


----------



## vanclute

FYI, TiVo did break HME for a bit, but they also fixed it. SB works fine for me on our Roamio Pro as well as our two Premieres (well, fine with a few quirks such as the one I'm trying to solve in this thread).

On that note... here's what I got back about mDNS and Viscosity:

Multicast networking should still work fine as long as the software is using the correct network interface for broadcasting. mDNS/Bonjour is different from normal multicast, however Viscosity does not make any changes in relation to mDNS. If you are sure the issue is with your software using the wrong interface for mDNS resolution, you could potentially trying using a tool like mdns-repeater to repeat the broadcasts on the correct interface.​
So, I don't know what to do with this information. Is it meaningful to someone else??


----------



## moyekj

vanclute said:


> FYI, TiVo did break HME for a bit, but they also fixed it. SB works fine for me on our Roamio Pro as well as our two Premieres (well, fine with a few quirks such as the one I'm trying to solve in this thread).


 Yes, but only for Gen 3 platform. On Hydra it was never fixed.


----------



## moyekj

FWIW ever since I can remember, with VPN enabled streambaby can't find TiVos on my LAN and TiVos don't see a pyTivo share. So at least VPNs that I have used do seem to interfere with network discovery for those tools and likely others. The latest VPN I'm using now to work is even worse in that it blocks access to all LAN devices. It's a configuration problem with the VPN on server side (at work) that IT is unwilling to fix so far claiming "security" issues.

So while it may be possible to get things working properly it very much depends on the VPN implementation and just may not be possible at all depending on server side settings. I've never looked at the specific code in SB for that to see if there's something there that could possibly be improved. (Wouldn't even know where to start looking).


----------



## ClearToLand

ke3ju said:


> ...*I read it backwards* from what you just explained to me. *What a drag. Was hoping to find a way to get streaming on the Roamio at greater than 720p*, which seems to be all Plex can provide on Series 5 boxes...


It still sounds to me like there's a 'Communications Breakdown' occurring here so I'm going to butt in.

I don't run Hydra/gen4, but I do run Streambaby, kmttg, Plex, pyTiVo and PyTiVo Desktop on Windows w/ Roamio Basic/OTA Encore/gen3 units. Thus, "HME was once broken and is now fixed (20.7.2RC4 IIRC)" in that you couldn't LAUNCH it from your TiVo *BUT* you can launch it from the Remote screen of kmttg (on the PC running Streambaby; I once tried it from another PC on my LAN running a second copy of kmttg, just for AutoSkip, and it never got past 'One Moment...'). If I have SB up for several days, randomly it disappears from my APPS menu but the kmttg Remote will re-launch it.

So, what I'm saying is that if you are running kmttg on the same PC that you're running SB and you LAUNCH it, 'One Moment...' should appear on your Hydra/gen4 unit. Similar to having a dead battery in a manual transmission vehicle; get it rolling, put it in 2nd gear, pop the clutch and the engine starts. Once started / LAUNCHed, you can drive all over (just like if you launched it from the APPS menu).

Let me know if it works for you on Hydra/gen4. If it does, maybe we can exchange some Plex questions.


----------



## ClearToLand

@moyekj,

The font in the 'Info' box is too small for my old eyes (32" HDTV from ~12'). I bumped up the Closed Captions size from 'small' to 'medium':


Code:


cc.fontsize=small
Size of font as either absolute integer, or medium, small, tiny

 but haven't found a way (in the Wiki) to increase the size of the font in the 'Info' box. Is there a section of the Source Code where I could edit a bigger font size in?

Thanks in advance.


----------



## ClearToLand

ke3ju said:


> ...*The Streambaby App does not show up in Apps on* My Roamio OTA, nor on *my TiVo Mini* VOXes, and only the Roamio shows in the command Window...


Keep in mind that Streambaby is streaming / transferring / copying the show to a temporary BUFFER on the receiving units HDD, so you cannot directly stream to a Mini. But, as was mentioned earlier in this thread IIRC, if you start a stream to a TiVo unit with a HDD, (supposedly - I've never tried this) you can then use the Mini and find the file in the NPL of that TiVo and view it from the Mini like a previously recorded show. I'll have to try that someday...



ke3ju said:


> ...*It looks to be* a setting that may *only be available prior to Hydra*...


Hydra/gen4 removed a few features that some folks were accustomed to having / using daily...  PLENTY of threads on that topic.

I've been reading the YEARS OLD posts in the kmttg, Streambaby, TiVoDecode threads from '_no longer active_' members like @kearygriffin and @fflewddur and the history of how the tools we use today evolved is quite an interesting read if you have the time. Considering the amount of time some folks like @moyekj, @wmcbrine, @Dan203 have been involved / dealing with these subjects, it's easy to see how something confusing for one of us newbies is so obvious to one of them.


----------



## vanclute

moyekj said:


> Yes, but only for Gen 3 platform. On Hydra it was never fixed.


I thought Hydra was the code name for their most recent major UI update? Isn't Roamio Pro gen 4? I'm likely confused so feel free to set me straight.


----------



## moyekj

vanclute said:


> I thought Hydra was the code name for their most recent major UI update? Isn't Roamio Pro gen 4? I'm likely confused so feel free to set me straight.


2 different things. You are probably thinking hardware series. Premieres are series 4, Roamios series 5, Bolt series 6 hardware. Gen 3 and 4 is on the software side, Gen 4 being Hydra, Gen 3 the "good" pre-Hydra software. (Very confusing I know for those not intimately familiar with postings in these forums).


----------



## ke3ju

ClearToLand said:


> Let me know if it works for you on Hydra/gen4. If it does, maybe we can exchange some Plex questions.


This did work, I was able to launch StreamBaby from the KMTTG Remote on my Roamio OTA. I'm going to play with it a bit, and see if I can find a way to get Metadata to appear for my downloaded shows and movies.

Are you asking me Plex questions? I've gotten pretty intimate with it over the past 4 weeks...I may or may not have answers. Also, maybe should be in another thread, or private.


----------



## vanclute

moyekj said:


> 2 different things. You are probably thinking hardware series. Premieres are series 4, Roamios series 5, Bolt series 6 hardware. Gen 3 and 4 is on the software side, Gen 4 being Hydra, Gen 3 the "good" pre-Hydra software. (Very confusing I know for those not intimately familiar with postings in these forums).


Oh holy crap... you aren't kidding. I didn't realize there were considered to be separate entire generations for the software too. Jeez.

So I'm still confused. When TiVo first rolled out this new UI (Hydra, I guess?), HME was broken. I and many others were seriously despondent over this, and it got reported to TiVo who actually acknowledge it as a mistake on their side. A few weeks later, it started working again after a software update (this is on a Roamio Pro. On our Premieres it never broke in the first place). The software on our RP has updated several times since then, so it would seem we are on the "latest" software, and HME still works fine (with "fine" being a somewhat relative term). Is this not "gen 4" Hydra?


----------



## moyekj

If you had Hydra you would probably know it since Streambaby would not appear at all for you and Hydra changed/broke lots of other things, so you most likely have the Gen 3 non-Hydra software currently. For Hydra you only get it if:
1. You buy series 5 or later hardware from TiVo (it comes pre-installed with Hydra)
2. For existing hardware that doesn't already have Hydra you only get it if you "opt in" to it via a web page.


----------



## vanclute

Ah ok, well I definitely didn't opt in so... sounds like an open beta or something? Anyway I'd roll all the way back to the version before the current crap UI changes if I could. Or stick with SD menus like we do on our Premieres... wish you could do that on a Roamio.


----------



## vanclute

vanclute said:


> On that note... here's what I got back about mDNS and Viscosity:
> 
> Multicast networking should still work fine as long as the software is using the correct network interface for broadcasting. mDNS/Bonjour is different from normal multicast, however Viscosity does not make any changes in relation to mDNS. If you are sure the issue is with your software using the wrong interface for mDNS resolution, you could potentially trying using a tool like mdns-repeater to repeat the broadcasts on the correct interface.​
> So, I don't know what to do with this information. Is it meaningful to someone else??


So I suppose I'm just dead in the water here as far as using SB on a Mac running a VPN? I haven't been able to make any progress at all on my own.


----------



## thewebgal

Dunno, I have a 2009 MacPro with Sierra (doesn't want to upgrade to HighSierra - thats another story).
Airport Extreme upstairs on the macPro and Airport Express linked to Tivo Base Roamio downstairs in the HT room.
omputer is set to Auto Launch Streambaby on the mac on boot - I can see it under Apps on the TIVO, and I watched some movies on the Mac from my Tivo last night just fine.


----------



## vanclute

thewebgal, was your reply addressed to me? I didn't see you mention a VPN which is the primary thrust of my series of posts, but if you do indeed have SB working with a VPN, please tell me more! Thanks...


----------



## CaptainTiVO

Hi, I haven't used this forum in a long time but reading this thread, it appears to me that new questions are posted by simply replying to a previous one?

Anyway, I ran streambaby years ago and decided to use it again. I now have a Tivo Bolt and I set up streambaby and it works fine except that I can't get it to run as a service on my Windows 7 PC.

I installed the service as indicated here: streambaby / Wiki / WindowsServiceInstallation
but it does not start when the machine boots. Attempting to start manually gets this error:

*"Windows could not start the Streambaby service on Local Computer. Error 1067: The process terminated unexpectedly".*

The I tried to start it using the start-streambaby-service.bat file. and I get this error:

*"wrapper | OpenSCManager failed - Access is denied. (0x5)
Press any key to continue . . ."*

Can anyone tell me what I'm doing wrong?
Thanks.

Here is my .ini file:

#
# ./streambaby --help for more configuration file options
#

dir.1=Z:\TV Shows
# Ip address to bind to
# most people don't need to change this.
ip=192.168.1.2
# port to use
#port=7290
tivo.MAK=********* (hidden for safety


----------



## HerronScott

CaptainTiVO said:


> *"wrapper | OpenSCManager failed - Access is denied. (0x5)
> Press any key to continue . . ."*


What folder do you have Streambaby located in and what account are you running the service with?

Scott


----------



## moyekj

I hadn't tried service mode for a long time, but it still works for me on Windows 10. A couple of important things:
1. Run as administrator the service installer
2. Once service is installed you need to find the service and change to use your account for login instead of the default service account.


----------



## CaptainTiVO

moyekj said:


> I hadn't tried service mode for a long time, but it still works for me on Windows 10. A couple of important things:
> 1. Run as administrator the service installer
> 2. Once service is installed you need to find the service and change to use your account for login instead of the default service account.


The Streambaby folder is here: C:\Users\Hunter\Documents\bin\streambaby-0.54\
I installed the service using "Run as Administrator". I then changed the "Properties\Logon" to my user account.
Unfortunately, I get the same errors.
Also, I just noticed this caveat: *"Note: Windows services by default don't have access to network drives, so if any of your videos are on network drives you will have a problem. (Same goes but worse if the streambaby app is installed on a network drive)"*
Of course, all my media files are on mapped network shares :-(.

Is this the problem? I did some searching and found some solutions to this, most requiring a bit more programming than I know in Windows (Map a network drive to be used by a service)


----------



## moyekj

Well you should first try with non-network drives just to eliminate that as a factor. If it works that way, then for network shares maybe you could try using UNC format instead of mapping. So, for example this format instead of mapping to a volume name:
\\server\path\to\share


----------



## CaptainTiVO

OK, so I tried with local dirs, and UNC network share. Both work fine when started manually but both fail when installed as a service. I tried Googling "error 1067" and did not find an answer. I tried disabling anti-virus and windows firewall. Same error. Has anyone got this to work on Windows 7?


----------



## superflysocal

moyekj said:


> Hydra broke access to launch HME applications, so if you're on Hydra that's the problem. Apparently launching Streambaby from kmttg Remote still works for Hydra though as a workaround. But if you really must have Streambaby then reverting back to Gen 3 UI instead of using Hydra is probably best option.


I have a tivo Roamio Pro and I don't have hydra but I cannot seem to get to Streambaby. I thought the HME was broken even without Hydra but now there are people here saying that it's only broken in Hydra. Can someone please clarify?

Edit: Nevermind i found it. It is at the bottom of the list after all of the regular apps.


----------



## moyekj

superflysocal said:


> I have a tivo Roamio Pro and I don't have hydra but I cannot seem to get to Streambaby. I thought the HME was broken even without Hydra but now there are people here saying that it's only broken in Hydra. Can someone please clarify?


See following which describes how to reset HDUI which may be what you need (assuming you have streambaby running and you are not using VPN):
Streambaby - new streaming application


----------



## superflysocal

moyekj said:


> See following which describes how to reset HDUI which may be what you need (assuming you have streambaby running and you are not using VPN):
> Streambaby - new streaming application


Nevermind i found it, it was at the bottom of the list. Apparently it was fixed with 20.7.4.

I haven't messed with SB for a while because i thought it was dead. Do we still need to disable mp4.module for it to work?


----------



## moyekj

0.54 version of Streambaby disables mp4.module internally.


----------



## fyodor

Am I correct that Streambaby does not support 4K content?


----------



## moyekj

If the ffmpeg you are using with streambaby can handle transcoding 4K content on the fly to mpeg2 it may work, but I've never tried.


----------



## jcthorne

The Bolt does not really support 4k all that well. Does not do HDR video at all and very limited on bit rate in 4k resolution. A very poor 4k streamer. Its not streambaby, its the bolt.

There is also no way to upload 4k content to the Tivo hard drive to play locally either.


----------



## moyekj

Yes, but remember streambaby is transcoding all H.264 video now anyway since TiVo broke streaming of H.264 video, so any non-mpeg2 video is transcoded by streambaby anyway. So theoretically if the 4K content in question can be transcoded on the fly by ffmpeg in better than real time then it could work with streambaby.


----------



## fyodor

Right-I was looking to play it natively. I understand that this is a limitation on the Tivo end, not the software end, but I just wanted to make sure before proceeding with other solutions.


----------



## jcthorne

moyekj said:


> Yes, but remember streambaby is transcoding all H.264 video now anyway since TiVo broke streaming of H.264 video, so any non-mpeg2 video is transcoded by streambaby anyway. So theoretically if the 4K content in question can be transcoded on the fly by ffmpeg in better than real time then it could work with streambaby.


Can ffmpeg even convert 4k HDR video encoded with HEVC to mpeg2? Even in less than real time? I do not think any of the video tools have mastered 10bit color to 8bit recode and preserve a reasonably accurate color space. Its not a matter of processing power.

Then, if one had a 4k 8bit video file in mpeg2 format, could streambaby even stream it? Would be a pretty high bit rate using mpeg2 and do not know if Tivo can even display that. Has any one tried?

I can tell you a 4k 8bit video in mpeg2 will not transfer and play using pytivo.


----------



## moyekj

If pyTivo can't do it then neither will streambaby.


----------



## ClearToLand

Hi Kevin,

I'm attempting to run two simultaneous instances of Streambaby on two physically different PCs - a laptop and a desktop. In Streambaby.ini, I have them named differently (title=) so that on the TiVo Apps screen I see two separate entries, but whichever instance I start first is the only instance that both links on the TiVo Apps screen resolves to. I get the same results if I re-launch Streambaby via kmttg on the respective PC.

I have DEBUG turned on and I even wait for the "HME receiver has disconnected" to no avail. The only way to get the second instance recognized is to stop the first. Is this a limitation of HME?


----------



## moyekj

I don't think it's an HME limitation, rather something in streambaby probably. I didn't write most of streambaby and haven't looked at the code for a long time, so don't really know for sure...


----------



## vanclute

FYI I used to run two SB servers in our home, and in the last couple of years it stopped behaving reliably. One would show up consistently, one would show up sometimes. If it would show, it would usually be after going into TiVo settings and re-fetching the DHCP IP. Even that wasn't a 100% solution though. I finally gave up and now we run one SB instance, that simply mounts the other server's drive over the network and uses it that way. It's convoluted, especially if the remote machine reboots as the remote volume won't automatically re-mount. But it's the only reliable way I've been able to have two separate machine's drives show up.

This used to work, but something happened that broke it. My money is on one of the many TiVo updates.


----------



## reneg

I'm way, way back on the 0.30 version of Streambaby. I am running one instance of Streambaby on two different computers without issue. The .ini files are pretty much the same except the title. 

Occasionally, only one of the instances is listed on the Tivo. A quick Tivo UI reset (thumbs down, thumbs up, play, play) fixes that and both instances are listed after the UI reset.


----------



## ClearToLand

reneg said:


> I'm way, way back on the 0.30 version of Streambaby...


Hi @reneg ,

I noticed in the TiVo Streaming Plugin for Plex TiVoToGo.Bundle thread that you're running Plex. Since you're also running Streambaby (v0.30), have you ever tried entering the IP of your Plex Server into the Streambaby .INI file and playing 'Plex' shows through Streambaby (ffmpeg)?

Almost two months ago I asked if anyone running both Streambaby and Plex had been able to play 'Plex' shows through Streambaby (Streambaby & Plex: "Failed to open stream" - Volunteers?), but haven't received any responses to date. I would be very appreciative if you would either share your experience or perform the 'experiment' to see if you have a different result than I have ("Failed to Open Stream").

As I said in May, I can plainly see that Streambaby is returning Plex metadata vs TiVO metadata but I cannot get a file to play. It looks like the filename is not being input to ffmpeg. If I point Streambaby directly to a Plex directory on my NAS, either via UNC or drive mapping, all those shows play just fine.

Thanks!


----------



## reneg

ClearToLand said:


> Hi @reneg ,
> 
> I noticed in the TiVo Streaming Plugin for Plex TiVoToGo.Bundle thread that you're running Plex. Since you're also running Streambaby (v0.30), have you ever tried entering the IP of your Plex Server into the Streambaby .INI file and playing 'Plex' shows through Streambaby (ffmpeg)?
> 
> Almost two months ago I asked if anyone running both Streambaby and Plex had been able to play 'Plex' shows through Streambaby (Streambaby & Plex: "Failed to open stream" - Volunteers?), but haven't received any responses to date. I would be very appreciative if you would either share your experience or perform the 'experiment' to see if you have a different result than I have ("Failed to Open Stream").
> 
> As I said in May, I can plainly see that Streambaby is returning Plex metadata vs TiVO metadata but I cannot get a file to play. It looks like the filename is not being input to ffmpeg. If I point Streambaby directly to a Plex directory on my NAS, either via UNC or drive mapping, all those shows play just fine.
> 
> Thanks!


Plex support in Streambaby wasn't added until v0.32, so it's not in the version of Streambaby, v0.30 that I'm using. I continue to run v0.30 because I made modifications to Streambaby to personalize it to my liking. It's been so long ago, that I'm not sure I could bring those changes forward without a lot of effort. Plus, Java is not my preferred programming language.

When I get a chance, I will install a separate, updated version of Streambaby and try out the Plex option and let you know the results in your other thread.


----------



## wkearney99

Is there any way to have SB use .NFO files? Or a converter of NFO files into something it will use?


----------



## tluxon

The PC I use as a "server" is running W7x64 so I can continue using WMC (recording shows without mp4 "holes") until it is no longer feasible or there is a better (for my purposes) alternative. Our family used Streambaby almost daily for many years until about 2 years ago (when we got the TiVo Bolts). The last version I used was 0.29 and that seemed to work fine from the server to any of our TiVos.

Today I got the urge to try Streambaby again and after several minutes of "One Moment" (used to list videos within seconds), a screen appeared that said:

App Temporarily Available
The requested application is currently unavailable (V301)
Please try again in a few minutes
For more info, visit tivo.com/help/V301

I've updated Streambaby to v0.54 and added it as a service. I added login username and password to the service properties. The server is running Java 8 update 201.

Any ideas why we're getting this error and/or what I can do to resolve it?

One other issue - one of the TiVo Bolts and our TiVo Premiere list "Streambaby" in their Apps, while two of our TiVo Bolts don't show it at all. I can't seem to find how to add it to them and a reboot of the TiVos didn't do seem to it.


----------



## tluxon

I resolved the problem when realizing that the tools file didn't contain anything. I was able to manually download it from sourceforge and then running the streambaby batch file got it just fine. I now have streambaby getting past the "one Moment" screen and almost instantly showing me the directories in the .ini file. The problem now is that none of the videos actually play. I have primarily .wtv (mp4 and mpg WMC files with integral metadata) files and h.264 mp4 files, but every file of all file types I try to play gives me a "Failed to open stream" error in red letters. Do I need to have an ffmpeg file in Streambaby's home folder or is it something else?


----------



## tluxon

tluxon said:


> I resolved the problem when realizing that the tools file didn't contain anything. I was able to manually download it from sourceforge and then running the streambaby batch file got it just fine. I now have streambaby getting past the "one Moment" screen and almost instantly showing me the directories in the .ini file. The problem now is that none of the videos actually play. I have primarily .wtv (mp4 and mpg WMC files with integral metadata) files and h.264 mp4 files, but every file of all file types I try to play gives me a "Failed to open stream" error in red letters. Do I need to have an ffmpeg file in Streambaby's home folder or is it something else?


That was it. SB was looking for ffmpeg in the native folder and it wasn't there and I found it in the zipped tools file. I got the native folder from the tools file and copied it into SB's native folder. Now everything plays fine. I saw the ffmpeg file in the tools file was from 2014, so I put a new one in there.


----------



## solikedude

tluxon said:


> The PC I use as a "server" is running W7x64 so I can continue using WMC (recording shows without mp4 "holes") until it is no longer feasible or there is a better (for my purposes) alternative. Our family used Streambaby almost daily for many years until about 2 years ago (when we got the TiVo Bolts). The last version I used was 0.29 and that seemed to work fine from the server to any of our TiVos.
> 
> Today I got the urge to try Streambaby again and after several minutes of "One Moment" (used to list videos within seconds), a screen appeared that said:
> 
> App Temporarily Available
> The requested application is currently unavailable (V301)
> Please try again in a few minutes
> For more info, visit tivo.com/help/V301
> 
> I've updated Streambaby to v0.54 and added it as a service. I added login username and password to the service properties. The server is running Java 8 update 201.


Similar setup to me, but I have been running 0.54 but not within the last few months.
Unfortunately, I saw your symptoms the last time I started it up.
However, I already had the "native"folder downloaded from tools.

My fix was to change the batch file to point to an older version of java that was left on my drive.
"d:\Program Files\Java\jre7\bin\java" -Djava.net.preferIPv4Stack=true -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1

I did not verify with other versions of java8, but this was an easy fix for me


----------



## tluxon

Two of our TiVo Bolts still do not "see" Streambaby. Restarts and Net Connects don't seem to make any difference. Does anybody know what has to happen for a TiVo to be aware of Streambaby? FWIW, The ones that "see" it are the TiVos that have been in place the longest.


----------



## tluxon

No


tluxon said:


> Two of our TiVo Bolts still do not "see" Streambaby. Restarts and Net Connects don't seem to make any difference. Does anybody know what has to happen for a TiVo to be aware of Streambaby? FWIW, The ones that "see" it are the TiVos that have been in place the longest.


Nobody?


----------



## Dixon Butz

Do they have the new interface? 
Needs the old interface to work.


----------



## kflinch

Dixon Butz said:


> Do they have the new interface?
> Needs the old interface to work.


Are you saying that Streambaby doesn't work with Hydra? My Tivo updated to Hydra and now I do not see Streambaby. Is there a way to revert to the previous OS?


----------



## mattack

Not without losing all of your shows.


----------



## moyekj

FWIW, last someone reported it's still possible to launch Streambaby on Hydra via kmttg (as long as kmttg runs on same machine hosting streambaby):
Remote--Remote--Launch App=streambaby

i.e. Hydra still has capability of running HME apps, it's just launching HME apps that TiVo broke/discontinued.


----------



## kflinch

moyekj said:


> FWIW, last someone reported it's still possible to launch Streambaby on Hydra via kmttg (as long as kmttg runs on same machine hosting streambaby):
> Remote--Remote--Launch App=streambaby
> 
> i.e. Hydra still has capability of running HME apps, it's just launching HME apps that TiVo broke/discontinued.


Thanks for the tip. If the downgrade falls I try launching Streambaby from kmttg.


----------



## kflinch

kflinch said:


> Thanks for the tip. If the downgrade falls I try launching Streambaby from kmttg.


OK, I tried launching Streambaby from kmttg. It works, but it's pretty cumbersome. Much less convenient than selecting from the Apps menu on Tivo. Appreciate the suggestion, though.


----------



## mattack

can someone even explain what this means? You mean kmttg *on the computer*?

if so, how does launching another program from the computer end have anything to do with what the *tivo end* can see?


----------



## moyekj

mattack said:


> can someone even explain what this means? You mean kmttg *on the computer*?
> 
> if so, how does launching another program from the computer end have anything to do with what the *tivo end* can see?


kmttg can send a command to the TiVo that launches Streambaby on it.


----------



## mattack

Oh, then it seems like you should add a checkbox to the prefs for "auto-launch streambaby" for the poor souls using the new UI.


----------



## moyekj

I would think hardly anyone would want streambaby automatically started on their TiVo every time they start kmttg, especially when you can do so if and when you actually want. But in any case it's a very poor substitute to being able to launch from TiVo itself which Hydra broke.


----------



## davidblackledge

mattack said:


> Oh, then it seems like you should add a checkbox to the prefs for "auto-launch streambaby" for the poor souls using the new UI.


Ok, compromise in the latest release of KMTTG:
New program for 1 step TTG downloads, decryption, encoding - kmttg

Turn on File > AutoSkip Service for the TiVo in question, tune to channel 0-5 on Live TV, and streambaby will launch.


----------



## dchomak

Not much action in this thread anymore, but I do want everyone to know that I, for one, use StreamBaby almost every day!

More that 2 years ago, I posted a question on how to link more than one drive to the search function within StreamBaby. I was given a couple of suggestions but they were not what I was looking for.
I have many, many videos stored on 2, 8TB external drives and when I search for a video I wanted to be able to search both drives with just one search. *I finally figured out how to do just that with the MSDOS "mklink" command.*
I store all of my videos on 2 drives In these 2 locations.
"G:\StreamBaby root" and "M:\Music Videos"
For some reason I have found that the search function in StreamBaby doesn't seem to work properly when trying to search for files in a root directory of a drive, at least not for me.

I am running Windows 7 and I opened up a command prompt as administrator and typed in this command:

mklink /J "M:\Music Videos\common" "G:\streambaby root"

This only has to be done once.
a link will be created in M:\Music Videos named "common" and you will see it there after running the command. It will survive shutdowns and reboots.
Now when I search "M:\Music Videos" the search will extend to the second drive and also search in "G:\StreamBaby root"

Because of the spaces in the directories, it is necessary to use the quotes in the paths.
to remove the link, should you want to, simply delete the "common" link.

One more important thing I had to do is increase the amount of memory StreamBaby is allocated in the "Streambaby.bat" command.
in stock form it uses 256M, I had to change mine to 4G! You will have to experiment to find the right amount for your configuration. If you don't have enough you will get an error in the streambaby.bat console. Use Windows Task Manager to see just how much you need.

I edited mine from this:

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true -Xmx256m -Xmx256m -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

to this: (changes in bold)

@echo off
set LAUNCHDIR="%CD%"
pushd "%~dp0\native"
java -Djava.net.preferIPv4Stack=true *-Xmx4096m -Xmx4096m* -jar "%~dp0/jbin/streambaby.jar" %1 %2 %3 %4 %5 %6 %7 %8 
echo Exited.
pause
popd

In my case this does suck 4GB from my system memory during the first search, and that first search does take some time. However, each successive search during that same SB session is cached and is just about instantaneous. 
VERY NICE

Bumping up the allocated memory for SB solved all the search issues I had in the past.
That 4G of memory allocated is released once my SB session is ended.

A question I have is why is there 2 identical memory commands in Streambaby.bat?
Should there be a min and max command?


----------



## tluxon

Yes, mklink is not well-advertised but extremely useful and powerful.

I use streambaby (0.54) several times a week to access programs primarily recorded with Windows Media Center on any of several 6TB drives. I haven't actually noted how much memory is being consumed to load all the shows, but perhaps it's different for me as I'm running streambaby as a service as opposed to via the batch file.


----------



## reneg

dchomak said:


> A question I have is why is there 2 identical memory commands in Streambaby.bat?
> Should there be a min and max command?


I think the default should be -Xm*s*256m -Xmx256m. It looks like it should define initial and maximum heap size. Though not recommended to have different values, you might get away with just modifying the second parameter to set the maximum. like -Xm*s*256m -Xmx4096m. It might not take as long for that first search unless you truly are consuming 4GB of memory. Glad you found something that works for you


----------



## kflinch

I didn't know Streambaby has a search function.


----------



## sonnymiles6

dchomak said:


> Same here, my 2 Premieres are back with Streambaby in the apps menu.
> 
> I actually called TiVo and told them I would pass on their $199 Bolt upgrade with Lifetime service offer because I could at least use Streambaby on my Premiers with the SD menus.
> 
> Lately, with the last 2 updates from TiVo, pyTiVo does not work for music anymore for me.
> Which brings me to this question. Since TiVo no longer "supports" TiVo Desktop, and I now can't use pyTiVo, how hard would it be to get Streambaby to work with mp3's?
> It almost works now if I add "mp3" to the list of extensions in the streambaby.ini file.
> Having a fast a reliable mp3 player would be so nice.
> Also, being able to use the search function would just make it so much better than anything else there ever was.


What does a streambaby.ini file look like with mp3 in the list of extensions?


----------



## dchomak

just add it in like so..

extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,m2ts,mts,webm,*mp3*

You will see the mp3's and they will play. Progress bar doesn't advance and you can't fast forward (instant crash)
my point was that they do play. I even messed around trying to configure the streambaby.ini options to remove the preview pane, etc.
it sure would be nice to use the TiVo to play mp3's again.


----------



## HoosontheTeevo

Hello Streambaby creators/gurus- I have a lot of archived shows from my tivo roamio that I'd like to quickly and efficiently be able to 'play' to my main tv/tivo - that the tivo is not reliably able to pull. I did get streambaby to work from my macbook. and can get it to install/compile/find tools and launch from two windows 7 machines (via apps and by kmttg) - and I see all folders that I specify from directory names including network external drive and networked computers - but every time I select any video - .ts, .mpg, .mp4 to play I get etc. - "Failed to Open Stream" in red letters. I've rolled back to java 32 bit, tried older streambaby versions, lowered quality, etc. Any ideas?


----------



## reneg

Sounds like it could be a permission or ffmpeg issue. There should be some error output from streambaby if you are running it from a command line. If you a running streambaby as a service, stop the service and run it from a command line so you can see the streambaby output. Also, try to remove the network aspect for now, copy a video file locally to the same machine that is running streambaby and add that directory to streambaby.ini.


----------



## vanclute

Streambaby has completely stopped working for me this evening. 24 hours ago it worked perfectly, now it doesn't even show up on any of our TiVos (Premiere and Roamio Pro). Have rebooted TiVos, the streaming server, and the cable modem... no change at all.

Anyone else having problems with SB now? I'm scared to death of the day they might decide to just kill HME apps completely once and for all...

EDIT: For reasons completely unknown to me... now it's back just like always. I did absolutely nothing except let time pass. Weird.


----------



## dchomak

HoosontheTeevo said:


> ...... networked computers - but every time I select any video - .ts, .mpg, .mp4 to play I get etc. - "Failed to Open Stream" in red letters. I've rolled back to java 32 bit, tried older streambaby versions, lowered quality, etc. Any ideas?


I believe your problem is you lack the proper files in the "native" directory of your Streambaby folder.
streambaby - Browse /tools at SourceForge.net
download the zip file and expand it there.


----------



## dchomak

It seems that last nights Windows 10 Update 1909 KB4528760
broke Streambaby for me.
Streambaby loads but can not find my TiVo's


----------



## kflinch

dchomak said:


> It seems that last nights Windows 10 Update 1909 KB4528760
> broke Streambaby for me.
> Streambaby loads but can not find my TiVo's


I installed the update and Streambaby works OK for me. In the past I have seen there is often a Java update after the Windows update. The Java update requires a new exception to the Windows firewall.
I don't know if this is your problem, but following is what I do.

I run Streambaby as a service. I would stop the service. Start Streambaby from the command line. As streambaby is loading a Windows firewall window pops up and prompts to allow an exception. I select to allow the exception. Then Streambaby completes loading. Then I close the command line window and restart the service.


----------



## dchomak

You are right, today Java updated from Java 8 update 231 to 241.
I had problems before that though. The new firewall exception popped up just after the new Java update and I did allow that.
However there was no change.

I tried your running as a service, etc but that did not work. I usually run SB from the BAT file.
This is the console output. SB never finds the TiVos

Initializing StreamBaby v0.54...
01/15/20 16:50:24 StreamBabyMain: 130 STARTING StreamBaby v0.54...
01/15/20 16:50:29 Listener: 125 added factory
01/15/20 16:50:29 Main: 275 MDNS: http://192.168.56.1:7290/streambaby/
01/15/20 16:50:29 Main: 276 streambaby ready & listening.


----------



## kflinch

dchomak said:


> You are right, today Java updated from Java 8 update 231 to 241.
> I had problems before that though. The new firewall exception popped up just after the new Java update and I did allow that.
> However there was no change.
> 
> I tried your running as a service, etc but that did not work. I usually run SB from the BAT file.
> This is the console output. SB never finds the TiVos
> 
> Initializing StreamBaby v0.54...
> 01/15/20 16:50:24 StreamBabyMain: 130 STARTING StreamBaby v0.54...
> 01/15/20 16:50:29 Listener: 125 added factory
> 01/15/20 16:50:29 Main: 275 MDNS: http://192.168.56.1:7290/streambaby/
> 01/15/20 16:50:29 Main: 276 streambaby ready & listening.


I didn't mean to imply that running streambaby would solve your problem. I simply meant that if you run streambaby as a service, you need to stop the service before you start streambaby from the command line.

Could the Windows update have effected the network settings? If you connect the computer to the network via wifi, is wifi turned off? Or did wifi connect to a different network when the computer rebooted? Can you access the Internet from the computer?


----------



## moyekj

If you have a VPN running on machine running streambaby it can prevent TiVo discovery from working.


----------



## dchomak

Well. I did install Oracles Virtual Box.......
So I uninstalled all of that and holy cow, SB has found my TiVo's again.
I would NEVER have guessed that.
Thank you very much!


----------



## vanclute

moyekj said:


> If you have a VPN running on machine running streambaby it can prevent TiVo discovery from working.


Was this quote aimed at me? If not then it's a very spooky coincidence, so I'm gonna assume it was!

This seems to be exactly the problem I'm having. No matter what I try, if a VPN is active on my StreamBaby machine, TiVo cannot find SB.

Does anyone have any idea how to get around this? I just want to be able to leave the VPN active all the time and not think about it, but still have my TiVos able to find SB.


----------



## kflinch

dchomak said:


> just add it in like so..
> 
> extensions=mp4,mpeg,vob,mpg,mpeg2,mp2,avi,wmv,asf,mkv,tivo,m4v,raw,3gp,mov,flv,ts,m2ts,mts,webm,*mp3I*


I tried it. I added the entire extensions line above to the ini file and restarted the service. Now I can play MP3s via Tivo. True the progress bar doesn't show any progress and disappears after a few seconds too. Also, no metadata or album art. So the TV is totally black screen while the music plays. But better than nothing. Thanks for the suggestion.

I've been experimenting with playing music via Plex. But I haven't mastered organization. It's difficult to find what I want.


----------



## dougdingle

kflinch said:


> I tried it. I added the entire extensions line above to the ini file and restarted the service. Now I can play MP3s via Tivo. True the progress bar doesn't show any progress and disappears after a few seconds too. Also, no metadata or album art. So the TV is totally black screen while the music plays. But better than nothing. Thanks for the suggestion.
> 
> I've been experimenting with playing music via Plex. But I haven't mastered organization. It's difficult to find what I want.


Plex's 'organization' abilities are pathetically awful for both music and videos. Just a basic understanding of folder structures on the source would be helpful. Perhaps it's the (multitude of various) players I'm using, but whether on a TiVo, or my Terra Master NAS, or the apps that load onto my dumb 'smart' TV's it's always just garbage. Don't understand why that should be after all this time, but that's how it is.


----------



## kflinch

dougdingle said:


> Plex's 'organization' abilities are pathetically awful for both music and videos. Just a basic understanding of folder structures on the source would be helpful. Perhaps it's the (multitude of various) players I'm using, but whether on a TiVo, or my Terra Master NAS, or the apps that load onto my dumb 'smart' TV's it's always just garbage. Don't understand why that should be after all this time, but that's how it is.


Regarding Plex, I've read that file naming is important. The correct file name format allows Plex to recognize the file and add metadata. For movies - movie name, then year in parentheses. I have 522 movie files. I rename a bunch at a time. I also have a lot of TV episodes. I don't know what to do with them.

Regarding playing MP3s on Tivo, some don't play. Have any idea why not?


----------



## dougdingle

No, sorry. I rarely use my Roamio Pro for anything but the original intended purpose. I find its apps and in general anything besides live TV and playback of its own recordings to be slow, cumbersome, and often buggy.

I use various streaming devices from Amazon and Apple to stream music and video when I want to do that. The only useful thing I do on occasion with the TiVo apps is if I'm watching an old series like, say, Star Trek Voyager, I can hit the Record button and from there get the TiVo to load Netflix and it will come up with that episode and play it without commercials and in better quality. That's kinda fun and useful, although it's been a while since I've done even that. When the $25 (on sale - $50 when not) Amazon Firestick 4K can run circles around the Roamio apps in speed, video and audio quality, I'd much rather use that.

I have no idea how apps perform on the newer faster TiVo hardware, though, just the Roamio. I also have four Minis, and using the apps on those is what I imagine dripping water torture would be like. Unbearably slow and buggy, crashing more often than not.


----------



## aaronwt

kflinch said:


> Regarding Plex, I've read that file naming is important. The correct file name format allows Plex to recognize the file and add metadata. For movies - movie name, then year in parentheses. I have 522 movie files. I rename a bunch at a time. I also have a lot of TV episodes. I don't know what to do with them.
> 
> Regarding playing MP3s on Tivo, some don't play. Have any idea why not?


The TV episodes work great with plex, as long as they are named properly. There was a kmttg thread around here that showed the proper naming. I have kmttg set to automatically transfer my TiVo recordings to my HD plex machine. Then kmttg automatically names them in a plex friendly way. After it's converted from the .tivo extension. And then plex scrapes the folders and all the TiVo recordings show up properly in plex. And then I have access to the content from dozens of devices.


----------



## wkearney99

vanclute said:


> Was this quote aimed at me? If not then it's a very spooky coincidence, so I'm gonna assume it was!
> This seems to be exactly the problem I'm having. No matter what I try, if a VPN is active on my StreamBaby machine, TiVo cannot find SB.
> Does anyone have any idea how to get around this? I just want to be able to leave the VPN active all the time and not think about it, but still have my TiVos able to find SB.


It's going to depend on what kind of VPN you're using. But what's likely happening is your VPN is set up to pass all network traffic from the PC into the VPN. This means that Streambaby isn't able to publish it's info to your local network. It's getting pushed out the VPN. Some VPN have options on changing this, some don't. But it opens up a ton of networking complications that may be more complex than most folks are prepared to tackle.


----------



## eohrnberger

wkearney99 said:


> It's going to depend on what kind of VPN you're using. But what's likely happening is your VPN is set up to pass all network traffic from the PC into the VPN. This means that Streambaby isn't able to publish it's info to your local network. It's getting pushed out the VPN. Some VPN have options on changing this, some don't. But it opens up a ton of networking complications that may be more complex than most folks are prepared to tackle.


I believe what you are describing what is called 'Split tunneling', and yes, it is complex from what I heard.
Your run of the mill consumer router with VPN is very likely *not* to be able to support it, and you are starting to need business grade gear, but the low end, at the traffic isn't going to be heavy. One that might, and I'm still looking into it is Ubiquity EdgeRouter. Good gear, especially if you aren't afraid to use the command line (where all it's capabilities are available - not in it's GUI).


----------



## thewebgal

Guess I am lucky. Streambaby has been a joy ever since I installed it a few years back. 
Got an old macPro in my office and a 4 tuner Roamio in my HT room - 
I don't have hiccuping or crashing or any of that malarkey.


----------



## eohrnberger

I tried streambaby and it works nice.

I have Galleon running on the Linux storage machine (NAS) so I'm sticking with that, and it still talks to the new Bolt as well as the Series-4 and can download from them. Once a program is downloaded on the storage server, I can tivodecode it, and it's a regular MPG2 file, which the Plex Media server can then make available to the TiVos using the Plex app.

The Bolt runs the Plex app wonderfully fast, the Series-4 is pretty slow. But I'm figuring that the Series-4 will be replaced by a TiVo Bolt at some point in time. Added bonus is that the TiVo 4k Streamer also has a Plex app, and additional bonus, the Plex Media server can stream from the private library across the Internet to remote locations. Gonna give that a try as soon as the cottage is opened up in the spring.


----------



## mattack

I tried asking this in the mini forum and nobody answered.

Has anybody successfully used stream baby from a tivo mini? I just want to be able to stream offloaded shows to my mini that's on my big TV. I can see the app, browse through he shows, but when I try to play one I get an error.

The only modification I did to stream baby is whatever setting that makes the stream size bigger -- which might be not possible on the mini?


----------



## vanclute

Unfortunately you can't. Streambaby will only work from the "parent" DVR, a Roamio in my case. It will not work from the mini at all as far as I've ever been able to determine. =(



mattack said:


> I tried asking this in the mini forum and nobody answered.
> 
> Has anybody successfully used stream baby from a tivo mini? I just want to be able to stream offloaded shows to my mini that's on my big TV. I can see the app, browse through he shows, but when I try to play one I get an error.
> 
> The only modification I did to stream baby is whatever setting that makes the stream size bigger -- which might be not possible on the mini?


----------



## mattack

then why does the mini even *see* the other devices? (i.e. the streambaby device)

Bummer. so then I guess I'll have to watch some of my offloaded shows (I noticed I have some shows offloaded that aren't available on streaming and are taking up decent space on my download drive) on my bedroom tv instead of the big living room tv.. (The living room TV has the mini on it -- and it mostly provides me the reason I got it -- to be able to have "roamio UI, including quickmode" on both TVs)


----------



## vanclute

I'm not 100% sure on this but I *think* that the mini is designed to "see" HME apps just like anything else, but Streambaby was coded before the mini existed so gets confused by the lack of local storage/buffer. Since nobody (apparently) is actually still working on SB, it never got updated to work on a mini - if that's even possible anyway. Personally our mini is connected to a Roku TV so for network content we just use Plex instead, using the mini only for the (rare) occasion where we want to watch content from the main TiVo itself.


----------



## ke3ju

mattack said:


> then why does the mini even *see* the other devices? (i.e. the streambaby device)
> 
> Bummer. so then I guess I'll have to watch some of my offloaded shows (I noticed I have some shows offloaded that aren't available on streaming and are taking up decent space on my download drive) on my bedroom tv instead of the big living room tv.. (The living room TV has the mini on it -- and it mostly provides me the reason I got it -- to be able to have "roamio UI, including quickmode" on both TVs)


It's because what StreamBaby is doing is actually transferring the video file to the TiVo. No hard drive in a Mini to store it.


----------



## davidblackledge

vanclute said:


> I'm not 100% sure on this but I *think* that the mini is designed to "see" HME apps just like anything else, but Streambaby was coded before the mini existed so gets confused by the lack of local storage/buffer. Since nobody (apparently) is actually still working on SB, it never got updated to work on a mini - if that's even possible anyway.





ke3ju said:


> It's because what StreamBaby is doing is actually transferring the video file to the TiVo. No hard drive in a Mini to store it.


That all sounds about right. HME's video streaming is very limited (even more limited after a few choice updates by TiVo over the years), but HME apps show up to every device - they can't say "I'm not compatible with this kind of device" and not show up (technically that would be possible for "add an app" IP servers, but that'd be additional work nobody really cares about). StreamBaby could be updated to just put up a banner of "this don't work on a mini" (I think most of my stuff does that at some point) but it can't be fixed to work on a mini without TiVo doing something that is not in their interest.

I believe some completely different technique could be created to get a somewhat similar result that works on a mini (using a custom HTML app or some sort of Plex adapter) but I think we're all a little burned out on TiVo apps when we keep getting shut down on the major avenues. I'm still upset by them breaking features used by my Radio Auricle app on almost all devices - I actually enjoyed that one.


----------



## leswar

Very interesting as to the mini's inability. Makes sense about not having a HD because of SB great ability to play content and use TiVo features -- just like a recorded program plays off the HD playing natively all the great features/functions of TiVo as opposed to the crappy way streaming services and Plex engage ff/rev/skip functions. Don't you love it when you try to ff, reverse, skip, or 8 secs reverse skip hitting the wrong button and you get thrown out of the video back to Amazon's (eg.) previous screen to start over?


----------



## davidblackledge

leswar said:


> Don't you love it when you try to ff, reverse, skip, or 8 secs reverse skip hitting the wrong button and you get thrown out of the video back to Amazon's (eg.) previous screen to start over?


Biggest mistake TiVo made IMO is to give in and let service apps not use TiVo standard handling. Ruins the experience and makes the TiVo nothing special anymore (in fact worse because of the inconsistency). 
When I started attempting to do HTML apps I worked to maintain the TiVo experience, but I was still stuck with the terrible Video Player implementation in the HTML browser used by the TiVo which makes it impossible to be completely consistent. It can't even do faster/slower play speeds when that's part of the standard...that browser just doesn't implement it. You'd think the people making the technology decisions at TiVo would have looked at how well their choice performs the CORE FUNCTIONALITY for HTML video apps.


----------



## vanclute

So I seem to have broken my Streambaby by attempting to install Bazarr to work with Sonarr for automatically downloading subtitles for shows. It required an updated Java and now, streambaby just won't work at all anymore. Won't show up no matter what I do.

I'm running on Mac, what is the latest Java version known to work with SB? I'm also still on Sierra for this machine as I've been afraid of breaking compatibility with any upgrade beyond.

Oh also I'm running Streambaby from within PyTivoX, in case it matters.


----------



## vanclute

I went and found a link to the old java version for Sierra...

Download Java for OS X 2017-001

Unfortunately, even removing the newer version completely, rebooting and installing the old one, hasn't made SB work again. Very frustrating to have our primary household media server be completely dead and not be able to get it back again. Does anyone have any idea what might be going on here?


----------



## vanclute

Decided to try a fresh OS and rebuild, so I put Catalina on another partition to see if things would work. Sadly, PyTivoX won't launch at all anymore (get a dialog saying it's not compatible) and I run my SB from inside it. 

Anyone know if there's any way to get PyTivoX/SB working on Catalina? It's the last OS my Mac Mini is able to run.


----------



## vanclute

I think I've reached a conclusion. PyTivoX won't run under Catalina, but PyTivoDesktop will, and so will Streambaby but only if run completely independently and not from inside PyTivoDesktop. So I can still get all the features of PyTivoX, plus the ability to rip shows to my computer as desired in Catalina, just without the GUI of PyTivoX. A minor inconvenience at most.


----------



## mattack

vanclute said:


> Decided to try a fresh OS and rebuild, so I put Catalina on another partition to see if things would work. Sadly, PyTivoX won't launch at all anymore (get a dialog saying it's not compatible) and I run my SB from inside it.
> 
> Anyone know if there's any way to get PyTivoX/SB working on Catalina? It's the last OS my Mac Mini is able to run.


I still ran streambaby on last year's OS.. (sorry I don't remember public names anymore.)

I ran it a week or two ago.. and I run kmttg almost continuously. I think I even ran pytivo within the last year.


----------



## vanclute

Ah yes I forgot to update. I got SB to run standalone under Catalina, it just won't run from inside any version of PyTivo (X or Desktop). But that's OK, standalone is doing the job. Thanks!


----------



## vanclute

Does anyone know if it's possible to enable HEVC/x.265 decoding within Streambaby? It seems that FFMPEG supports it, but I haven't been able to figure out if there's a way to enable it to run and perform realtime transcoding of HEVC material. More often I'm winding up with file in HEVC and would like to sometimes be able to play them on a TiVo using SB. Thanks!


----------



## mattack

Isn't that what transport stream recordings are in? I sure thought I've played these back with stream baby..
is that what you mean?


----------



## vanclute

I have no idea, though I thought they were MPEG2. I know that SB will not ever playback anything in h.265 and this has been the case for me ever since HEVC first came on the scene in a significant way years ago.


----------



## reneg

As I recall, SB plays plays back as Mpg2. If the ffmpeg options don’t yield a happy mpg2 stream, SB won’t play the video.


----------



## vanclute

Hmmm ok, so anyone know if there is there a way to make FFMPEG transcode HEVC into a happy MPEG2 stream for SB?


----------



## tluxon

vanclute said:


> Hmmm ok, so anyone know if there is there a way to make FFMPEG transcode HEVC into a happy MPEG2 stream for SB?


I'm curious to know if this ever started working for you. I have numerous series shows that I've re-encoded to HEVC and Streambaby seems to have no problem transcoding them for play on our TiVos.


----------



## tluxon

BTW - the reason I revived this thread is to see if anyone has an answer for a new question.

I run Streambaby as a service on a Windows 7 x64 PC that I use as a video server with 7 local drives (2 removable USB drives). Streambaby has no problem streaming from any of these 7 local drives using

dir.1=/path/to/my/videos
dir.1.name=My Videos

entries for each of the sources in the streambaby.ini file.

I have some large collections of files on two other PCs (one being used for Channels DVR) on the same network running Windows 10 Pro. I added a couple more dir. entries for these PCs:

dir.8=\\<PC1>\videos
dir.8.name=PC1videos
dir.9=\\<PC2>\videos
dir.9.name=PC2videos

When listing sources, Streambaby displays "PC1videos" and "PC2videos", but none of the contents of these folders are shown. Does anyone know if this could be a SMB version issue and what possible remedies would resolve it?

Thanks!


----------



## reneg

tluxon said:


> BTW - the reason I revived this thread is to see if anyone has an answer for a new question.
> 
> I run Streambaby as a service on a Windows 7 x64 PC that I use as a video server with 7 local drives (2 removable USB drives). Streambaby has no problem streaming from any of these 7 local drives using
> 
> dir.1=/path/to/my/videos
> dir.1.name=My Videos
> 
> entries for each of the sources in the streambaby.ini file.
> 
> I have some large collections of files on two other PCs (one being used for Channels DVR) on the same network running Windows 10 Pro. I added a couple more dir. entries for these PCs:
> 
> dir.8=\\<PC1>\videos
> dir.8.name=PC1videos
> dir.9=\\<PC2>\videos
> dir.9.name=PC2videos
> 
> When listing sources, Streambaby displays "PC1videos" and "PC2videos", but none of the contents of these folders are shown. Does anyone know if this could be a SMB version issue and what possible remedies would resolve it?
> 
> Thanks!


Have the streambaby service log into a user account which can see those shared network resources. The default service account will not have access to shared network resources


----------



## eohrnberger




----------



## thewebgal

Just a general heads up.
Streambaby is still running on a 2009 macPro in my (home) office and streaming across WiFi to the Tivo Roamio downstairs in the media room.
Works like a champ under OSX Mojave.


----------



## dlfl

thewebgal said:


> Just a general heads up.
> Streambaby is still running on a 2009 macPro in my (home) office and streaming across WiFi to the Tivo Roamio downstairs in the media room.
> Works like a champ under OSX Mojave.


LOL. I think you and I are the only two people in the world running 2009 vintage desktops! Mine is a Dell T1500 running Windows 10 pro. Probably the only thing making it semi-viable now is the 1 TB SSD drive I installed a while back. Still won’t be able to upgrade to Win 11, and can’t run state-of-the art video editing software like DaVinci.


----------



## reneg

dlfl said:


> LOL. I think you and I are the only two people in the world running 2009 vintage desktops! Mine is a Dell T1500 running Windows 10 pro. Probably the only thing making it semi-viable now is the 1 TB SSD drive I installed a while back. Still won’t be able to upgrade to Win 11, and can’t run state-of-the art video editing software like DaVinci.


I'm running a 2009 HP Z600 Workstation with Streambaby, Kmttg, pyTivo (classic & Desktop), VideoRedo, Plex, and Channels DVR. Upgraded from 6GB to 24GB a few years ago. This machine keeps running like a champ.


----------



## mattack

I may fire up streambaby for the first time in a while to eventually watch some of the episodes of a couple of shows I finally started watching later seasons of.. United States of Al and Bob Hearts Abishola.. I had previously incorrectly thought CBSAllAccess, now ParamountPlus, always had all seasons of a show. Nope. But I finally started watching the latest available seasons of these (usually at the gym, most of the eps are under 20 mins(!!)). and want to catch up on the orig seasons I have downloaded (in SD only though).

not directly related to the above, but I sure would use offline storage more often IF the glitchy TS downloads were ever fixed and quickplay were allowed for streamed shows.. I know neither of these is going to happen, but those are things I'd pay a one time extra fee for in the imaginary world where we can pay for our wanted upgrades!


----------



## thewebgal

My TIVO Roamio died 2 weeks back! All the lights flashed back and forth - freaked us out - until a search for that revealed it was a power supply issue. So, bought a new Power supply via Amazon and had it working again that evening! But since then, just in case, I've been using cTIVO to download via WiFi a lot of shows I want to keep to a spare drive in my MacPro and saving them. A few give copyright issues and I can't save, but most have been copying just fine. And - I can play them back downstairs on the TIVO via StreamBaby! Kind of incestuous, but it works fine!



mattack said:


> I may fire up streambaby for the first time in a while to eventually watch some of the episodes of a couple of shows I finally started watching later seasons of.. United States of Al and Bob Hearts Abishola.. I had previously incorrectly thought CBSAllAccess, now ParamountPlus, always had all seasons of a show. Nope. But I finally started watching the latest available seasons of these (usually at the gym, most of the eps are under 20 mins(!!)). and want to catch up on the orig seasons I have downloaded (in SD only though).
> 
> not directly related to the above, but I sure would use offline storage more often IF the glitchy TS downloads were ever fixed and quickplay were allowed for streamed shows.. I know neither of these is going to happen, but those are things I'd pay a one time extra fee for in the imaginary world where we can pay for our wanted upgrades!


----------



## mattack

If you are downloading 'newer' HD recordings, you have to download in transport stream.. and the transfer may *SEEM* to be successful (be the correct length), but very likely will have a short glitch somewhere in it when you actually watch it.


----------

