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 03-03-2009, 09:49 AM   #631
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Quote:
Originally Posted by bakerja View Post
installed the latest this weekend and now with the addition of "quality", mp4 files that previously would only show sound with a black screen can now be seen by bumping the quality to anything but "same". Yahooo..
FYI, just in case you didn't realize it, quality other than "same" means recording is being transcoded to mpeg2 on the fly and then sent to your Tivo.
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-03-2009, 09:53 AM   #632
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by bakerja View Post
installed the latest this weekend and now with the addition of "quality", mp4 files that previously would only show sound with a black screen can now be seen by bumping the quality to anything but "same". Yahooo..
Do you still have some MP4 files that play with sound but no video (black screen) at quality "same" in version 0.25? Version 0.25 should be better at determining which MP4's will be compatible and automatically transcode to mpeg2 even without changing the quality, but if it is still happening there must be some cases I missed. (0.25 should check that the video is high profile 4.1 or less, and if it is not transcode it)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-04-2009, 10:56 AM   #633
bakerja
Registered User
 
bakerja's Avatar
 
Join Date: Sep 2008
Posts: 44
Quote:
Originally Posted by kearygriffin View Post
Do you still have some MP4 files that play with sound but no video (black screen) at quality "same" in version 0.25?
I do. They are 1.5 gb files though. I'll create a small one tonight and get it to you.

JAB
__________________
--
Thanks,
Joe Baker

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
bakerja is offline   Reply With Quote
Old 03-04-2009, 09:09 PM   #634
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
New MP4 seeking/streaming code

I just compiled a new version from SVN of streambaby:
http://streambaby.googlecode.com/fil...y-svn-r137.zip

This version has the MP4 seeking/streaming code completely replaced. It now uses a version based on Cahoon's mp4splitter. This version is pure Java (as opposed to the original which was ported from C) and hopefully will not only work a bit better, but be a lot more maintainable.

Having said that the old version has undergone a lot more testing, and there are bound to be problems with the new implementation.

I'm hoping this fixes some issues people were having with some MP4's file not playing correctly. (westside_guy in particular had quite a few, so let me know how this does with your various problematic videos). For people who sporadically had video artifacts at the start of an MP4, I'd be curious to see if this fixes that issue also. (I had good luck with this)

For everyone else who wasn't having problems, a good sign would be that they don't notice anything different at all in this version :-) If not please let me know...

To turn revert to the old MP4 seeking/splitting code you can set:
java.mp4split=false

Cahoon's MP4 parsing code has also replaced the old MP4 meta-data parsing library, which has been removed, so anyone having problems in this area (MP4 metadata only, no changes to pyTivo metadata), please speak up. (the above config command does not revert to the old metadata code, it has been completely removed)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-04-2009, 10:32 PM   #635
drye
Registered User
 
Join Date: Mar 2009
Posts: 2
Thumbs up New Mac User

@kearygriffin

Hello, I am a new MAC user. So far so good, I installed FFMPEG and set the path in the .ini file, but it still can not load it.

I also had to set the IP for my TIVO in the .ini file.

On a separate note, would it be a feasible to create an extension that would stream video content from an RSS feed for example a show from HULU has an RSS feed: "hulu.com/feed/show/105/episodes"

Maybe there is already something like this? Seems it should be possible.

Anyway, nice work!
drye is offline   Reply With Quote
Old 03-04-2009, 11:39 PM   #636
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,928
Quote:
Originally Posted by drye View Post
Hello, I am a new MAC user. So far so good, I installed FFMPEG and set the path in the .ini file, but it still can not load it.
You should probably just use pyTivoX, which includes Streambaby.

