I figure I should divulge as much info as I can think of so that this stuff isn't so spread out all over this thread...
The "firewire glitching" bug, as I call it, began with the Motorola A28 guide update (and accompanying firmware) which was released in mid-2010. I live just south of San Francisco and received the update in July (if memory serves). This same update is also responsible for your cable box rebooting whenever your HTPC restarts or when you plug/unplug the firewire cable. The A28 guide update also includes some nice stuff in it, such as the ability to search for shows. You can also set future recordings that will automatically occur if those shows ever appear on the schedule...I was pleasantly surprised that the Xtacles were auto-recorded on Adult Swim recently. Organizing your DVR recordings into folders is another nice feature of the A28 update.
The firewire glitching issue can not be seen when watching your cable box (either Live Tuner or DVR recordings). Everything viewed from the cable box will look the same as when you recorded it. The glitching can only be seen after you have finished capturing a recording and are playing it back on your PC/Mac or DVHS VCR (or any device you transfer it to such as a TVIX or Western Digital TV Live, Blu-ray disc, etc).
The glitching looks like dropped frames and massive pixelation. Each glitch is typically very short (just a second or two), but I've seen a few longer ones...maybe 10 or 20 seconds of missing or messed up stuff. These glitches happen randomly; If you capture the same DVR recording 3 times in a row, you will have glitching in different spots (or hopefully you'll get a perfect capture).
In order to discover where glitches exist, you either have to watch the captured recording or run a program to check the integrity of the MPEG-2 transport stream (which is obviously the easier less time-consuming way of doing it).
Since I already use VideoReDo TVSuite v4 to remove ads, I rely on it to tell me about any glitches. I'm sure that there are other (free) ways of going about this, but I don't know what they are (maybe MPEG2Repair?). I would really appreciate it if others would share how they go about this.
I used to always run VideoRedo's "QuickStream Fix" option in order to locate glitches, but I have since discovered that to be overkill. Just the mere act of having VideoRedo save the file (in order to cut out ads, etc) is enough for it to scan the file and alert you to any glitches.
Here's what the VideoReDo output looks like when firewire glitches are present:
VideoReDo_Output_with_Firewire_glitches.jpg
This example is more extreme than average, but I've seen worse. Now, given this information, there's no way to know where precisely those glitches occur...only that they are all in there somewhere. Maybe there is only one problem spot and it happens to be pretty big. But it is much more likely that there are 2 or 3 or more problem areas scattered throughout the recording. VideoReDo's log file can tell us exactly where the glitches are.
VideoReDo's log file is located in the "Application Data" folder. For Windows XP this could be "C:\\Documents and Settings\\TNO821\\Application Data\\VideoReDo-TVSuite4\\VideoReDo.log"
At the bottom of the log file will be information about the last thing that VideoReDo edited. Here's a snippet:
Input file: E:\\110113164844.ts
Output file: E:\\110113164844 (02).ts
Mode: Frame Accurate
TS Video packets: 9021951
TS Audio packets: 367551
TS PSI packets: 26062
TS Null packets: 0
TS MUX Rate (Mbps): 16.92951
-TS Discontinuities: 1
Video output frames: 78337
Audio output frames: 40839
Processing time (secs): 257
Processed frames/sec: 304.22
Actual Video Bitrate: 10.11 Mbps
* Audio frame errors: 2
* Input Sequence Errors: 2
* Video resync frames removed: 9
2011-01-13 19:11:29 Displaying output complete dialog: 0
Notice the last few lines mention 2 Audio Frame Errors, 2 Input Sequence Errors, and 9 Video Resync Frames Removed. That's the same type of high-level (birds-eye view) information that the output dialog also reveals. It still doesn't tell us exactly where these errors occur or how many spots in the video are impacted by them.
For the detailed info, we need to look just a tiny bit higher up in the log file were some ultra-detailed info is recorded. Here's what that looks like:
2011-01-13 19:07:33 Adding new graph range, Start: 27094 (00:00:27.04), End: 161865.08 (00:02:41.50)
2011-01-13 19:07:34 XXCount: 0, Real: 1 0
2011-01-13 19:07:53 Resync: removed 8 video frames, at video 00:01:58.28, original (00:02:25.08), sync changed from -2753.33 to -33.98
2011-01-13 19:07:55 Starting new Frame Accurate Output Segment: start:307073.444 (00:05:07.06), end:669505.544 (00:11:09.30)
2011-01-13 19:07:55 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:07:57 Sending status: 'Audio volume changed' to module: 'Output muxer - 0', Type: Video frame
2011-01-13 19:07:57 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:07:57 Sending status: 'Audio volume changed' to module: 'Audio recoder - 0', Type: Audio frame
2011-01-13 19:07:57 Adding new graph range, Start: 307073 (00:05:07.06), End: 669505.54 (00:11:09.30)
2011-01-13 19:07:58 XXCount: 0, Real: 1 0
2011-01-13 19:08:09 AC3 (Unpacked2) Audio Frame Error 1 at: 00:06:02.25, Maxretries: 32000
2011-01-13 19:08:57 XXCount: 0, Real: 1 0
2011-01-13 19:08:57 Starting new Frame Accurate Output Segment: start:889605.400 (00:14:49.35), end:1191493.678 (00:19:51.30)
2011-01-13 19:08:57 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:08:57 Sending status: 'Audio volume changed' to module: 'Output muxer - 0', Type: Video frame
2011-01-13 19:08:57 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:08:57 Sending status: 'Audio volume changed' to module: 'Audio recoder - 0', Type: Audio frame
2011-01-13 19:08:58 Adding new graph range, Start: 889605 (00:14:49.35), End: 1191493.68 (00:19:51.30)
2011-01-13 19:08:59 XXCount: 0, Real: 1 0
2011-01-13 19:09:39 Temporal frame drop, at: 00:11:18.20, originalPTS: 1073238.84 (00:17:53.14), frame type: 3, temporal: 12 (2)
2011-01-13 19:09:39 AC3 (Unpacked2) Audio Frame Error 2 at: 00:17:52.28, Maxretries: 32000
2011-01-13 19:09:39 Temporal frame drop, at: 00:11:18.20, originalPTS: 1073255.53 (00:17:53.15), frame type: 3, temporal: 13 (2)
2011-01-13 19:09:39 Resync: removed 1 video frames, at video 00:11:18.20, original (00:17:53.04), sync changed from -156.32 to 43.89
2011-01-13 19:10:01 Starting new Frame Accurate Output Segment: start:1316727.278 (00:21:56.40), end:1827512.400 (00:30:27.29)
2011-01-13 19:10:02 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:10:02 Sending status: 'Audio volume changed' to module: 'Output muxer - 0', Type: Video frame
2011-01-13 19:10:02 Preparing to send status to: 0 Audio volume changed
2011-01-13 19:10:02 Sending status: 'Audio volume changed' to module: 'Audio recoder - 0', Type: Audio frame
2011-01-13 19:10:03 Adding new graph range, Start: 1316727 (00:21:56.40), End: 1827512.40 (00:30:27.29)
2011-01-13 19:10:03 XXCount: 0, Real: 1 0
2011-01-13 19:11:28 XXCount: 0, Real: 1 0
2011-01-13 19:11:29 AudioRecoder thread complete. Stream: 0, Audio Frames, In:40842, Out: 40839
2011-01-13 19:11:29 Graph, monitoring thread received terminate signal.
2011-01-13 19:11:29 Graph monitoring thread finished.
2011-01-13 19:11:29 Output muxer processing thread complete. Video in: 78337, Out: 78337, Buffer: 0
2011-01-13 19:11:29 Output muxer processing thread complete. Audio stream 0 In: 40839, Out: 40839, Buffer: 0
2011-01-13 19:11:29 Muxer add / delete audio: stream: 0, add: 0 delete 0, sync: -16.01
2011-01-13 19:11:29 Output complete.
I've put the detailed error messages in italics. You can see that there are several areas in this video that are impacted by the firewire glitches:
1 min 58 sec
6 min 2 sec
11 min 18 sec
Now, being that this was only an 11 and a half minute Adult Swim show, having three different problem areas in such a short recording is really quite bad. And I would not even consider trying to splice around those three problem areas...that would be way too much effort. I would instead run my trick of changing both cable box tuners to SD channels (I use 8 and 9) and powering the cable box off for 30 seconds. I would then try capturing it again and hope for the best (In my case, this particular channel is not one of my glitchier channels, so it's nearly guaranteed to record glitch-free the second time).
If repeated attempts continue to have glitches (and if I really really want that recording), I will bite the bullet and perform splicing. But that truly is a pain in the ass, so I try to avoid it.
Hopefully this gives everyone a fairly good idea of how I determine how much and where the glitching is.
Thoughts? Suggestions?