TiVo Community
TiVo Community
TiVo Community
Go Back   TiVo Community > Main TiVo Forums > TiVo Home Media Features & TiVoToGo
TiVo Community
Reply
Forum Jump
 
Thread Tools
Old 01-21-2009, 11:35 AM   #31
westside_guy
Annoyingly ephemeral
 
westside_guy's Avatar
 
Join Date: Mar 2005
Location: The soggy part of the Pacific NW
Posts: 454
Quote:
Originally Posted by windracer View Post
In my experience last night, you get the gray screen/please wait while streambaby is filling up the initial buffer. Then it switches to black for a bit, and then the video starts playing.
Also note that it may take longer to do this initial fill, since streambaby may be transcoding the video. So at the moment you can't compare the time it takes for streambaby to start with, say, what it takes for tivostream to start.
westside_guy is offline   Reply With Quote
Old 01-21-2009, 11:42 AM   #32
fred2
Registered User
 
Join Date: Jan 2006
Posts: 385
Gray screen pause was due to firewall, running upstairs to check, I approved the Java.... and I can now hear Harry Potter on the downstairs' TV-tivo.

One more fascinating application.

Thanks for sharing it, author

And thanks for helping me out - others..........
fred2 is offline   Reply With Quote
Old 01-21-2009, 11:52 AM   #33
windracer
joined the 10k club
 
windracer's Avatar
 
Join Date: Jan 2003
Location: St. Pete, FL
Posts: 11,239
Quote:
Originally Posted by wmcbrine View Post
Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page.
There are arrows on the left-hand side, though.
__________________
840~Roamio Pro (TA, MoCA) + two A92~Minis, 758~Premiere XL4 (TA, MoCA)
S/old: 746~S4, 658~HDXL, 648~OLED S3, 565~TX20, 230~S2, 140~S2

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
windracer is offline   Reply With Quote
Old 01-21-2009, 12:17 PM   #34
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,101
Quote:
Originally Posted by wmcbrine View Post
Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page. (As I look at it now, tivostream doesn't have these either. Both apps should, though.)
As windracer indicated in streambaby the left side has vertical arrows indicating if there are list items above/below/both. tivostream I will no longer be updating as this app trumps it by far.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
moyekj is offline   Reply With Quote
Old 01-21-2009, 12:38 PM   #35
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 9,044
The arrows on the left side (nice match for the native menus there, BTW) only indicate if the selection bar can be moved. They don't substitute for the right-side arrows (also found in the native menus, but not in these apps), which tell you if page up/down will be fruitful.

You might miss these in the native menus, because they're a bit understated in the new theme. They used to be more prominent. But they're still there, and still important.

And I can't agree that it trumps tivostreamer, since tivostreamer works for me and this, so far, doesn't. Of course I always thought HME/VLC trumped tivostreamer... can't compare it to this yet.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
wmcbrine is offline   Reply With Quote
Old 01-21-2009, 12:42 PM   #36
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by wmcbrine View Post
Missing the up/down arrows on the right side of the window that indicate when there's more of the list above or below the current page. (As I look at it now, tivostream doesn't have these either. Both apps should, though.)
Yup, your right. I'll add this in the next version. As others have pointed out it does have arrows on the left indicating there are more above/below but I will also add the right side arrows indicating there are more on pages above/below.

Which of course will do you absolutely no good, seeing as...
Quote:
Originally Posted by wmcbrine View Post
I also can't get it to actually play anything -- .mpg and .vob files just sit on a grey screen, everything else (including .mp4) says "Incompatible video stream". No error messages on the console or in the log, except "StreamBabyStream[#1,uri=null] warning: resource 2057 not found.", which appears (twice) on opening the app. This is in Ubuntu 8.10 AMD64, working ffmpeg in /usr/bin/, working tivostream. I tried the OpenJDK first, then Sun Java 6, with no change.
My devel is system is ubnutu 8.04 AMD64, but I'm upgrading as we speak to 8.10 to see if it makes a difference. (It's something I have been thinking about doing for a while, and this seems like as good an excuse as any).
Are you running the default ffmpeg that installs with ubuntu or another version you compiled or installed from 3rd party repository? Shouldn't make a difference either way as I have run with a bunch of different ffmpegs.

Probably best thing to do is edit the simplelog.properties and change the first line to read:
com.unwiredappeal=verbose

It may also make sense to disable preview mode temporarily to see if that helps anything. Edit the streambaby.ini file and add
preview.disable=1