Quote:
Maybe there is already something like this [to stream from RSS]? Seems it should be possible.
Yes, there is already something like this. But you can forget about Hulu.
__________________

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 03-05-2009, 02:19 AM   #637
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 kearygriffin View Post
I'm hoping this fixes some issues people were having with some MP4's file not playing correctly. (westside_guy in particular had quite a few, so let me know how this does with your various problematic videos). For people who sporadically had video artifacts at the start of an MP4, I'd be curious to see if this fixes that issue also. (I had good luck with this)
Okay, it appears the problem MP4s all play now, and I'm not seeing any A/V synch issues. As far as I can tell, all the issues I'd previously reported are no longer happening - great!

I did notice on a couple videos that I'd see a couple quick bursts where it seemed like the video was being fast-forwarded for a really short duration, like .1 or .2 second (just long enough for me to say "did I see that?"). That looks like a new issue. But overall everything is working much better for me now. Thanks!
westside_guy is offline   Reply With Quote
Old 03-05-2009, 05:28 PM   #638
bakerja
Registered User
 
bakerja's Avatar
 
Join Date: Sep 2008
Posts: 44
still having problems with my mp4's. New error now though. error 0xffff when attempting to play in "same" quality. reduce quality and it plays. Here's the link to download a test mp4 that will cause the errors.

http://www.mediafire.com/file/ijzem3...g-inv_480p.mp4

Thanks,
JAB
__________________
--
Thanks,
Joe Baker

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
bakerja is offline   Reply With Quote
Old 03-05-2009, 06:09 PM   #639
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Quote:
Originally Posted by bakerja View Post
still having problems with my mp4's. New error now though. error 0xffff when attempting to play in "same" quality. reduce quality and it plays. Here's the link to download a test mp4 that will cause the errors.

http://www.mediafire.com/file/ijzem3...g-inv_480p.mp4

Thanks,
JAB
This is probably why. ffmpeg -i reports:
Quote:
Seems stream 1 codec frame rate differs from container frame rate: 29970.00 (29970/1) -> 29.97 (30000/1001)

__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-05-2009, 08:33 PM   #640
Yoav
Registered User
 
