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. Feb 15, 2009 #461 of 3415
    rfryar

    rfryar My Media, My Way

    222
    0
    Feb 15, 2008
    Cottage...
    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
     

    Attached Files:

  2. Feb 15, 2009 #462 of 3415
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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.
     
  3. Feb 15, 2009 #463 of 3415
    he244

    he244 New Member

    4
    0
    Jun 12, 2005
    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
     
  4. Feb 16, 2009 #464 of 3415
    mp1969

    mp1969 New Member

    3
    0
    Feb 14, 2009
    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.
     
  5. Feb 16, 2009 #465 of 3415
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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.
     
  6. Feb 16, 2009 #466 of 3415
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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)
     
  7. Feb 16, 2009 #467 of 3415
    westside_guy

    westside_guy Annoyingly ephemeral

    464
    1
    Mar 13, 2005
    The soggy...
    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%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.
     
  8. Feb 16, 2009 #468 of 3415
    wmcbrine

    wmcbrine Ziphead

    10,369
    22
    Aug 2, 2003
    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.
     
  9. Feb 16, 2009 #469 of 3415
    rmbeatty

    rmbeatty New Member

    9
    0
    Nov 14, 2006
    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.
     
  10. Feb 16, 2009 #470 of 3415
    Yoav

    Yoav New Member

    1,048
    0
    Jan 12, 2007
    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.
     
  11. Feb 16, 2009 #471 of 3415
    westside_guy

    westside_guy Annoyingly ephemeral

    464
    1
    Mar 13, 2005
    The soggy...
    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"? :D
     
  12. Feb 17, 2009 #472 of 3415
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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)
     
  13. Feb 17, 2009 #473 of 3415
    westside_guy

    westside_guy Annoyingly ephemeral

    464
    1
    Mar 13, 2005
    The soggy...
    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. :p
     
  14. Feb 17, 2009 #474 of 3415
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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.
     
  15. Feb 18, 2009 #475 of 3415
    westside_guy

    westside_guy Annoyingly ephemeral

    464
    1
    Mar 13, 2005
    The soggy...
    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. :p
     
  16. Feb 18, 2009 #476 of 3415
    rmbeatty

    rmbeatty New Member

    9
    0
    Nov 14, 2006

    Can anyone answer this question? Thanks.
     
  17. Feb 18, 2009 #477 of 3415
    moyekj

    moyekj Well-Known Member

    11,151
    35
    Jan 23, 2006
    Mission...
    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.
     
  18. Feb 18, 2009 #478 of 3415
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    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).
     
  19. Feb 19, 2009 #479 of 3415
    kagacins

    kagacins New Member

    7
    0
    Feb 19, 2009
    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.
     
  20. Feb 19, 2009 #480 of 3415
    kearygriffin

    kearygriffin New Member

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

Share This Page