And to turn on some extra debugging (specifically ffmpeg's stderr), run streambaby with:
java -Dstreambaby.debug=1 -jar jbin/streambaby.jar
Try to play an mp4 (which I believe you say gives you an incompatible error) and then an mpg/vob. If you could then send me the streambaby.log file that would be great. Not sure what the correct way of getting me a log file is, but e-mail address is my username and I use gmail.com.

Sorry to ask you to jump through all these hoops to help with the debugging, I'm just not sure what is happening yet.
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 12:57 PM   #37
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by westside_guy View Post
... will have those libraries in /sw/lib - in fink's case they're currently called:

/sw/lib/libavcodec.51.49.0.dylib
/sw/lib/libavformat.52.2.0.dylib
/sw/lib/libavutil.49.6.0.dylib
/sw/lib/libswscale.0.5.0.dylib
Hmm.. I actually don't think streambaby is going to like those libraries, as it expects libavcodec and libavformat to be the same version (either both 51, or both 52). Not sure what happens otherwise...

Quote:
Originally Posted by Yoav View Post
...I can compile the shared libs seperately and put them in the distribution if that will make things 'act nicer'... .
If we could try out compiling the mac native libraries, and seeing if they work, that would be great. If they do I can add them to the main dist. To try it out, compile ffmpeg and the shared libraries and stick them in the native directory of streambaby.

Edit streambaby.ini and set:
ffmpeg.path=native/ffmpeg
preview.autogenerate=false
transcode.disable=true

And also edit simplelog.properties, and change the first line:
com.unwiredappeal=verbose

and then make sure you delete everything in the cache directory.

Then re-run streambaby and try to stream an MP4 file (not an MPG). Because autogenerate is turned off any "thumbnails" you see will be real-time thumbnails and not from a generated cache file. While watching the MP4 try to FF (or sometimes rewind is easier, jump to 30 minutes then start rewinding) to a point outside the buffer. When the preview window pops up it should have thumbnail images of the movie. If it does, then the native libraries are working. If it just has the time the native libraries are not working.

You can also look in streambaby.log, and if the libraries are at least getting loaded you will see something like:
01/21/09 13:54:54 FFmpegJavaVideoModule: FFmpeg-java Module: loaded
01/21/09 13:54:54 FFmpegJavaVideoModule: avUtilPath: /usr/lib64/libavutil.so.1d.49.3.0
01/21/09 13:54:54 FFmpegJavaVideoModule: avFormatPath: /usr/lib64/libavformat.so.1d.51.10.0
01/21/09 13:54:54 FFmpegJavaVideoModule: avCodecPath: /usr/lib64/libavcodec.so.1d.51.38.0
01/21/09 13:54:54 FFmpegJavaVideoModule: swScalePath: /usr/lib64/libswscale.so.1d.0.5.0

If they arent able to be loaded you will see "FFmpeg-java Module: NOT loaded" (or something to that affect)

Keary
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 01:50 PM   #38
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 9,101
Keary, one suggestion is to list what versions of ffmpeg you have tested with since especially on non-windows platforms where it picks it up from user path there can be a very wide range of versions in use. I suppose you could try and lock it down further by rejecting versions that are too old but that may be another can of worms. The other issue is for self-compiled versions certain components that you may be relying on may not be present as when compiling your own there are many things that can be enabled or disabled. Perhaps a link to the ffmpeg source with instructions on what config options should be used to compile your own could be a useful Wiki to add.
__________________
Roamio Pro, Elite, Premiere
Cox - Motorola CableCards & TAs
Slingbox 350 via TiVo Mini & TiVo Stream for remote viewing

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by moyekj : 01-21-2009 at 01:56 PM.
moyekj is offline   Reply With Quote
Old 01-21-2009, 01:56 PM   #39
Iluvatar
Registered User
 
Iluvatar's Avatar
 
Join Date: Jul 2006
Posts: 377
Keary,

Is there a particular reason why you chose to use FFMPEG as a shared library instead of a static library? I would think that if you could just link to the static library you wouldnt have to worry about avcodec/util/format..etc versions.

As I am not able to check right now, is it possible to just drop my own precompiled statically linked FFMPEG into the native directory and have it work?

Last edited by Iluvatar : 01-21-2009 at 02:10 PM.
Iluvatar is offline   Reply With Quote
Old 01-21-2009, 02:40 PM   #40
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by Iluvatar View Post
Keary,

Is there a particular reason why you chose to use FFMPEG as a shared library instead of a static library? I would think that if you could just link to the static library you wouldnt have to worry about avcodec/util/format..etc versions.

As I am not able to check right now, is it possible to just drop my own precompiled statically linked FFMPEG into the native directory and have it work?
I believe that's because it's a java app. He can't 'build it static' with those libraries. The best he can do is to use java native to access libraries, which is what ffmpeg-java does (he's using ffmpeg-java to do the stuff).
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 04:08 PM   #41
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by kearygriffin View Post
My devel is system is ubnutu 8.04 AMD64, but I'm upgrading as we speak to 8.10 to see if it makes a difference.
And just like that I can reproduce the problem ;-) I think I said in an earlier post that streambaby would probably have problems with libavformat-52 and libavcodec-51 (either both 51, or both 52 is what I count on). Of course this is not the case with ubuntu 8.10. There is also another small issue in that the aac gets reports as "mpeg4aac" which streambaby doesn't recognize. (it recognizes aac and mp4a as synonyms for aac)

