[mythtv] myth can't make mpeg4 recordings with SD bt878/bttv tuners

Steve Briggs zzybaloobah at yahoo.com
Sat Apr 12 21:53:58 UTC 2008


I have consistent problems with broken mpeg4 recordings.

The first recording (after starting a backend) is good,
the subsequent ones (on that backend) are almost always
corrupt.  When I try and play them back (with
mythtv-frontend) I get a zillion mpeg4 errors:

2008-03-21 00:21:08.960 TV: Changing from None to WatchingPreRecorded
[mpeg4 @ 0x49ef440]warning: first frame is no keyframe
[mpeg4 @ 0x49ef440]ac-tex damaged at 16 0
[mpeg4 @ 0x49ef440]Error at MB: 16
[mpeg4 @ 0x49ef440]concealing 810 DC, 810 AC, 810 MV errors
Marker bit missing before time_increment
[mpeg4 @ 0x49ef440]Error, header damaged or not MPEG4 header (f_code=0)
[mpeg4 @ 0x49ef440]header damaged
Marker bit missing before time_increment
[mpeg4 @ 0x49ef440]Error, header damaged or not MPEG4 header (f_code=0)
[mpeg4 @ 0x49ef440]header damaged
Marker bit missing before time_increment
[mpeg4 @ 0x49ef440]ac-tex damaged at 1 1
[mpeg4 @ 0x49ef440]Error at MB: 29
[mpeg4 @ 0x49ef440]concealing 810 DC, 810 AC, 810 MV errors
[mpeg4 @ 0x49ef440]ac-tex damaged at 9 0
[mpeg4 @ 0x49ef440]Error at MB: 9
[mpeg4 @ 0x49ef440]concealing 810 DC, 810 AC, 810 MV errors
[mpeg4 @ 0x49ef440]dc marker bit missing
[mpeg4 @ 0x49ef440]Error at MB: 163

and so on.  The audio is fine, but the video is complete garbage.

The system was working fine at fedora core 4 with 0.19-129.rhfc4
and also at FC6 with the older ATRPMS, it was only after upgrading
to 0.20-147 (currently FC8 with 0.21-181.fc8 from ATRPMS) that the
problem started.  It's been very persistent since then (but I
only recently noticed the dependence on restarting the backend).

I'm running SDTV, Hauppauge WinTV (bt878) cards, encoded directly to
mpeg4 by mythbackend.  Backends all have 1 GB+ of RAM, CPU's are Athlon
XP3200s or better and CPU utilization is under 75% worst case.

What I've learned:
1) The problem is reproducible across 3 different backend/tuners.
2) It doesn't matter whether I'm on a local (to that backend)
   frontend or not.
3) It doesn't matter whether my /video is a local partition or
   remote nfs mount.
4) Yes (to answer the most common follow-up Q), I'm running the
   same version on frontend / backend.
5) The recordings are the problem; if I watch them with a
   different frontend (or with mplayer), they're still broken.
6) The frontend(s) play "working" recordings (including old
   recordings before this problem started) fine.
7) The problem does NOT show up if I watch live TV, either via
   MythTV, tvtime, or xawtv; it only seems to affect recordings.
8) I've tried unloading and loading the bt878 and bttv modules,
   but that doesn't make any difference.
9) I've looked at backend logs ("-v all", etc.) but nothing jumps
   out at the time of recording ... in particular, there's no
   "IOBOUND" errors.  (There are a bunch of errors similar to the
   mpeg4 errors I see at the frontend, but they don't have datestamps,
   and only show up after I try viewing the recording.)

NOW, FOR THE *REALLY* INTERESTING/BIZZARE PART:
IF I restart the backend, the first recording is always good.
Subsequent recordings are almost always (more than 9 times
out of 10) bad.
In other words, I've done the following:
  ACTION                  RESULT
  restart backend
  record a show           GOOD RECORDING
  record a show           BAD RECORDING
  record a show           BAD RECORDING
  watch live TV           GOOD LIVE TV
  watch live TV           GOOD LIVE TV
  run tvtime/xawtv        GOOD LIVE TV
  record a show           BAD RECORDING
    etc... live tv is good, recordings are bad.
  restart backend
  record a show           GOOD RECORDING
  unload bttv/bt878 modules
  load bttv/bt878 modules
  watch live TV           GOOD LIVE TV
  record a show           BAD RECORDING
This didn't use to be this consistent.
In the past (say before my upgrade to FC8),
I would get bad recordings maybe a 1/3 of the
time and I'm not aware of any pattern to the
recordings.  Now, though, it's very consistent.

THE ONLY THING THAT SEEMS TO MATTER IS:
IF (FIRST_RECORDING_AFTER_BACKEND_START) THEN
   RECORDING = GOOD
ELSE
   RECORDING = BAD

It really seems like the act of recording a show leaves some
internal thing in the backend corrupt so that subsequent recordings
fail.

I've had this problem for quite a while and am getting desperate.
Any one have any ideas?  Anyone else still using bt878 cards direct
to mpeg4 that *DOESN'T* have this problem -- if so, what's your
set up?

TIA
Steve


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the mythtv-dev mailing list