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 13, 2009 #441 of 3402
    jannlinder

    jannlinder New Member

    106
    0
    Oct 17, 2004
    San Jose, CA
    ummm

    Streambaby crash!

    Code:
    Thu 2009/02/12 22:28:35.252|   |Acceptor|VideoModuleHelper|GetVidInfo: file:/Volumes/NFS_WD1TBRAID0/iTunes/iTunes%20Music/TV%20Shows/Reba/Season%2001/Reba%20-%20S01S01%20-%20Deleted%20Scenes%20-%201.m4v
    Assertion failed: (sc->time_offset % sc->time_rate == 0), function mov_build_index, file libavformat/mov.c, line 1236.
    
    hlp!

    This is when I hit enter on that file list to get it to recache title - episodeName

    ps: This file does NOT use the pytivo .txt file. i am assuming it is dying during the mp4 metadata read.

    TIA

    J
     
  2. Feb 13, 2009 #442 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    That actually looks like it is inside the FFmpeg MP4 handling code, and it looks like relatively new code....

    The only thing I can do is stop using ffmpeg to gather any kind of metadata (I do my own MP4 parsing anyway, but ffmpeg still returns some valid metadata like name/author/etc for some file formats that streambaby doesn't parse internally) I think I will end up doing this since it slows things down considerably anyway...

    This will only fix the crash during the metadata gathering stage-- it will still crash when you try to play that particular movie.
     
  3. Feb 13, 2009 #443 of 3402
    manacubus

    manacubus New Member

    15
    0
    Feb 12, 2009
    Hopefully this is the right place to post this one small query...

    Could anyone enlighten me ot the possible cause of this error?

    Code:
    02/13/09 22:48:20 ViewScreen: ReceivedEvent: 3019.RESOURCE_INFO(connecting, {speed=0, start=0, position=0, duration=0})
    02/13/09 22:48:20 ViewScreen: ReceivedEvent: 3019.RSRC_STATUS(error)
    02/13/09 22:48:20 ViewScreen: error=ERROR: 0x2e006a
    Thanks for any assistance.
     
  4. Feb 13, 2009 #444 of 3402
    windracer

    windracer joined the 10k club

    11,580
    3
    Jan 3, 2003
    St. Pete, FL
    Hmmmm ... while it works for that sample 8mb file I sent you, I'm still running into the 0x50006 error on some MP4 files. I see in the log:
    Code:
    20:53:51,117  INFO [Acceptor] AppHost - Unexpected error: java.lang.NullPointerException
    Even if I use meta.mp4.disable=true the files still cause the crash. :confused:
     
  5. Feb 13, 2009 #445 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    I just put up Streambaby 0.24 (I've dropped the beta tag not because I don't consider it a beta, but because they are all pretty much betas, and this makes it easier to release versions like 0.24a, 0.24b when I fix small problems)

    http://code.google.com/p/streambaby/

    This release is really to solve a couple of problems:
    1) To fix jannlinders issue with ffmpeg crashing while generating metadata, ffmpeg is no longer used to generate metadata info (by default, there is a setting to reenable it). This also has the side effect of speeding up metadata retrieval.
    2) More/better exception handling in the MP4 metadata section, so even if the MP4 metadata fails/throws an exception, execution should continue.

    Also note that for issue #1, the problem is only solved for metadata generation. My guess is that when you are trying to play the actual video file with the problem, streambaby may still abort on you. The problem is more recent ffmpeg versions have an assert in the mp4 code that may trigger on certain videos. If the assert does trigger, it will probably bring streambaby down with it.

    Windracer: Not sure if either of these will fix the issue you are having, but I'd be interested in having you give it a shot.
    -- Also if you can try the new version without galleon, it may give more detailed debugging when it crashes.
     
  6. Feb 13, 2009 #446 of 3402
    windracer

    windracer joined the 10k club

    11,580
    3
    Jan 3, 2003
    St. Pete, FL
    Ok, I still get the crashes, and here's the debug output:
    Code:
    02/14/09 02:28:59 Listener: java.lang.NullPointerException
            at com.unwiredappeal.tivo.views.BScrollableText$TivoStringLength.stringLength(BScrollableText.java:75)
            at com.unwiredappeal.tivo.utils.WordWrap.next(WordWrap.java:44)
            at com.unwiredappeal.tivo.utils.WordWrap.split(WordWrap.java:74)
            at com.unwiredappeal.tivo.views.BScrollableText.createTextViews(BScrollableText.java:96)
            at com.unwiredappeal.tivo.views.BScrollableText.validate(BScrollableText.java:56)
            at com.unwiredappeal.tivo.views.SBScrollPanePlus.refresh(SBScrollPanePlus.java:130)
            at com.unwiredappeal.tivo.views.BScrollableText.setValue(BScrollableText.java:66)
            at com.unwiredappeal.tivo.streambaby.MetaDataViewer.getView(MetaDataViewer.java:37)
            at com.unwiredappeal.tivo.streambaby.PlayScreen.<init>(PlayScreen.java:82)
            at com.unwiredappeal.tivo.streambaby.SelectionScreen.moveRight(SelectionScreen.java:252)
            at com.unwiredappeal.tivo.streambaby.SelectionScreen.handleKeyPress(SelectionScreen.java:287)
            at com.tivo.hme.sdk.HmeObject.handleEvent(HmeObject.java:115)
            at com.tivo.hme.bananas.BView.handleEvent(BView.java:217)
            at com.tivo.hme.bananas.BScreen.handleEvent(BScreen.java:146)
            at com.tivo.hme.sdk.View.postEvent(View.java:684)
            at com.tivo.hme.sdk.View.postEvent(View.java:686)
            at com.tivo.hme.sdk.View.postEvent(View.java:686)
            at com.tivo.hme.sdk.View.postEvent(View.java:686)
            at com.tivo.hme.bananas.BApplication.dispatchKeyEvent(BApplication.java:196)
            at com.tivo.hme.bananas.BApplication.dispatchEvent(BApplication.java:159)
            at com.tivo.hme.bananas.BApplicationPlus.handleChunk(BApplicationPlus.java:187)
            at com.unwiredappeal.tivo.streambaby.host.Listener.readEvents(Listener.java:339)
            at com.unwiredappeal.tivo.streambaby.host.Listener.handleHME(Listener.java:316)
            at com.unwiredappeal.tivo.streambaby.host.Listener.handle(Listener.java:417)
            at com.tivo.hme.host.http.server.HttpConnection.run(HttpConnection.java:123)
            at java.lang.Thread.run(Thread.java:619)
    
    StringLength? Ahhh .. maybe my metadata files have too much in them?

    ... back after researching ...

    I think I'm on to something. The files that are "crashing" have strange characters in their metadata file. I think they're supposed to be accented characters and stuff, but MetaGenerator created them "weird." For example, there's a line in my 300.avi.txt meta file:
    Code:
    vActor : Fr&#195;&#402;&#198;&#8217;&#195;&#8218;&#194;&#169;d&#195;&#402;&#198;&#8217;&#195;&#8218;&#194;&#169;ric Smith
    But even after I "clean" the file removing all those characters, then clearing streambaby's cache and starting again, the file will still cause a crash (same error). If I remove the metadata file altogether, I can get into the details screen of the file (without metadata, obviously) and play it. So it's not the actual video file, but the corresponding metadata file causing the crash.

    To fix the file, I had to copy/paste the text (after removing the offending characters) into a brand new file and then save over the original. Then I was able to get to the details screen and see the metadata. I guess I'll just need to "rebuild" my offending metadata files as I find them.

    Hope this helps! Some sort of Unicode vs. ASCII thing?

    edit: that was definitely it: every file that "crashes" that I've found has had some sort of weird characters in the metadata file. Once I clean them out and re-save the file, it works again.
     
  7. Feb 14, 2009 #447 of 3402
    rfryar

    rfryar My Media, My Way

    222
    0
    Feb 15, 2008
    Cottage...
    What program are you using to open up the meta data .txt files. Those look like Unicode characters opened in a ISO-8859-1 mode (US English). So several possibilities come to my mine.

    1) MetaGenerator saved Unicode data but did not mark the file as Unicode
    2) The file is correctly marked as Unicode but the editor you opened them with does not support Unicode files

    I actually think it is the second option as that would explain why you need to create a new file to "fix" the issue even after you remove the "bad" data.

    So the action for StreamBaby is to ensure that it reads the files from te file system as Unicode (or perhaps UTF-8). There is an option in Java to force loading the file as UTF-8, which would not harm anything even if the file is just in US-English.

    Rick
     
  8. Feb 14, 2009 #448 of 3402
    jlbarr

    jlbarr New Member

    2
    0
    Mar 29, 2008
    Is it possible to list files with series titles in episode order like pytivo?
     
  9. Feb 14, 2009 #449 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    It's a straight txt file, so there is no way to "mark" the file as either UTF-8 or straight latin. However, it looks like I should be treating it as UTF-8 (and more than likely I am not). I am assuming that when you transfer one of these files back to the TiVo the description gets transferred back correctly? (So the funny characters come out correctly when the metadata is returned to the TiVo).

    There are probably a couple of changes I need to make to fix this:
    1) Treat pyTivo txt files as UTF-8. Shouldn't do any harm even if file is not really UTF-8.
    2) Handle the situation (which is what is currently causing the crash, although #1 may fix this, I should probably handle it better) where TiVo tells me it can't calculate the characters width. I'll probably have to strip out the offending characters to make this work, but I am hoping that with fix #1 above, there won't be any more offending characters.

    I'm hoping I won't have issues with character set translation goes as far as mapping goes. This is how the TiVo builds it's widths table:

    char c = (char)readInt();
    map.put(new Character(c), widthInfo);

    I have no idea how Java deals with character sets when casting from an int to char. I'm hoping that as long as I get the character set mapping on my side correct, that:

    map.get(new Character(c))

    will return what I am expecting.
     
  10. Feb 14, 2009 #450 of 3402
    windracer

    windracer joined the 10k club

    11,580
    3
    Jan 3, 2003
    St. Pete, FL
    I'm using the Unicode version of Notepad++ and it shows UTF-8 at the bottom when I open the metadata file but the characters are still messed up. However, I did just notice that when I copy/paste the text into a new file, it defaults to ANSI and that's when the file works through streambaby. So it is the UTF-8 encoding.

    I never noticed these before, but I checked through pyTiVo and they're being displayed just like they appear in the file:

    [​IMG]

    So this is probably a MetaGenerator "problem" originally, but it causes the encoding/string length problem with streambaby.
     
  11. Feb 14, 2009 #451 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Ok, I just did some testing, and it looks like streambaby does handle UTF-8 pyTivo metadata files with no problem, and the characters come out correctly.

    So the only thing I need to do is handle invalid characters in a more graceful manner. (And anything is more graceful than crashing ;-)
     
  12. Feb 14, 2009 #452 of 3402
    rfryar

    rfryar My Media, My Way

    222
    0
    Feb 15, 2008
    Cottage...
    TXT files can be in any character encoding. Some OS's may put some code at the front of the TXT file to indicate a known character set, ie if you save a txt file using notepad in windows as UTF-8, and then dump the raw file you will see these flags. These flags are not required to save UTF-8 data into a file, just tell the OS that the file is UTF-8.

    Of course with all that said is it pointless as it seems that either the raw text sent to the Tivo does not accept UTF-8, or not 7 bit ASCII, or breaks. What I wonder is if through the HTML interface you can tell the Tivo to expect UTF-8 and then send non-7 bit ASCII characters? I am not in front of my Tivos at the moment or I would test this, but if someone wants to beat me to the punch..

    Switch your XSLT file to the HTML version and modify the XSLT to include the following line after the <html> tag:
    Code:
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"/>
    Now include a TXT metadata file with UTF-8 characters and see how the Tivo sees it.

    Just something to try, I will give it a whirl later this weekend when I get a chance.

    Rick
     
  13. Feb 14, 2009 #453 of 3402
    mp1969

    mp1969 New Member

    3
    0
    Feb 14, 2009
    Apologies for the lame question team, believe it or not, TIVO is new to Australia and being distributed by a third party. Its a struggle, but they dont even know what a MAK is so its hard to say when we will get the desktop software.

    My question is this, I understand you need a MAK for pytivo, do you need one for streambaby?

    thanks, a lot of Aussies have a lot of catching up to do....
     
  14. Feb 15, 2009 #454 of 3402
    wmcbrine

    wmcbrine Ziphead

    10,363
    22
    Aug 2, 2003
    You do NOT need a MAK for pyTivo. If you have one, you can use it, for the extraction functions. Everything else works without it. (But whether pyTivo will work in general on Australian TiVos, I can't say.)

    Streambaby has no use for a MAK AFAIK.

    Even if your distributor doesn't know what a MAK is, you could have one. Look under Messages & Settings, Account & System Information, Media Access Key (if that menu is there).
     
  15. Feb 15, 2009 #455 of 3402
    mp1969

    mp1969 New Member

    3
    0
    Feb 14, 2009
    Thanks, got it almost working, I now have visibility of the files however I get an ERROR:0x2e006a when I try an open the file, any ideas?

    thanks
     
  16. Feb 15, 2009 #456 of 3402
    manacubus

    manacubus New Member

    15
    0
    Feb 12, 2009
    Which is exactly the same error I get, as posted here. Incidently, I'm also in Oz.
     
  17. Feb 15, 2009 #457 of 3402
    rfryar

    rfryar My Media, My Way

    222
    0
    Feb 15, 2008
    Cottage...
    No luck, both the text XSL and the HTML file with the character-set as UTF-8 do not work correctly. I have the TXT file saved as UTF-8 and some UTF-8 data and it shows up garbled in the metadata screens.

    So either the Tivo is ignoring the double byte data, or we need to specify the character set in some form, or StreamBaby is loading the data incorrectly.

    Rick
     
  18. Feb 15, 2009 #458 of 3402
    jasa

    jasa New Member

    23
    0
    Nov 5, 2008
    Earth
    Keary just want to confirm that app works great both on mac and windows streaming is also good ( better than anything out there)

    only thing is that when i set passwords to specific directories they do not show up at all !!!!!!!!!! and tivo remembers passwords even though I configured everything according to direction in .ini file


    and one more request if you could add time to info so when we press info time is also displayed
     
  19. Feb 15, 2009 #459 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    Is it possible to post attach one of the problematic metadata files? The ones I tried with UTF-8 seemed to work OK. (I recorded some shows on Univision with spanish-accented characters that where encoded as multi-byte UTF-8 in the txt file, and everything looked OK.)
     
  20. Feb 15, 2009 #460 of 3402
    kearygriffin

    kearygriffin New Member

    346
    0
    Jan 31, 2008
    1. if a password is set up for specific directories, they will not show up unless the correct password is entered. When entering streambaby if all directories are password protected you will be prompted to enter a password. However, if any of the directories are not password protected, you will not be prompted to enter a password, and will only see the non-password protected directories. Press CLEAR to go to the password screen and enter a password.
    2. Setting remember.password=false seems to work for me. When I go into streambaby it asks for a password. If I enter a password I can see the password protected directories. I then back out of streambaby and re-enter and it prompts me for a password again. (Or if I happen to have some non-password protected directories those show up until I press CLEAR and re-enter a password)

    So I guess I am going to need a more exact description of what your settings are, what you are expecting to have happen, and what is actually happening.

    Edit: make sure you restart streambaby after any INI changes.
    Thanks
    Keary
     

Share This Page