Not sure how long it will take to fix, but seeing as I currently can't run streambaby on my own computer, you can imagine I'll be working on it...

As far as the suggestion about recommending various versions of ffmpeg, I'm not sure how easy that would on Linux. As far as I understand FFmpeg doesn't really have releases (just subversion dates/tags) so specifying particular revisions is difficult, as almost every distribution is going to have a different rev.

But right now I need to figure out why firefox-3 hangs after my upgrade to 8.10 whenever I go to almost any web pages now. (I had to switch to firefox-2 to post this)

Keary
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 04:16 PM   #42
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by Yoav View Post
I believe that's because it's a java app. He can't 'build it static' with those libraries. The best he can do is to use java native to access libraries, which is what ffmpeg-java does (he's using ffmpeg-java to do the stuff).
This is correct-- The other alternative would be to write my own C wrapper, exposing the functions I need, that statically links with FFmpeg, and then use JNA/JNI to call my own C language wrapper.

I'd rather stay away from this as I would need to compile win32, linux32, linux64, and mac versions of the wrapper for distribution.

I think after the initial flurry of problems are taken care of streambaby should work with most ffmpeg versions. My one concern at this point from what people have reported is that ffmpeg is not consistent in how it reports codec names. (mp4a, aac, mpeg4aac for instance all seem to be synonyms for aac, and liba52 and ac3 are synonyms for ac3). I'll have to see if there is a better way for me to handle this. (There may be better ways for me to check the codec...)
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 04:46 PM   #43
milkrun
Milk Run
 
Join Date: Jul 2004
Location: Menlo Park, CA
Posts: 10
pyTivoX is great, please make StreamBabyX

pyTivoX is great, thank you for this tool.

Please make a StreamBabyX for us Mac idiots that need extra hand holding.

Thanks again.
__________________
Tivo Series 3 and loving it.
milkrun is offline   Reply With Quote
Old 01-21-2009, 05:43 PM   #44
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by milkrun View Post
pyTivoX is great, thank you for this tool.

Please make a StreamBabyX for us Mac idiots that need extra hand holding.

Thanks again.
Hmm.. *IF* you're ok with trying out beta-level software, go to the pytivox download page at http://code.google.com/p/pytivox/downloads/list and download the latest beta (1.1b2). This has the 0.17 streambaby in there, and you can choose to use pytivo, streambaby, or both. Keep in mind you can only stream to a tivo 3 / HD.

Tell me if things seem broken (I'll try and figure out if it's a bug in pytivox or streambaby, and if so, forward it up the chain).
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 05:46 PM   #45
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Ah I should have mentioned: After hacking it to compile under 10.5 (patches above), putting ffmpeg and the shared libs, and hacking pyTivoX to auto-generate the correct streambaby.ini file, it looks like everything is working really smoothly so far.

So great job! And thank you to EVERYONE who figured out how to stream too...!!
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 06:37 PM   #46
windracer
joined the 10k club
 
windracer's Avatar
 
Join Date: Jan 2003
Location: St. Pete, FL
Posts: 11,239
Quote:
Originally Posted by kearygriffin View Post
I think I said in an earlier post that streambaby would probably have problems with libavformat-52 and libavcodec-51 (either both 51, or both 52 is what I count on). Of course this is not the case with ubuntu 8.10.
I'm not having a problem with streambaby on Ubtuntu 8.10, but I'm running 32-bit with my own compiled ffmpeg that I use with pyTivo.

