1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Streambaby - new streaming application

Discussion in 'TiVo Home Media Features & TiVoToGo' started by kearygriffin, Jan 20, 2009.

  1. BJezz

    BJezz New Member

    68
    0
    Jan 11, 2009
    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.
     
  2. mphtrilogy

    mphtrilogy New Member

    49
    0
    May 29, 2007

    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.
     
  3. Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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?
     
  4. mphtrilogy

    mphtrilogy New Member

    49
    0
    May 29, 2007

    I've tried it for about 5 files.
     
  5. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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
     
  6. pmd

    pmd New Member

    32
    0
    Dec 14, 2004
    Your new version works perfectly. The extra debug text is useful too. Thank you for fixing it so quickly.
     
  7. cleverdevil

    cleverdevil New Member

    41
    0
    Nov 12, 2007
    Atlanta, GA
    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?
     
  8. Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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...
     
  9. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Please feel free. You can put a link somewhere near the top of the front page, and anywhere else you think is appropriate.
     
  10. Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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
     
  11. moyekj

    moyekj Well-Known Member

    11,151
    35
    Jan 23, 2006
    Mission...
    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
     
  12. BJezz

    BJezz New Member

    68
    0
    Jan 11, 2009
    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.
     
  13. Kiotie

    Kiotie New Member

    5
    0
    May 22, 2009
    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.
     
  14. cleverdevil

    cleverdevil New Member

    41
    0
    Nov 12, 2007
    Atlanta, GA
    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 :p
     
  15. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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)
     
  16. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Should be there now, as well as the fix to the link moyekj suggested.
     
  17. reneg

    reneg Member

    699
    0
    Jun 19, 2002
    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?
     
  18. granroth

    granroth New Member

    6
    0
    Jun 22, 2002
    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.
     
  19. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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)
     
  20. kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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
     

Share This Page