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. babatunde

    babatunde Member

    47
    0
    May 30, 2002
    Oh! What a pleasant surprise. That was the issue. Thank you so much (my wife thanks you also!).

    BT :)

     
  2. thewebgal

    thewebgal MacAphile AV geek

    457
    17
    Aug 10, 2007
    DC 'burbs
    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!

     
  3. DougD

    DougD Member

    62
    0
    Apr 25, 2011
    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>tivo:pc.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</code><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
     
  4. moyekj

    moyekj Well-Known Member

    11,703
    390
    Jan 23, 2006
    Mission...
    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.
     
  5. DougD

    DougD Member

    62
    0
    Apr 25, 2011
    Thanks
     
  6. zabolots

    zabolots Member

    85
    1
    May 24, 2007
    NW Chicago...
    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:
    [zabolots@mediaserver 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:
    [zabolots@mediaserver 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:
    [root@mediaserver 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?
     
  7. moyekj

    moyekj Well-Known Member

    11,703
    390
    Jan 23, 2006
    Mission...
    Looks like you are running an ancient version of Streambaby. It should say "Initializing StreamBaby v0.53..." if running v0.53 version.
     
    wkearney99 likes this.
  8. wkearney99

    wkearney99 Bill Kearney

    1,943
    16
    Dec 5, 2003
    Bethesda,...
  9. zabolots

    zabolots Member

    85
    1
    May 24, 2007
    NW Chicago...
    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!
     
    wkearney99 likes this.
  10. zabolots

    zabolots Member

    85
    1
    May 24, 2007
    NW Chicago...
    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.
     

    Attached Files:

  11. moyekj

    moyekj Well-Known Member

    11,703
    390
    Jan 23, 2006
    Mission...
    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.
     
  12. Scott9mm

    Scott9mm Member

    36
    4
    Apr 4, 2015
    Rural NC
    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.
     
    moyekj likes this.
  13. jcthorne

    jcthorne Well-Known Member

    2,954
    88
    Jan 28, 2002
    Houston
    MetaGenerator V3 will do what you are looking for.
     
  14. Feb 4, 2018 #3554 of 3596
    vanclute

    vanclute Member

    210
    6
    Aug 3, 2003
    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?
     
  15. wkearney99

    wkearney99 Bill Kearney

    1,943
    16
    Dec 5, 2003
    Bethesda,...
    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.
     
  16. vanclute

    vanclute Member

    210
    6
    Aug 3, 2003
    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...
     
  17. wkearney99

    wkearney99 Bill Kearney

    1,943
    16
    Dec 5, 2003
    Bethesda,...
    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.
     
  18. vanclute

    vanclute Member

    210
    6
    Aug 3, 2003
    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.
     
  19. wkearney99

    wkearney99 Bill Kearney

    1,943
    16
    Dec 5, 2003
    Bethesda,...
    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.
     
  20. vanclute

    vanclute Member

    210
    6
    Aug 3, 2003
    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. =(
     

Share This Page