Code:
FFmpeg version SVN-r15665, Copyright (c) 2000-2008 Fabrice Bellard, et al.
  configuration: --prefix=/usr --enable-gpl --enable-postproc --enable-libvorbis --enable-libtheora --disable-debug --enable-libmp3lame --enable-libfaad --enable-libfaac --enable-pthreads --enable-libx264 --disable-ffplay --disable-ffserver --enable-libxvid
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52. 0. 0 / 52. 0. 0
  libavformat   52.22. 1 / 52.22. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Oct 22 2008 12:21:33, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Ah, and I see I have 52 for both, which is why it's working ...
__________________
840~Roamio Pro (TA, MoCA) + two A92~Minis, 758~Premiere XL4 (TA, MoCA)
S/old: 746~S4, 658~HDXL, 648~OLED S3, 565~TX20, 230~S2, 140~S2

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
windracer is offline   Reply With Quote
Old 01-21-2009, 07:17 PM   #47
jtkohl
Registered User
 
Join Date: Feb 2004
Location: Arlington, MA, USA
Posts: 169
Quote:
Originally Posted by westside_guy View Post
Addendum: This is weird - OS X 10.5 actually has java 1.6; it's just not the default. I had to set it up as the default via a soft link, but now things launch just fine.

I'll report back once I've had a chance to run it through its paces on OS X.
Everything I've read says that Java 6 for OSX only runs on 64-bit intel hardware. It is not supported or available for OSX on 32-bit Intel hardware or PPC hardware.

Too bad, that cuts out a bunch of people from being able to use Java-6 dependent applications
jtkohl is offline   Reply With Quote
Old 01-21-2009, 07:18 PM   #48
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
I just put a new version 0.18 up:
http://code.google.com/p/streambaby/

