Difference between revisions of "Repairing the Seektable"
(→Possible Causes of a Corrupt Seektable) |
m (Re-jigged to remove most of the 1st person references) |
||
Line 1: | Line 1: | ||
− | It is possible | + | It is possible that the [[Recordedseek_table|seektable]] can become corrupted for one or more recordings, which can result in: |
* Being unable to skip forward and backward correctly, and | * Being unable to skip forward and backward correctly, and | ||
* Recordings reporting the incorrect length. | * Recordings reporting the incorrect length. | ||
Line 5: | Line 5: | ||
[[mythcommflag]] and [[mythtranscode]] are two tools that can be used to rebuild the seektable. | [[mythcommflag]] and [[mythtranscode]] are two tools that can be used to rebuild the seektable. | ||
− | [[Image:Important.png]] '''Note:''' After rebuilding the seektable, any cutlist | + | [[Image:Important.png]] '''Note:''' After rebuilding the seektable, any cutlist which has created for a recording will no longer be properly synced and should be recreated. |
= Repairing the Seektable= | = Repairing the Seektable= | ||
Line 11: | Line 11: | ||
First, run the <code>optimize_mythdb.pl</code> script to ensure that the MySQL database is in good order. | First, run the <code>optimize_mythdb.pl</code> script to ensure that the MySQL database is in good order. | ||
− | + | On an Ubuntu Feisty machine for example, this is as simple as running the following command: | |
sudo /usr/share/doc/mythtv-backend/contrib/optimize_mythdb.pl | sudo /usr/share/doc/mythtv-backend/contrib/optimize_mythdb.pl | ||
Line 19: | Line 19: | ||
mythcommflag is generally very successful and very efficient at rebuilding the seektable. | mythcommflag is generally very successful and very efficient at rebuilding the seektable. | ||
− | For each recording | + | For each recording with corrupted seektable in need of repair, run the following command: |
mythcommflag --file <filepath> --rebuild | mythcommflag --file <filepath> --rebuild | ||
Line 27: | Line 27: | ||
== Using mythtranscode== | == Using mythtranscode== | ||
− | If | + | If problems are encountered rebuilding a seektable with mythcommflag, try using mythtranscode as follows: |
mythtranscode --mpeg2 --buildindex --showprogress --infile <filepath> | mythtranscode --mpeg2 --buildindex --showprogress --infile <filepath> | ||
Line 39: | Line 39: | ||
* Crashed MySQL tables. | * Crashed MySQL tables. | ||
* Losing the network between slave backends and the MySQL database server during recordings. | * Losing the network between slave backends and the MySQL database server during recordings. | ||
− | * Alternatively, | + | * Alternatively, files imported into the MythTV recordings library may need to have their seektables build, especially if they are to be edited. |
Revision as of 13:35, 12 January 2008
It is possible that the seektable can become corrupted for one or more recordings, which can result in:
- Being unable to skip forward and backward correctly, and
- Recordings reporting the incorrect length.
mythcommflag and mythtranscode are two tools that can be used to rebuild the seektable.
Note: After rebuilding the seektable, any cutlist which has created for a recording will no longer be properly synced and should be recreated.
Contents
Repairing the Seektable
Preparation
First, run the optimize_mythdb.pl
script to ensure that the MySQL database is in good order.
On an Ubuntu Feisty machine for example, this is as simple as running the following command:
sudo /usr/share/doc/mythtv-backend/contrib/optimize_mythdb.pl
This will iterate through each of the tables in the mythconverg database, 'optimizing' each one. Once the optimize_mythdb.pl
script has returned successfully, it is time to move on.
Using mythcommflag
mythcommflag is generally very successful and very efficient at rebuilding the seektable.
For each recording with corrupted seektable in need of repair, run the following command:
mythcommflag --file <filepath> --rebuild
where <filepath>
is the path to a recording that exists in the Myth TV database. There are other options that can be used to specify the input filename(s), refer to the mythcommflag page for further details.
Note: mythcommflag should always be used for files that are recording in or transcoded to NUV.
Using mythtranscode
If problems are encountered rebuilding a seektable with mythcommflag, try using mythtranscode as follows:
mythtranscode --mpeg2 --buildindex --showprogress --infile <filepath>
where <filepath>
is the path to a recording that exists in the Myth TV database. There are other options that can be used to specify the input filename, refer to the mythtranscode page for further details.
It should be noted that mythtranscode generally does a better job at repairing MPEG-TS (and/or MPEG-PS) streams.
Possible Causes of a Corrupt Seektable
- Editing a recording outside of the MythTV Frontend.
- Excessive disk IO during recording could prevent invalid SQL updates to the recordedseek table (I think).
- Crashed MySQL tables.
- Losing the network between slave backends and the MySQL database server during recordings.
- Alternatively, files imported into the MythTV recordings library may need to have their seektables build, especially if they are to be edited.