Join Date: Jan 2007
Posts: 1,048
Quote:
Originally Posted by moyekj View Post
This is probably why. ffmpeg -i reports:
I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.
__________________
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 03-05-2009, 08:36 PM   #641
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Quote:
Originally Posted by Yoav View Post
I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.
Well, a native pyTivo push of that clip also fails. tivostream will actually pass it through (doesn't give an error) but when trying to play it there is no video or audio - it's Tivo decoder that doesn't like it.
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-05-2009, 08:39 PM   #642
wmcbrine
Resistance Useless
 
wmcbrine's Avatar
 
Join Date: Aug 2003
Posts: 8,928
Quote:
Originally Posted by Yoav View Post
I'm not sure exactly what causes it, but pyTivo had a similar issue and wmcbrine checked in a fix for it. Maybe ask him.
No, my fix was for a different issue. That warning indicates nothing that's a problem for pyTivo, AFAIK. I don't know if it's a problem for Streambaby, but I'd be surprised.
__________________

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 03-05-2009, 10:19 PM   #643
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
I can't really figure out why, but TiVo really doesn't seem to like that MP4 file. I demuxed the audio/video and then remuxed it with MP4Box and tried again. This get's rid of the ffmpeg warning but TiVo still won't play it (no video/partial audio).

In general that ffmpeg warning about the FPS of the container is usually OK, as it is the FPS in the video stream itself that is important.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-06-2009, 12:39 AM   #644
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Request to display more metadata if available

Keary, the program information page in streambaby currently does not display the following metadata information that Tivo program information display (the short one) does on the bottom right of the Program page (the actual metadata key names I put in bold):
* time (date/time of recording) displayMajorNumber (channel #) and callsign (channel name)
* Original Air Date: originalAirDate (Yes I know this isn't shown in short page on Tivo but I find it useful)
* Duration: duration
* Episode: episodeNumber

Most of my metadata files are generated from kmttg and have all the above information.
Obviously there will be cases where the information is missing in the metadata so some of these are displayed only if available.
Is that something you can add to the page?
Thanks.
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.

Last edited by moyekj : 03-06-2009 at 12:54 AM.
moyekj is offline   Reply With Quote
Old 03-06-2009, 07:45 AM   #645
bakerja
Registered User
 
bakerja's Avatar
 
Join Date: Sep 2008
Posts: 44
The file was generated from Sorenson Squeeze v4.5. I'm going to experiment tonight with different codecs to see if I can encode one that will work.
__________________
--
Thanks,
Joe Baker

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
bakerja is offline   Reply With Quote
Old 03-06-2009, 05:31 PM   #646
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by moyekj View Post
Keary, the program information page in streambaby currently does not display the following metadata information that Tivo program information display (the short one) does on the bottom right of the Program page (the actual metadata key names I put in bold):
* time (date/time of recording) displayMajorNumber (channel #) and callsign (channel name)
* Original Air Date: originalAirDate (Yes I know this isn't shown in short page on Tivo but I find it useful)
* Duration: duration
* Episode: episodeNumber
I can give it a shot, all of the above fields should be available for the XSLT stylesheet to process but I have two major problems:
1) It's painful/slow for me to work with XSLT
2) It's painful/slow for me to work with HTML
Things that should take 2 minutes take me all day.

(Don't ask why I then decided to make all of the metadata stuff XSLT/HTML. It just seemed like the right way to do it, regardless of my personal comfort level).

I started a little bit by trying to clean up some of the existing XSLT in preperation to add the feature, but immediately run across the kind of stumbling block that always seems to get me in XSLT. If someone could tell me what I am doing wrong in the following snippet, I'd appreciate it (I am testing it with xsltproc)
Code:
   <xsl:if test="count('pytivo/vActor') != 0">
    <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
   </xsl:if>
There error I get is:
XPath error : Invalid type
xmlXPathCompiledEval: 1 objects left on the stack.

It works fine if i change it to test="1 != 0" (I am using does not equals instead of greater than just to make sure it is not the way I am writing the greater than sign) The apply-templates portion has been in the XSLT for a while and has worked fine, so I am assuming it is the count() that is the problem.

While I'm on the subject, I wanted to thank Yoav for a little XSLT snippet I found searching the web today, pytivo_txt.xsl. It converts a .TiVo style xml file to pyTivo format, and is far more complete than the XSLT I wrote to do the same thing. (I only parsed certain values). I've replaced my version with his. Thanks.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-06-2009, 05:55 PM   #647
pmd
Registered User
 
Join Date: Dec 2004
Posts: 32
Quote:
Originally Posted by kearygriffin View Post
If someone could tell me what I am doing wrong in the following snippet, I'd appreciate it (I am testing it with xsltproc)
Code:
   <xsl:if test="count('pytivo/vActor') != 0">
    <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
   </xsl:if>
There error I get is:
XPath error : Invalid type
xmlXPathCompiledEval: 1 objects left on the stack.
Are you sure you need the single quotes around the XPath value that's the argument to count()? From looking at some XSLT that I did a couple of years ago I would have used:
Code:
<xsl:if test="count(pytivo/vActor) != 0">
    <p><xsl:apply-templates select="pytivo/vActor[position() &lt; 4]"/></p>
   </xsl:if>
I think you can leave out the !=0 part as well and the test will still pass. Your way might be clearer to some people though I guess.
pmd is offline   Reply With Quote
Old 03-06-2009, 06:27 PM   #648
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Haven't looked at the code, but so the current flow is pyTivo .txt -> xml -> xslt processing -> html -> HME processing? Didn't realize this was a tough request, so sorry about that.
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-06-2009, 06:27 PM   #649
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by pmd View Post
Are you sure you need the single quotes around the XPath value that's the argument to count()?
...
I think you can leave out the !=0 part as well and the test will still pass. Your way might be clearer to some people though I guess.
Thanks! that did the trick. I'd tell you how long I spent trying to get this to work, but I'm too embarased. (Not to mention this isn't the first time I've tried to do something like this with count, I just gave up before...)
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-06-2009, 06:41 PM   #650
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by moyekj View Post
Haven't looked at the code, but so the current flow is pyTivo .txt -> xml -> xslt processing -> html ? Didn't realize this was a tough request, so sorry about that.
No problem, it really shouldn't be a tough request. For someone who knew what they were doing it really is a 5 minute job. For whatever reason I just struggle when doing html work.

And yes, the way it works is pyTivo -> xml -> xslt -> html. This was done to make this kind of thing easier ;-)

The format of the XML that is passed to the XSLT sheet looks like this
<pytivo>
<title>xxxx</title>
<description>xxxx</description>
...
</pytivo>

The metadata processor is capable of handling any XML file. So if it finds an XML file:
filename.mp4.xml
It looks at the root entry (so pytivo in the above) example and looks for a streambaby.ini entry:
xsl.($root)=transform1.xsl,transform2.xsl,etc...
And runs those transformations on it. The transform end result should by either HTML or plain text, and that is displayed as the metadata.

If there is no streambaby.ini entry, it also looks for:
($root).xsl in the stylesheets directory.

pyTivo is special-cased to transform the txt into XML before calling the transform code.

The way .TiVo metadata works is there a default entry in the configuration:
xsl.tvbusenvelope=tivo-pytivo.xml,pytivo-html.xsl
Which says to transform all XML with a root entry tvbusenvelope (tivo format) first into pyTivo xml format (which is what tivo-pytivo.xsl does), and then into HTML using the pytivo-html transform (this way changes to pytivo-html affect both pyTivo and tivo XML data)

And also .txt files that are not pyTivo files by default look for "txt.xsl" to transform them. This doesn't currently exist, so .txt files are just rendered-as is, but someone could write a transform to do things like take the first line, make it a title, etc...

Sorry if the above is confusing, I always meant to write a wiki entry but never did.

Edit: And Yoav added functionality so the base stylesheet for any generated code is in meta-720.css or meta-480.css depending on resolution.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-06-2009, 06:43 PM   #651
pmd
Registered User
 
Join Date: Dec 2004
Posts: 32
Quote:
Originally Posted by kearygriffin View Post
Thanks! that did the trick. I'd tell you how long I spent trying to get this to work, but I'm too embarased.
Don't worry about it. XSL is one of those things that I think is really cool and useful, but I just can't keep the information in my head about how to do it - there's always a few days spent ramping up to speed again. I see something that *should* take 10 minutes to do in XSL, and spend the entire day working on it!
pmd is offline   Reply With Quote
Old 03-06-2009, 06:53 PM   #652
pmd
Registered User
 
Join Date: Dec 2004
Posts: 32
I have a couple of files that don't work as well in svn137. The first causes a Java exception when it's parsed or streamed. The second causes ffmpeg to crash (I've not looked into that one much yet - it's a .mov file). The first file's streambaby log is:
Code:
Sat 2009/03/07 11:46:23.240|   |master|HostContext|key=mpos:file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Sat 2009/03/07 11:46:23.240|   |master|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
Sat 2009/03/07 11:46:23.240|   |master|HostContext|applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
Sat 2009/03/07 11:46:23.240|   |master|HostContext|compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
Sat 2009/03/07 11:46:23.243|   |master|MP4StreamFactory$2|UnknownAtom: mp4.util.atom.DatAtom
Sat 2009/03/07 11:46:23.243|   |master|MP4StreamFactory$2|UnknownAtom: mp4.util.atom.???Atom
mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:220)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:33)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:111)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:124)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:90)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:37)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:146)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStream(VideoModuleHelper.java:143)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.setupList(PlayScreen.java:511)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:139)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
ffmpeg -i output:
Code:
Seems stream 0 codec frame rate differs from container frame rate: 96000.00 (96000/1) -> 24000.00 (24000/1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Volumes/Store/Video/Movies/Puppy (2005).m4v':
  Duration: 01:32:08.40, start: 0.-40021, bitrate: 1295 kb/s
    Stream #0.0(eng): Video: h264, yuv420p, 720x448, PAR 529:360 DAR 529:224, 24k tbr, 48k tbn, 96k tbc
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16
    Stream #0.2(eng): Audio: ac3, 48000 Hz, stereo, s16
    Stream #0.3(eng): Subtitle: text / 0x74786574
It was encoded with an svn build of Handbrake a few months ago. Possibly just a bad encode, or maybe I was experimenting with encoding and muxing settings. Maybe it's using Handbrake's 64-bit file size support?
pmd is offline   Reply With Quote
Old 03-06-2009, 06:58 PM   #653
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Gotcha. That's pretty powerful the way you set it up which makes it flexible to apply different style sheets by simply changing xsl template. Please don't spend a lot of time on this. I can try spending some time on it if you would rather be working on something else.
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-06-2009, 07:32 PM   #654
moyekj
Registered User
 
Join Date: Jan 2006
Location: Mission Viejo, CA
Posts: 8,879
Quote:
mp4.util.atom.AtomError: Unable to handle data size larger than int
Sounds like trying to set int variable greater than maximum int size
int in Java is a signed integer => max value = 2^31-1
__________________
Roamio Pro (GigE)
Elite (MoCA)
Premiere (MoCA adapter)
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.
moyekj is offline   Reply With Quote
Old 03-06-2009, 09:47 PM   #655
Rdian06
Registered User
 
Join Date: Apr 2008
Posts: 463
Quote:
Originally Posted by moyekj View Post
Sounds like trying to set int variable greater than maximum int size
int in Java is a signed integer => max value = 2^31-1
I'd guess you turned on 64 bit file size support in Handbrake and the code can't handle it.

Maybe try using MP4creator to demux the video and audio into individual files and then use it again to remux it back into a new mp4 without specifying the -use64bits option.
__________________
Why be frustrated with Tivo Desktop Plus when you could use pyTivo (open source).
Get
To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.

Works on Windows, Mac and Linux.
Rdian06 is offline   Reply With Quote
Old 03-07-2009, 05:09 PM   #656
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Quote:
Originally Posted by pmd View Post
I have a couple of files that don't work as well in svn137. The first causes a Java exception when it's parsed or streamed. The second causes ffmpeg to crash (I've not looked into that one much yet - it's a .mov file).
...
...Maybe it's using Handbrake's 64-bit file size support?
I'm not sure that this is a 64bit mp4 format problem (although it could be, as I haven't tested one so am not 100% sure what to expect).

