Ken Bass wrote:
When I fast forward a recorded program, I get a very blocky transition effect. mythtv did not used to do this and I'm not exactly sure when it started. Sometimes I notced the 'end time' of the program when skipping fluctuates.

Has there been a change related to the skip logic or anything related to skipping on a frame boundary (MPEG GOP)?

*OR*

Is this related to the corrupted recordedmarkup table? I let mysql repair it but is this a consequence of whatever data was corrupted? Is there anyway to regenerate this?

It turns out it is related to the mysql recorded markup table being corrupted.

I found a few side effects to this:

1) Thumbnails did not generated for files without a seek table! This meant thumbnails did not show up in mythweb either. This also caused mythweb to display the 'Recorded Programs' very very slow. Each time I visited that page, it would tell the backend to try to grab a frame and the backend would complain as follows for each file:

2005-11-06 19:25:32.986 Could not open /mnt/store//1011_20051104160000_20051104170000.nuv.png. 0 retries remaining.
2005-11-06 19:25:33.754 Not enough video to make thumbnail

I've saw lots of thumbnail complaints in the archive, perhaps some are created by a corrupted recordedmarkup table. (Other problems could be wrong permissions on the image_cache directory or missing video_dir symlink)

In NuppelVideoPlayer.cpp - if the GetScreenGrab() method fails it causes this 'Not enough video to make thumbnail' error. There is a check for 'hasFullPositionMap' which appears to be derived from the recordedmarkup
table when playing back.

2) I repaired the recorded markup table using the commands:
'mysqlcheck -r -u mythtv -pmythtv mythconverg'

3) Running 'mythcommflag --rebuild' regenerates the seek table (GOP based) (Add --all argument if you need to do all files versus just those not present in the recordedmarkup table)

4) Running 'mythcommflag --hogcpu' regenerates the commercial flag data. (Add --all argument if you need to do all files versus just those not present in the recordedmarkup table)

After the above commands, thumbnails generated properly, skipping to longer was blocky, the ending time shown when skipping is accurate/stable, and commercials are reflagged.

It seems that if I skipped step #3, the commercial flagging dumped a lot of errors about 'missing frames', 'motion type errors', 'ac-tex' errors and the like.

Bottom line: The recorded markup table is the largest table in the database related to mythtv. When machine lockups occur and you need to hard power cycle it is one of the most likely databases to be corrupted. Its very important for proper skipping and thumbnail generation. Simply repairing the mysql is not necessarily enough.
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users

Reply via email to