This version should fix most of the issues talked about so far in this thread (I believe, hopefully I didn't miss anything).
It should work well now on Ubuntu 8.10 and other installations with libavformat=52 and libavcodec=51.

Good luck!

Here is the changelist:

===V0.18===
* Patched to compile under JDK1.5, and marked as JDK1.5 compatible
* Added ability to gather video information (length/type/etc) without ffmpeg, enabling running without ffmpeg installed (but minus some features)
* Ignore files/directories that begin with a dot (.)
* Added liba52 as synonym for AC3, mpeg4aac as synonym for AAC in ffmpegexe module
* Added hints for the list, so you can visually see if there are more entries than fit on the screen
* Advance key moves back and from bottom to top of list in selection view
* Fixed issue with ffmpeg native integration where libavcodec was V51, and libavformat was V52 (used to assume major versions would be equal)
* NOTE: FFmpeg revisions `r10939-r11109` (Nov 7 2007 - Nov 28 2007) will not work, and will also not report any errors.
* Implement new codec detection code for ffmpegjava video module, should have less problems detecting which codecs are in use.
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 07:25 PM   #49
windracer
joined the 10k club
 
windracer's Avatar
 
Join Date: Jan 2003
Location: St. Pete, FL
Posts: 11,239
Quote:
Originally Posted by kearygriffin View Post
* Ignore files/directories that begin with a dot (.)
Works great, thanks for that!
__________________
840~Roamio Pro (TA, MoCA) + two A92~Minis, 758~Premiere XL4 (TA, MoCA)
S/old: 746~S4, 658~HDXL, 648~OLED S3, 565~TX20, 230~S2, 140~S2

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
|
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
windracer is offline   Reply With Quote
Old 01-21-2009, 07:35 PM   #50
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Ok, just uploaded a new beta pyTivoX with the new streambaby0.18

(fwiw, I'm generally using the svn/git versions of most of the tools.. should I be worried about incompatibilities -- or is this just for old things?)
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 07:40 PM   #51
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by westside_guy View Post
Addendum: This is weird - OS X 10.5 actually has java 1.6; it's just not the default. I had to set it up as the default via a soft link, but now things launch just fine.
I just noticed this posting.. oops I should have caught it earlier. No, 1.6 does not ship by default. You have to install it via the Apple Developer Connection. However, even/when you do, the way to select it is not via soft links.
You should open up Applications/Utilities/Java/Java Preferences

and create a sorted ordering of what you want for browsers and for commandline invocations... Keep in mind that selecting a 64-bit applet java and then running a 32-bit browser will give you NO-END of problems.
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 07:47 PM   #52
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by jtkohl View Post
Everything I've read says that Java 6 for OSX only runs on 64-bit intel hardware. It is not supported or available for OSX on 32-bit Intel hardware or PPC hardware.
Yeah it seems to be their plan so far to bail on old computers... weird..
btw.. on a completely unrelated note.. are you the same jtkohl from mit.edu?
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 07:54 PM   #53
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by Yoav View Post
(fwiw, I'm generally using the svn/git versions of most of the tools.. should I be worried about incompatibilities -- or is this just for old things?)
I'm sure at some point a new version of ffmpeg will break streambaby ;-)
Definitely when they change the major version of one of the libraries. (avcodec/avformat/avutil/swscale)

There may be other things that pop up with newer versions of ffmpeg, but hopefully they will be infrequent. I'm sure I won't be able to keep ahead of them, but I can probably keep just behind.
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 07:56 PM   #54
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by kearygriffin View Post
I'm sure at some point a new version of ffmpeg will break streambaby ;-)
Definitely when they change the major version of one of the libraries. (avcodec/avformat/avutil/swscale)

There may be other things that pop up with newer versions of ffmpeg, but hopefully they will be infrequent. I'm sure I won't be able to keep ahead of them, but I can probably keep just behind.
Ok.. I'll give people a few days to find bugs and then I'll push out the next release of pyTivoX. (yay auto-update)
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 08:50 PM   #55
Sicklybutsexy
Registered User
 
Join Date: May 2007
Posts: 179
Hats off. Great program. I'm having trouble transcoding mkv files that are all avc format and DTS audio. Anyone know how to do this?
Sicklybutsexy is offline   Reply With Quote
Old 01-21-2009, 09:22 PM   #56
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Possible bug? I have a very short clip that's h.264 at 15 fps 320x480
ffmpeg -i reports:

Code:
YoavLaptopWired:~ yoav$ /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Users/yoav/Desktop/tivo/Toby.mp4
FFmpeg version SVN-r16536, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --arch=i386 --disable-vhook --disable-shared --enable-static --enable-pthreads --disable-mmx --enable-gpl --enable-libmp3lame --enable-libfaac --enable-libfaad --enable-libx264 --enable-swscale --extra-cflags=-I/Users/yoav/src/lame/include -I/Users/yoav/src/faad2/include -I/Users/yoav/src/faac/include -I/Users/yoav/src/x264 --extra-ldflags=-L/Users/yoav/src/lame/libmp3lame/.libs -L/Users/yoav/src/faad2/libfaad/.libs -L/Users/yoav/src/faac/libfaac/.libs -L/Users/yoav/src/x264/
  libavutil     49.12. 0 / 49.12. 0
  libavcodec    52.10. 0 / 52.10. 0
  libavformat   52.23. 1 / 52.23. 1
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 6. 1 /  0. 6. 1
  built on Jan 21 2009 14:36:57, gcc: 4.0.1 (Apple Inc. build 5484)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/yoav/Desktop/tivo/Toby.mp4':
  Duration: 00:00:18.91, start: 0.000000, bitrate: 654 kb/s
    Stream #0.0(eng): Audio: aac, 32000 Hz, stereo, s16
    Stream #0.1(eng): Video: h264, yuv420p, 320x240, 14.98 tb(r)
When I try to view it, I get an Error:0xffff, and see the following in the log:
Code:
 01/21/09 19:17:14 FFmpegExeVideoModule: FFmpegCmd: /Applications/pyTivoX.app/Contents/Resources/ffmpeg -i /Users/yoav/Desktop/tivo/Toby.mp4
01/21/09 19:17:14 FFmpegExeVideoModule: VideoInfo:
uri: file:/Users/yoav/Desktop/tivo/Toby.mp4, Container: mp4, Duration: 18.91 seconds
Video: h264 320x240 0.0 fps
  PixAspect: 1.0, Aspect: 1.3333334
Audio: aac 32000HZ 0 channels
01/21/09 19:17:14 HostContext: key=mpos:file:/Users/yoav/Desktop/tivo/Toby.mp4 applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
........
(note it is reporting it as 0 fps? is that the problem?)
and then
Code:
01/21/09 19:17:16 NamedStream: Registering named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 ZipGeneratingPreview$GenThread: Finished generating preview: /tmp/pyTivoCache/Toby.mp4-1546253.pvw
01/21/09 19:17:17 Listener: http=HttpRequest /streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 Listener: path=/streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream uri=/streambaby/
01/21/09 19:17:17 Listener: 
01/21/09 19:17:17 Listener: 192.168.0.34 69dda6ca-dda1-4a88-9c54-f594414f98df.stream HTTP GET - to factory /streambaby/
01/21/09 19:17:17 StreamBabyStream$StreamBabyStreamFactory: uri=69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:17 NamedStream: Getting mapped stream for named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:18 NamedStream: DeRegistering named stream: 69dda6ca-dda1-4a88-9c54-f594414f98df.stream
01/21/09 19:17:18 Listener: 
01/21/09 19:17:18 Listener: 192.168.0.34 I/O Exception handling  HTTP GET 69dda6ca-dda1-4a88-9c54-f594414f98df.stream: Broken pipe
01/21/09 19:17:18 Listener: ctx=HttpRequest /streambaby/69dda6ca-dda1-4a88-9c54-f594414f98df.stream t=java.net.SocketException: Connection reset
01/21/09 19:17:20 ViewScreen: error=ERROR: 0xffff
Toby.mp4
(only cut the parts I thought might be useful.. I'll attach the full log here
Attached Files
File Type: txt strambaby.txt (8.8 KB, 5 views)
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
Yoav is offline   Reply With Quote
Old 01-21-2009, 10:59 PM   #57
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by Yoav View Post
(note it is reporting it as 0 fps? is that the problem?)
Even though I should probably fix the parsing, that' probably not the issue. Streambaby only uses the container, codecs, width/height and aspect information. The rest (fps/audio channels/bitrates) for completeness but it doesn't currently get looked at. So fps=0, channels=0 won't make a difference.

Having said that, I'm not sure what the issue is. I have noticed occasionally the TiVo will get into a state when it doesn't feel like streaming anything at all and just returns 0xffff. (It's usually pretty easy to see when it get's into this state, because none of the streams will play). Giving the tivo a 30 minute "rest" usually makes it happy again.

If that's not the case and it is just this particular video (which is quite possible), and you are willing to upload it to me, I'll try to set somewhere up to collect videos that are problematic.

One other issue however that I noticed looking through the log file-- It looks like the native ffmpeg-java integration is not succesfully loaded. You should see a line like:
01/21/09 19:16:33 FFmpegJavaVideoModule: FFmpeg-JavaModule: Loaded
followed by the path's of the libavxxx files that were loaded, somewhere in the beginning of the log. (Somewhere before the line FFmpegExeVideoModule: FFMpegExeModule Loaded)

Everything will work like this, but you won't have real-time preview. Streambaby will be required to generate cached files before it is able to display the thumbnails during FF/rewind. (So if you are watching a video for the first time, it may take 5-10 minutes before thumbnails for the entire movie is generated. The next time, since it is cached, it will be immediate.)

It's quite conceivable that I need to do some special work to handle the OSX shared libraries. Looking at my code and the JNA code I think it is going to be looking for libraries with names like: libavcodec.dylib
If this is not the case (for instance there is some kind of version information in there somewhere like libavcodec-52.dylb), that could be the problem. Could you let me know what the libavxxxx and libswscale filenames look like? (And I am assuming they are in the native directory)

Thanks
Keary
kearygriffin is offline   Reply With Quote
Old 01-21-2009, 11:21 PM   #58
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Ok, well the problem seems to only happen with that movie so far.. I'll try it again in a while and see if it improves.

It was giving me 'correct previews' as I fast forwarded beyond the downloaded things (it would print a timestamp on top of a VERY low-quality jpeg). This is almost immediately after running, so I don't think it would have had time to pre-generate all the images. but there are no ffmpegjava lines in the log

To answer the specific question, shared libs on mac are generally named something like
libyourmama.32.dylib
with a symlink from libyourmama.dylib

I configured streambaby.ini with
Code:
ffmpeg.path=/Applications/pyTivoX.app/Contents/Resources/ffmpeg
ffmpegjava.avutil=/Applications/pyTivoX.app/Contents/Resources/libavutil.dylib
ffmpegjava.avcodec=/Applications/pyTivoX.app/Contents/Resources/libavcodec.dylib
ffmpegjava.avformat=/Applications/pyTivoX.app/Contents/Resources/libavformat.dylib
ffmpegjava.swscale=/Applications/pyTivoX.app/Contents/Resources/libswscale.dylib
(each of those are correct values for existing files).

*however* depending on how the loader works, a mac might be 'more confusing' than normal, since libraries and applications are actually multi-platformed (each of those shared libs actually has files that will run on i386 macs and ppc macs). I believe 'dlopen' and friends 'do the right thing', but I don't know how ffmpeg-java tries to load those libraries...

note: I looked at the FFmpegJavaVideoModule.java class file, and it looks like it's either supposed to print that it loaded or that it didn't load. I don't see either printout, so I'm thinking maybe I don't have logging turned on right?
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Yoav : 01-21-2009 at 11:26 PM.
Yoav is offline   Reply With Quote
Old 01-22-2009, 12:26 AM   #59
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by Yoav View Post
note: I looked at the FFmpegJavaVideoModule.java class file, and it looks like it's either supposed to print that it loaded or that it didn't load. I don't see either printout, so I'm thinking maybe I don't have logging turned on right?
I was thinking the same thing when I initially looked at your log file, but then I took a better look at FFmpegJavaVideoModule and realized that if it can't load the library in the function getVideoModule() then initialize() will never end up being called and there will be no debug output about the failure. I actually changed this in my code for the next version.

I can also see in the log you sent the following line:
Code:
01/21/09 19:17:17 ZipGeneratingPreview$GenThread: Finished generating preview: /tmp/pyTivoCache/Toby.mp4-1546253.pvw
which you will only see if it is using cached thumbnails.

While testing the ffmpeg-java stuff, the easiest thing to do is to delete everything out of the cache directory (looks like /tmp/pyTivoCache in your case) and add the following line to streambaby.ini to tell it not to generate cached files:
preview.autogenerate=false

My guess is the low-quality jpegs will disappear and you'll just see the time over a black/grey background (can't remember which).

I think one thing you might try is removing the ffmpegjava.avutil=, ffmpegjava.avcodec=, etc lines from the streambaby.ini and adding the line:
lib.native=/Applications/pyTivoX.app/Contents/Resources/

I think in general that is probably the right way to go, with lib.native pointing to a directory and the other parameters referencing files within it. I'm not sure how well full paths work for the ffmpegjava.avxxxx parameters work. If it doesn't work with default values for ffmpegjava.avxxxx we can then try different formats for those. (but still just a relative filename based off of lib.native). But I do think the default for those should work. (For instance the default for libavcodec is "avcodec" which then get's passed to System.mapLibraryName which should return "libavcodec.jnilib", and when I looked at the JNA code, it will then try both libavcodec.jnilib and strip the extension and add .dylib to try libavcodec.dylib)

ffmpeg.path= looks good in your current configuration, as a full path there is a good thing. (and it is obviously finding it OK)

Sorry for the long winded (and technical) posts. I don't have access to any OSX systems, so if it's going to get working as well as possible on a Mac, this is the only way I can think of going about it... Getting out as much info as possible and hoping someone can get it going.

EDIT: I did just look again and if I read the jna code correctly, full paths should work also, so I am not that confident what I mention above will work.

Last edited by kearygriffin : 01-22-2009 at 12:36 AM.
kearygriffin is offline   Reply With Quote
Old 01-22-2009, 01:43 AM   #60
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
I tried using the lib.native instead, still the same issue.
Looks like macOS is now using dtrace instead of truss, and I'm having trouble tracking what dynamic libs it is trying to open... but so far it doesn't seem to be trying to open any file with a name that has *avutil* in it (unless I'm mis-invoking dtrace).

I'll see what I can find... it's gonna be a while..

edit: Ok I'm starting to get burned out here. I tried putting the libraries in /usr/local/lib, tried using the DYLD_* variables to force locations, etc. It really feels like the app is not even trying to load the libraries...
I'll try some more tomorrow. At worst I'll drop the shared libs from the distribution and just let it run with the ffmpegexe module....
__________________
Don't pay for Tivo Desktop / Roxio on the mac:
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
and
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
.

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Last edited by Yoav : 01-22-2009 at 02:02 AM.
Yoav is offline   Reply With Quote
Reply
Forum Jump




Thread Tools


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Advertisements

TiVo Community
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
vBulletin Skins by: Relivo Media

(C) 2013 Magenium Solutions - All Rights Reserved. No information may be posted elsewhere without written permission.
TiVoŽ is a registered trademark of TiVo Inc. This site is not owned or operated by TiVo Inc.
All times are GMT -5. The time now is 09:28 AM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |