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. Mar 26, 2009 #801 of 3415
    moyekj

    moyekj Well-Known Member

    11,151
    34
    Jan 23, 2006
    Mission...
    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).
     
  2. Mar 26, 2009 #802 of 3415
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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.
     
  3. Mar 26, 2009 #803 of 3415
    wmcbrine

    wmcbrine Ziphead

    10,369
    22
    Aug 2, 2003
    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.

    Even easier than that: make an HTTP request to pyTivo to initiate the transfer. That's how the Push works already.
     
  4. Mar 26, 2009 #804 of 3415
    orangeboy

    orangeboy yes, I AM orangeboy!

    4,083
    0
    Apr 19, 2004
    East Moline, IL
    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 ;)
     
  5. Mar 29, 2009 #805 of 3415
    moyekj

    moyekj Well-Known Member

    11,151
    34
    Jan 23, 2006
    Mission...
    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.
     
  6. Mar 29, 2009 #806 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    that sounds really cool!
     
  7. Mar 29, 2009 #807 of 3415
    wmcbrine

    wmcbrine Ziphead

    10,369
    22
    Aug 2, 2003
    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.
     
  8. Mar 29, 2009 #808 of 3415
    orangeboy

    orangeboy yes, I AM orangeboy!

    4,083
    0
    Apr 19, 2004
    East Moline, IL
    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!
     
  9. Mar 29, 2009 #809 of 3415
    bradleys

    bradleys It'll be fine....

    3,687
    4
    Oct 31, 2007
    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.
     
  10. Mar 29, 2009 #810 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    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?
     
  11. Mar 29, 2009 #811 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    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/
     
  12. Mar 30, 2009 #812 of 3415
    wesleygriffin

    wesleygriffin New Member

    2
    0
    Mar 28, 2009
    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                   : High@L3.0
    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
    
     
  13. Mar 30, 2009 #813 of 3415
    moyekj

    moyekj Well-Known Member

    11,151
    34
    Jan 23, 2006
    Mission...
    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
     
  14. Mar 30, 2009 #814 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    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...
     
  15. Mar 30, 2009 #815 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    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?
     
  16. Mar 30, 2009 #816 of 3415
    wesleygriffin

    wesleygriffin New Member

    2
    0
    Mar 28, 2009
    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                   : Main@L3.0
    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
    
     
  17. Mar 30, 2009 #817 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    not sure if this is it but have you tried not using a variable frame rate?
     
  18. Mar 30, 2009 #818 of 3415
    reneg

    reneg Member

    699
    0
    Jun 19, 2002
    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.
     
  19. Mar 30, 2009 #819 of 3415
    moyekj

    moyekj Well-Known Member

    11,151
    34
    Jan 23, 2006
    Mission...
    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.
     
  20. Mar 30, 2009 #820 of 3415
    Sicklybutsexy

    Sicklybutsexy New Member

    179
    0
    May 5, 2007
    "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?
     

Share This Page