The exception above is caused by actually trying to read into memory an MP4 atom that streambaby thinks is huge. This should never happen in any case. My guess is that it trying to parse garbage data (not necessarily because the file is bad, but because streambaby is somehow out-of-sync with the header data)

Do you have the utility mp4dump or MP4Box? If so, if you could post the ouput of:
mp4dump xxx.mp4
or
MP4Box -info xxx.mp4

It may help.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-07-2009, 07:22 PM   #657
jannlinder
Registered User
 
Join Date: Oct 2004
Location: San Jose, CA
Posts: 106
Quote:
Originally Posted by moyekj View Post
Interlaced mp4 is highly unusual - how are you creating those? Stick with progressive.
This is not valid to suggest. Changing format when it reduces quality is bad to suggest.

For instance: Some older DVDs have interlaced tv shows (like Golden Girls and many other 4x3 tv shows) on them. Converting to progressive cuts your resolution in half as well as softens the picture. I have a BUNCH of interlaced mp4s and I do not intend to change them. Many other people (who prefer the higher quality over the progressive -- which in many cases is "fake progressive" (or deinterlaced) ) feel the same way.
jannlinder is offline   Reply With Quote
Old 03-07-2009, 09:34 PM   #658
pmd
Registered User
 
Join Date: Dec 2004
Posts: 32
Quote:
Originally Posted by kearygriffin View Post
The exception above is caused by actually trying to read into memory an MP4 atom that streambaby thinks is huge. This should never happen in any case. My guess is that it trying to parse garbage data (not necessarily because the file is bad, but because streambaby is somehow out-of-sync with the header data)
MP4Box output:
Code:
MP4Box -info /Volumes/Store/Video/Movies/Puppy\ \(2005\).m4v 
* Movie Info *
	Timescale 48000 - Duration 01:32:08.362
	Fragmented File no - 4 track(s)
	File Brand mp42 - version 0
	Created: GMT Mon Oct 27 01:38:14 2008

