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. Jan 24, 2009 #141 of 3405
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    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.
     
  2. Jan 24, 2009 #142 of 3405
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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%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)
     
  3. Jan 24, 2009 #143 of 3405
    shoek

    shoek Member

    41
    0
    Jan 23, 2002
    Grand...
    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?
     
  4. Jan 24, 2009 #144 of 3405
    bzo

    bzo New Member

    12
    0
    Jun 17, 2002
    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 . . .
     
  5. Jan 24, 2009 #145 of 3405
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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....
     
  6. Jan 24, 2009 #146 of 3405
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    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.
     
  7. Jan 24, 2009 #147 of 3405
    dermanj

    dermanj New Member

    9
    0
    Nov 10, 2006
    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.
     
  8. Jan 24, 2009 #148 of 3405
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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.
     
  9. Jan 24, 2009 #149 of 3405
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    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).
     
  10. Jan 24, 2009 #150 of 3405
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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
     
  11. Jan 24, 2009 #151 of 3405
    dermanj

    dermanj New Member

    9
    0
    Nov 10, 2006
    Dropped the -ac param altogether, as suggested. Seems to be working great. Thanks Yoav.
     
  12. Jan 24, 2009 #152 of 3405
    abnersnell

    abnersnell New Member

    18
    0
    Mar 3, 2002
    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?
     
  13. Jan 24, 2009 #153 of 3405
    moyekj

    moyekj Well-Known Member

    11,141
    31
    Jan 23, 2006
    Mission...
    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.
     
  14. Jan 24, 2009 #154 of 3405
    windracer

    windracer joined the 10k club

    11,580
    3
    Jan 3, 2003
    St. Pete, FL
    What error? Anything in the log.txt file when you try? The latest version (0.19a) is still working for me.
     
  15. Jan 24, 2009 #155 of 3405
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    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.

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

    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.

    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.

    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.

    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.
     
  16. Jan 24, 2009 #156 of 3405
    lrhorer

    lrhorer Active Member

    6,924
    0
    Aug 31, 2003
    San...
    Which I believe is precisely what I said in my post.

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

    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.
     
  17. Jan 24, 2009 #157 of 3405
    bluehz

    bluehz New Member

    36
    0
    Dec 19, 2008
    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

     
  18. Jan 25, 2009 #158 of 3405
    bluehz

    bluehz New Member

    36
    0
    Dec 19, 2008
    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.

     
  19. Jan 25, 2009 #159 of 3405
    windracer

    windracer joined the 10k club

    11,580
    3
    Jan 3, 2003
    St. Pete, FL
    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.
     
  20. Jan 25, 2009 #160 of 3405
    bluehz

    bluehz New Member

    36
    0
    Dec 19, 2008
    That was it - thx! Works great now!

     

Share This Page