mattmartini / itivo

Automatically exported from code.google.com/p/itivo
Other
0 stars 0 forks source link

Recordings with long filename inc single quote mark fails to download (mencoder aborts) #99

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What Version of iTiVo?  1.76b5

What Version of MacOS X? 10.5.6

What download format did you select? various, all failed. e.g. H.264 3Mb/s or 
5Mb/s both fail

What steps will reproduce the problem?
1. recorded a program with a long title. Mine was called "Lawrence Leung's 
Choose Your Own 
Adventure"
2. try to download it
3. see repeated aborts of "mencoder" ("the application quit unexpectedly" 
dialog box repeatedly) 
and the download itself fails

Please provide any additional information below.

Suspect its the single quote in the name somehow messing with mencoder writing 
the file out, 
as the name itself isn't incredibly long. Suggest the fix would be a routine to 
sanitise the 
filename being written to disk appropriately.

Original issue reported on code.google.com by simon.ha...@gmail.com on 17 Apr 2009 at 10:12

GoogleCodeExporter commented 9 years ago
Hi there..
  iTiVo does escape 'special character' (include the quote as well as many other
symbols).  Additionally the face that mencoder crashes instead of failing to run
indicates it's not a filename issue, but more likely an encoding issue.

  However, that's me speculating.  It would be useful to have the log output when it
fails, and to know what additional encoding options you had (commercial skip?  
move
to subdirectory, etc).

  The log of a running itivo is in /tmp/iTiVo-<username>/iTiVo.log, and if you can
zip it up and attach it here after a failure I'd appreciate it.

Original comment by yoav.yer...@gmail.com on 17 Apr 2009 at 10:31

GoogleCodeExporter commented 9 years ago
Ok, I've attached the iTiVo.log file (zipped) as requested (here).

The error in the log file is actually 'Floating point exception', 
interestingly. So maybe its got nothing to do with 
the filename at all.

I picked another file on my TiVo and started downloading that - and it works 
perfectly. i.e. I can download 
multiple other shows on the TiVo but not this one in particular.

The file does play fine in the TiVo, and I didn't 'do' anything special in 
recording it.

I haven't checked anything experimental but I did check 'move to subdirectory'. 
However, in the storage area, 
it hasn't created a subdirectory yet (maybe it does that at the end) - what I 
have on my disk is a zero length 
file called "Lawrence Leung's Choose Your Own Adventure - Be the Best in the 
World.mp4"

Original comment by simon.ha...@gmail.com on 17 Apr 2009 at 10:42

Attachments:

GoogleCodeExporter commented 9 years ago
Honestly from the log I would guess mencoder is freaking out over the source 
file.
  (as you can see the quote is being escaped with a backslash so I suspect that's not
the reason).

  Easiest way to see if that's the case is by bypassing mencoder:  don't use
commercial skipping and select the 'decrypt' format.  That should pull the 
mpeg-2 as
is using the exact same filename (so everything else will be run except for the
mencoder invocation).

  If that works, we have a problem with mencoder (which I really can't fix), but you
can usually get around it by using a different encoder (like Handbrake, or 
ffmpeg). 
It may not be mencoder's fault entirely -- it shouldn't be crashing, but it's
possible the original source from the tivo is corrupt (it's not that rare for 
the
tivo to create an invalid mpeg-2 that it can play, but that other programs 
crash on
or have weird sync issues with).

  Anyways, try the decrypt first.  If it's still failing with decrypt it's a bug with
itivo which I *can* try to fix.

Original comment by yoav.yer...@gmail.com on 17 Apr 2009 at 11:06

GoogleCodeExporter commented 9 years ago
Yes, the file is downloading fine when set to 'Decrypt" (it wasn't obvious to 
me that 'Decrypt' would bypass 
mencoder... the name Decrypt sounds like its doing something, not like its... 
not doing something :)

So I would agree- bug in mencoder, so I'll hit the 'report to Apple' button and 
hope that someone, sometime, 
cares about that :)

One minor cosmetic suggestion for you to handle this more automatically might 
be to pick up the mencoder 
failure and generate a message in iTiVo that suggests that mencoder has faulted 
and that the 'Decrypt' setting 
will download the original source file without re-encoding as a possible 
workaround.

Anyway - as you suggest, this looks like a bug in mencoder, not iTiVo after 
all. thanks for the nice program.

Simon

Original comment by simon.ha...@gmail.com on 17 Apr 2009 at 11:23

GoogleCodeExporter commented 9 years ago
So, decrypt is doing the basic operation.. decrypt  :) (alternatively titled 
'strip
DRM by using your private MAK key'.

  All the other operations 'decrypt first, then re-encode using an encoder'... so
yeah I guess the name is confusing..

  As for 'report to apple'.  They will just ignore it (they didn't write mencoder). 
Mencoder is part of the mplayer program suite, but i *suspect* the bug is 
actually in
ffmpeg's libraries (a suite of libs for parsing and making movies, written by 
yet
another set of people).  Anyways, if you *want* to report it to the mplayer 
people,
you'll probably wanna send something to them, with the 'decrypted' file you 
have, and
explain that something in that file is making it crash.  The more you can do to 
help
them the more likely they'll do something about it.  (For example, reducing the
multi-gig file into something small that consistently crashes mencoder using a 
simple
commandline invocation).

They will definitely want to know what flags you used (you can get those from 
the
advanced preferences -- specify all the flags, not just the video ones).

  The down side is the odds of them doing something about it are pretty small  :(.

  as for the cosmetic change:  I agree it would be nice.  Unfortunately I don't know
how to trap the system popup that you see (it's actually apple's OS informing 
the
user that a program has terminated..  Only AFTER you click anything does it 
continue
and let itivo know that mencoder exitted).  I suppose I *could* add a secondary 
popup
after suggesting that you use 'decrypt' instead.  Although that isn't always the
right fix for the mencoder crash --  another situation with similar symptoms is
comskip making invalid skip lists,  or a partial transfer from the tivo that is
aborted..  for which switching to decrypt is the wrong solution -- and it's 
very hard
to programmatically figure out what went wrong.

  Yes, itivo is far from perfect  :(.   Sorry..  I do hope when it works it's useful
to you though...

  Marking bug as 'fixed' since there's really nothing I can do about mencoder.

Original comment by yoav.yer...@gmail.com on 17 Apr 2009 at 11:46

GoogleCodeExporter commented 9 years ago

Original comment by yoav.yer...@gmail.com on 19 Apr 2009 at 3:09