File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: ISO Reserved Profile (0x7f)
Audio PL: High Quality Audio Profile @ Level 2 (0x0f)
No streams included in root OD

iTunes Info:
	Encoder Software: HandBrake svn1456 2008051101

Track # 1 Info - TrackID 1 - TimeScale 48000 - Duration 01:32:08.328
Media Info: Language "Undetermined" - Type "vide:avc1" - 138209 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 720 x 448 - Profile Main @ Level 3
NAL Unit length bits: 32
Pixel Aspect Ratio 529:360 - Indicated track size 1058 x 448
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 01:32:08.362
Media Info: Language "English" - Type "soun:mp4a" - 259142 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
Alternate Group ID 1

Track # 3 Info - TrackID 3 - TimeScale 48000 - Duration 01:32:08.352
Track is disabled
Media Info: Language "English" - Type "soun:ac-3" - 172761 samples
	AC3 stream - Sample Rate 48000 - 2 channel(s) 16 bits per samples
Alternate Group ID 1

Track # 4 Info - TrackID 4 - TimeScale 48000 - Duration 01:32:08.328
Track is disabled
Media Info: Language "Undetermined" - Type "text:text" - 13 samples
3GPP/MPEG-4 Timed Text - Size 0 x 0 - Translation X=0 Y=0 - Layer 0

pmd is offline   Reply With Quote
Old 03-08-2009, 01:39 PM   #659
kearygriffin
Registered User
 
Join Date: Jan 2008
Posts: 346
Thanks PMD, nothing looks out of the ordinary from that output, so this looks like it is going to to be hard to track down.

I just uploaded a new SVN build:
http://streambaby.googlecode.com/fil...y-svn-r142.zip

This version spits out a lot more debugging information while parsing MP4's. If you have a chance to download that version and try it with the problematic file, and post/send the log output that may (or may not...) help. If you do try it, make sure you edit simplelog.properties and set the first line to
com.unwiredappeal=Verbose
(It actually looks like you already have this from your previous log output...)

The portion of the log i would be interested in would be the part that says something like:

Reading atom at offset 0
AtomClass: xxxx
Reading atom at offset yyyy
..
..

Up until the exception.

Sorry to ask for you to jump through these hoops to try and debug this, but without having the problematic video file myself, it's tough to track dwn these types of issues.
__________________

To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.
kearygriffin is offline   Reply With Quote
Old 03-08-2009, 08:11 PM   #660
pmd
Registered User
 
Join Date: Dec 2004
Posts: 32
Quote:
Originally Posted by kearygriffin View Post
The portion of the log i would be interested in would be the part that says something like:

Reading atom at offset 0
AtomClass: xxxx
Reading atom at offset yyyy
..
Code:
03/09/09 12:03:58 SelectionScreen: action=right
03/09/09 12:03:58 SelectionScreen: name=Puppy (2005), level:2
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 0
03/09/09 12:03:58 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 24
03/09/09 12:03:58 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:1)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 25
03/09/09 12:03:58 MP4StreamFactory$2: UnknownAtom(100,97,116,0): mp4.util.atom.DatX0Atom (size:365)
03/09/09 12:03:58 MP4StreamFactory$2: Reading atom at offset: 390
03/09/09 12:03:58 MP4StreamFactory$2: UnknownAtom(181,161,153,23): mp4.util.atom.?X161?X23Atom (size:3351972392)
03/09/09 12:03:58 MP4MetadataModule: Error parsing mp4 information
03/09/09 12:03:58 MP4MetadataModule: mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:232)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:115)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:128)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.parseIsoBoxes(MP4MetadataModule.java:166)
	at com.unwiredappeal.tivo.metadata.MP4MetadataModule.setMetadata(MP4MetadataModule.java:251)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.setMetadata(VideoModuleHelper.java:128)
	at com.unwiredappeal.tivo.dir.DirEntry.getMetadata(DirEntry.java:243)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:101)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)

03/09/09 12:03:58 VideoModuleHelper: GetVidInfo: file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v
03/09/09 12:04:02 FFmpegJavaVideoModule: vidDur:5528402
03/09/09 12:04:02 FFmpegJavaVideoModule: VideoInfo:
uri: file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v, Container: mp4, Duration: 5528.402 seconds
Video: h264 720x448 24000.0 fps
  PixAspect: 1.4694444, Aspect: 2.361607
Audio: aac 48000HZ 2 channels
03/09/09 12:04:02 HostContext: key=mpos:file:/Volumes/Store/Video/Movies/Puppy%20(2005).m4v applicationId=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/09/09 12:04:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream applicationGlobal=false
03/09/09 12:04:02 HostContext: applicationIdStr=com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/09/09 12:04:02 HostContext: compKey=6630001801F21FD-and-com.unwiredappeal.tivo.streambaby.StreamBabyStream
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 0
03/09/09 12:04:02 MP4StreamFactory$2: AtomClass: class mp4.util.atom.FtypAtom (size:24)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 24
03/09/09 12:04:02 MP4StreamFactory$2: AtomClass: class mp4.util.atom.MdatAtom (size:1)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 25
03/09/09 12:04:02 MP4StreamFactory$2: UnknownAtom(100,97,116,0): mp4.util.atom.DatX0Atom (size:365)
03/09/09 12:04:02 MP4StreamFactory$2: Reading atom at offset: 390
03/09/09 12:04:02 MP4StreamFactory$2: UnknownAtom(181,161,153,23): mp4.util.atom.?X161?X23Atom (size:3351972392)
mp4.util.atom.AtomError: Unable to handle data size larger than int
	at mp4.util.atom.ByteStream.<init>(ByteStream.java:38)
	at mp4.util.atom.Atom.readData(Atom.java:232)
	at mp4.util.Mp4Parser.defaultAction(Mp4Parser.java:34)
	at mp4.util.atom.DefaultAtomVisitor.visit(DefaultAtomVisitor.java:170)
	at mp4.util.atom.UnknownAtom.accept(UnknownAtom.java:12)
	at mp4.util.Mp4Parser.parseAtom(Mp4Parser.java:115)
	at mp4.util.Mp4Parser.parseMp4(Mp4Parser.java:128)
	at mp4.util.Mp4Split.calcSplitMp4(Mp4Split.java:90)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter$Splitter.<init>(JavaMP4Splitter.java:37)
	at com.unwiredappeal.mediastreams.mp4.JavaMP4Splitter.<init>(JavaMP4Splitter.java:151)
	at com.unwiredappeal.mediastreams.mp4.MP4StreamFactory.getInstance(MP4StreamFactory.java:88)
	at com.unwiredappeal.mediastreams.MP4StreamingModule.canStream(MP4StreamingModule.java:158)
	at com.unwiredappeal.tivo.modules.VideoModuleHelper.canStream(VideoModuleHelper.java:143)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.setupList(PlayScreen.java:511)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.render(PlayScreen.java:139)
	at com.unwiredappeal.tivo.streambaby.PlayScreen.tick(PlayScreen.java:91)
	at com.tivo.hme.sdk.util.Ticker.run(Ticker.java:143)
I'm going out for the day now, so I won't be able to follow up for a while.
pmd 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 06:36 PM.
OUR NETWORK: MyOpenRouter | TechLore | SansaCommunity | RoboCommunity | MediaSmart Home | Explore3DTV | Dijit Community | DVR Playground |