Dragon Global Forums

Go Back   Dragon Global Forums > ShowAnalyzer > ShowAnalyzer Beta

ShowAnalyzer Beta Discussion related to the ShowAnalyzer Beta.

Reply
 
LinkBack (1) Thread Tools Display Modes
  #1 (permalink)  
Old 04-12-2008, 05:40 PM
HT Slider
Guest
 
Posts: n/a
Default Time drift between commercial detection and playback

Jere,

As you know when ShowAnalyzer detects commercials in our HD dvr-ms files, there is an error that develops between the SA commercial time and the playback commercial time.

This produces a situation where, during playback, we end up watching a few seconds of the commercial, followed by a skip that skips to far and misses a portion of the show.

The magnitude of the error works out quite accurately to 6 seconds of drift per hour of recorded show for both 720p and 1080i dvr-ms files.

In other words, with a 3 hour movie, by the end of the movie the commercials are out of sync by 18 seconds.

I was thinking about a simple solution to this and experimenting a little...

I discovered that if I look at the commercial time stamps and look at the time for the very last segment by looking at the logs and compare this to the total length of the show according to the dvr-ms file properties that this error shows up here too.

For example if I take a 1 hour HD recording (dvr-ms file) and look at the file properties, it shows that the file is 1 hour in length. When I play it back with Media Center it also ends at exactly 1 hour. When I look at the SA log file, this same file shows an end time stamp of 1 hour, 0 minutes and 6 seconds.

I then opened up the commercial xml file that was created by ShowAnalyzer and multiplied all of the time stamps by 3600/3606 (1 hour divided by 1 hour, 6 seconds) and then watched the show using Media Center and the DVRMSToolbox addin's commercial skipper and PERFECTION!! All of the commercials were now skipped perfectly in sync with the playback.

So, I wanted to suggest as a very simple fix you could incorporate this very simple math into your software and ensure this sort of "time drift" issue is compensated for.
Reply With Quote
  #2 (permalink)  
Old 04-12-2008, 06:16 PM
Jere_Jones's Avatar
Administrator
 
Join Date: Apr 2008
Posts: 2,020
Jere_Jones has disabled reputation
Default

What was the very first timestamp?

Jere
__________________
DEATH TO ALL COMMERCIALS
Latest Stable: ShowAnalyzer 1.0.59 - 8 Feb 2010
Latest: DirMon2 Beta 0.6.4 - 8 May 2008
Reply With Quote
  #3 (permalink)  
Old 04-12-2008, 06:24 PM
Jere_Jones's Avatar
Administrator
 
Join Date: Apr 2008
Posts: 2,020
Jere_Jones has disabled reputation
Default

Better yet, can you post the first few (20 or so) lines of the log?

Jere
__________________
DEATH TO ALL COMMERCIALS
Latest Stable: ShowAnalyzer 1.0.59 - 8 Feb 2010
Latest: DirMon2 Beta 0.6.4 - 8 May 2008
Reply With Quote
  #4 (permalink)  
Old 04-14-2008, 05:52 AM
HT Slider
Guest
 
Posts: n/a
Default Time Drift

I decided I should wait and install the latest 0.9.6 before posting (I was running the beta 0.9.6).

Now that I'm running 0.9.6 and I've spent some time tweaking and improved the detection of dividers (either with SH mode on or using "manual" 45), I am finding I can't duplicate the same level of time drift.

Now I'm seeing a 2 second error in a 1 hour recording. Note that this is not the same HD recording I was testing with previously.

Here is the log from the recording with the 2 second drift. This show is 1:04:55 in length according to the file properties and this is the same duration when I watch it in Media Center

Show Analyzer indicates that the last segment of show stops at 1:04:56.726:

This log created by ShowAnalyzer v0.9.6
04:16:35(0) Setting path to: "e:\recorded tv\Fire NUMB3RS_CIIIDT_11_04_2008_21_58_01.dvr-ms"
04:16:36(0) The Automatic Profile Selection indicated that the "HD Channels" profile should be used.
Start Time End Time Length Divider AR EP Captions Score Verdict Debug Bits
-----------------------------------------------------------------------------------------------------------------------
0:00:00.000 0:01:15.708 0:01:15.725 START OF VIDEO 1.79772 0 UNKNOWN 20 Comm 000100000000 100000
0:01:15.725 0:01:18.812 0:00:03.103 BLANK FRAME 1.79659 0 UNKNOWN 20 Comm 000100000100 010000
0:01:18.828 0:01:57.200 0:00:38.388 BLANK FRAME 1.36842 0 UNKNOWN 20 Comm 000100000010 010000
0:01:57.217 0:01:59.052 0:00:01.851 BLANK FRAME -1.#IND 0 UNKNOWN 40 Comm 010100000100 010000
0:01:59.068 0:05:30.313 0:03:31.261 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:05:30.329 0:05:40.490 0:00:10.176 BLANK FRAME 1.72943 0 UNKNOWN 60 Comm 010100010000 100000
0:05:40.506 0:06:10.453 0:00:29.963 BLANK FRAME 1.5475 0 UNKNOWN 40 Comm 000101000000 010000
0:06:10.470 0:07:10.546 0:01:00.093 BLANK FRAME 1.36895 0 UNKNOWN 40 Comm 000101000000 010000
0:07:10.563 0:07:40.543 0:00:29.996 BLANK FRAME 1.36752 0 UNKNOWN 40 Comm 000101000000 010000
0:07:40.560 0:07:55.558 0:00:15.015 BLANK FRAME 1.48113 0 UNKNOWN 80 Comm 010101000000 010000
0:07:55.575 0:17:44.430 0:09:48.871 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:17:44.446 0:18:44.873 0:01:00.443 BLANK FRAME 1.3661 0 UNKNOWN 40 Comm 000101000000 100000
0:18:44.890 0:18:59.955 0:00:15.081 BLANK FRAME 1.367 0 UNKNOWN 40 Comm 000101000000 010000
0:18:59.972 0:19:44.967 0:00:45.011 BLANK FRAME 1.3661 0 UNKNOWN 40 Comm 000101000000 010000
0:19:44.983 0:20:45.060 0:01:00.093 BLANK FRAME 1.367 0 UNKNOWN 40 Comm 000101000000 010000
0:20:45.077 0:20:55.037 0:00:09.976 BLANK FRAME 1.35989 0 UNKNOWN 30 Comm 000100010000 010000
0:20:55.053 0:21:10.035 0:00:14.998 BLANK FRAME 1.3547 0 UNKNOWN 80 Comm 010101000000 010000
0:21:10.052 0:24:01.673 0:02:51.638 BLANK FRAME 1.79772 1 UNKNOWN 2 Show 000011000000 000001
0:24:01.690 0:29:08.596 0:05:06.923 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:29:08.613 0:29:38.593 0:00:29.996 BLANK FRAME 1.80639 0 UNKNOWN 80 Comm 010101000000 100000
0:29:38.610 0:30:38.686 0:01:00.093 BLANK FRAME 1.36842 0 UNKNOWN 40 Comm 000101000000 010000
0:30:38.703 0:30:53.735 0:00:15.048 BLANK FRAME 1.37037 0 UNKNOWN 40 Comm 000101000000 010000
0:30:53.751 0:32:08.693 0:01:14.958 BLANK FRAME 1.79772 0 UNKNOWN 30 Comm 000100010000 010000
0:32:08.710 0:43:25.853 0:11:17.159 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:43:25.869 0:43:35.963 0:00:10.110 BLANK FRAME 1.34851 0 UNKNOWN 60 Comm 010100010000 100000
0:43:35.980 0:44:35.989 0:01:00.026 BLANK FRAME 1.35897 0 UNKNOWN 40 Comm 000101000000 010000
0:44:36.006 0:46:46.136 0:02:10.146 BLANK FRAME 1.367 0 UNKNOWN 2 Show 000100000001 000001
0:46:46.153 0:59:00.336 0:12:14.200 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:59:00.353 1:00:07.754 0:01:07.417 BLANK FRAME 1.35897 0 UNKNOWN 20 Comm 000100000010 100000
1:00:07.770 1:00:37.817 0:00:30.063 BLANK FRAME 1.37037 0 UNKNOWN 40 Comm 000101000000 010000
1:00:37.834 1:01:22.512 0:00:44.694 BLANK FRAME 1.77306 0 UNKNOWN 80 Comm 010101000000 010000
1:01:22.528 1:02:02.735 0:00:40.223 BLANK FRAME 1.367 0 UNKNOWN 30 Comm 000100010000 010000
1:02:02.752 1:04:56.709 0:02:53.973 BLANK FRAME 1.35897 0 UNKNOWN 2 Show 000100000001 000001
1:04:56.726 1:04:56.726 0:00:00.000 -1.#IND -1 UNKNOWN 10 Show 000000000000 000000
04:40:23(0) Final results:
Commercial? Start End Length
-------------------------------------------------------------------
Commercial 0:00:00.000 0:01:59.085 0:01:59.085
Show 0:01:59.102 0:05:30.413 0:03:31.311
Commercial 0:05:30.430 0:07:55.858 0:02:25.428
Show 0:07:55.875 0:17:44.696 0:09:48.821
Commercial 0:17:44.713 0:21:10.736 0:03:26.022
Show 0:21:10.752 0:29:08.630 0:07:57.877
Commercial 0:29:08.646 0:32:08.910 0:03:00.263
Show 0:32:08.927 0:43:25.919 0:11:16.992
Commercial 0:43:25.936 0:44:36.073 0:01:10.136
Show 0:44:36.090 0:59:00.553 0:14:24.463
Commercial 0:59:00.570 1:02:04.837 0:03:04.267
Show 1:02:04.854 1:04:56.726 0:02:51.871
Reply With Quote
  #5 (permalink)  
Old 04-14-2008, 10:12 AM
Jere_Jones's Avatar
Administrator
 
Join Date: Apr 2008
Posts: 2,020
Jere_Jones has disabled reputation
Default

Digging in to the code some more, I found that in program streams and transport streams, I zero the timescale based on the first video time stamp. In ASF streams, I zero the timescale based on the first time stamp irregardless of type. I have changed this to use video only. Would you like to try it?

Jere
__________________
DEATH TO ALL COMMERCIALS
Latest Stable: ShowAnalyzer 1.0.59 - 8 Feb 2010
Latest: DirMon2 Beta 0.6.4 - 8 May 2008
Reply With Quote
  #6 (permalink)  
Old 04-14-2008, 01:58 PM
HT Slider
Guest
 
Posts: n/a
Default

Quote:
Originally Posted by Jere_Jones View Post
Digging in to the code some more, I found that in program streams and transport streams, I zero the timescale based on the first video time stamp. In ASF streams, I zero the timescale based on the first time stamp irregardless of type. I have changed this to use video only. Would you like to try it?

Jere
More than happy to.
Reply With Quote
  #7 (permalink)  
Old 04-14-2008, 11:41 PM
HT Slider
Guest
 
Posts: n/a
Default

I tried the beta 0.9.7 and compared the detection results to 0.9.6. In every case the commercials were detected in exactly the same location.

I also analyzed several different 1 hour HD shows using several different settings. Here is what I found (with 0.9.6 and 0.9.7):

- Scanning HD content using default settings: drift of between 1 seconds to 2 seconds per hour (and very poor detection - unusable with my particular HD content). [Note that with 0.9.5 (and possibly the 0.9.6 beta), there were two recordings (one 720p, one 1080i) that had a 6 second drift per hour (18 seconds for the 3 hour movie), but unfortunately I seem to have annoyingly deleted (or auto-deleted) both recordings so I couldn't compare 0.9.6 and 0.9.7 with the same content.]

- Scanning HD content using manual preselector, 35: drift of 1 second per hour (decent detection, but still missing some shows)

- Scanning HD content using SH mode, percentage preselector, 35: drift of 2 seconds per hour (but very poor detection)

- Scanning HD content using SH mode, percentage preselector, 60: drift of 2 seconds per hour (with very good detection, but still not perfect - missing one commercial per show typically)

From the above with the latest releases, it can be seen that SH mode seems to create an additional 1 second offset.

The last setting above is how I currently have SA configured but the 2 second drift is both noticeable and an issue when using DVRMSToolbox (difficult to replay back a little after it autoskips too far - DVRMSToolbox keeps "re-skipping"). Note that the extra second when comparing the SH mode vs non-SH mode can be seen in the log file results also (not just the commercial location, but also the length of the show).

One thing I notice is a good portion of the drift seems to occur right off the bat (first commercial skipped). I was also considering some of the blame might be on DVRMSToolbox for skipping late, but when checking the duration of the show and comparing it to the SA log files I can see that there is a discrepancy within the Show Analyzer results. Also, when I manually edit the XML files, DVRMSToolbox's skips now line up with the actual commercials.

Is there a way I can configure Show Analyzer to create xml files where the start of each commercial is padded by "-1 seconds" and the end of each commercial is padded by "-2 seconds"?
Reply With Quote
  #8 (permalink)  
Old 04-14-2008, 11:57 PM
HT Slider
Guest
 
Posts: n/a
Default

BTW, I've just been fine tuning School House, tweaking the settings in order to get a 100% detection of all of the commercials in two particular troublesome 720p HD recordings.

The only way to pick up absolutely every single commercial and not any segment of the show was to make the following changes from default:

Force SchoolHouse Mode: Yes

Preselector Method: Manual (even with SH mode, no matter what threshold I tried, percentage always misses one commercial at the start of the 3rd set of commercials)

Preselector Threshold: 50 (60 still misses that one commercial, even with SH mode and manual)

LPIC: 95 (with the default some sections of the HD show ends up detected as a commercial)

I'm extremely impressed to be seeing a 100% accuracy in commercial detection with HD content. To be accurate, so far I've only tried 3 troublesome recordings, but I really think this is going to work for most recordings. Without School House mode Show Analyzer really struggled with HD content. After at least 10 hours worth of experimenting with settings (5 of that with 0.9.1) without SH mode, I gave up and will now always use School House mode for HD content.

Thank you for adding SH mode!

If we can deal with the 1-2 second drift this will be simply incredible!

I'm going to try the current settings on some HD movies and see how well they do and how much drift there is.
Reply With Quote
  #9 (permalink)  
Old 04-15-2008, 01:26 AM
Jere_Jones's Avatar
Administrator
 
Join Date: Apr 2008
Posts: 2,020
Jere_Jones has disabled reputation
Default

Can you clarify if this is drift or offset?

What I mean is, is every commercial offset by 1 or 2 seconds or does the error seem to drift upwards as the show goes on?

Jere
__________________
DEATH TO ALL COMMERCIALS
Latest Stable: ShowAnalyzer 1.0.59 - 8 Feb 2010
Latest: DirMon2 Beta 0.6.4 - 8 May 2008
Reply With Quote
  #10 (permalink)  
Old 04-15-2008, 02:45 AM
HT Slider
Guest
 
Posts: n/a
Default

Bad news. I've now discovered that depending on the channel recorded, there can be different and significant "drift" and/or "offsets".

I'll examing this file a little more and post back, but I've just tried to watch Monster Garage, recorded from Discovery HD. Even the very first commercial is way off and by the end of the show the error is huge.

If I look at the file properties in Microsoft's Explorer, it says the recording has a length of 1:04:54. Also when I play the show in Media Center it does end at 1 hour, 4 minutes and 54 seconds (at least according to the progress bar in Media Center).

Looking at the log file from Show Analyzer, the last segment of the show is supposed to end at 1:05:24.236. This is a full 30 seconds past the end of the show. As you can probably guess, the commercial skipping doesn't exactly work very well...

One thing I do want to do is examine the recording a little and make sure that there isn't some sort of glitch in the recording itself. I'll post back with information on that, but for now, here is a portion of the recording log:

This log created by ShowAnalyzer v0.9.7
01:48:50(0) Setting path to: "e:\recorded tv\Fire Monster Garage_TDCHD_14_04_2008_21_58_01.dvr-ms"
01:48:51(0) The Automatic Profile Selection indicated that the "HD Channels" profile should be used.
Start Time End Time Length Divider AR EP Captions Score Verdict Debug Bits
-----------------------------------------------------------------------------------------------------------------------
0:00:00.000 0:01:49.876 0:01:49.893 START OF VIDEO 1.79772 0 UNKNOWN 20 Show 000100000000 000001
0:01:49.893 0:01:52.378 0:00:02.502 BLANK FRAME -1.#IND 0 UNKNOWN 40 Comm 010100000100 100000
0:01:52.395 0:02:02.405 0:00:10.026 BLANK FRAME 1.79772 0 UNKNOWN 30 Comm 000100010000 010000
0:02:02.422 0:02:12.599 0:00:10.193 BLANK FRAME 1.79772 0 UNKNOWN 30 Comm 000100010000 010000
0:02:12.615 0:04:14.837 0:02:02.238 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:04:14.854 0:14:27.866 0:10:13.029 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:14:27.883 0:14:33.022 0:00:05.155 BLANK FRAME 1.50078 0 UNKNOWN 60 Comm 010100010000 100000
0:14:33.038 0:15:03.152 0:00:30.130 BLANK FRAME 1.35135 0 UNKNOWN 80 Comm 010101000000 010000
0:15:03.168 0:15:33.666 0:00:30.513 BLANK FRAME 1.79772 0 UNKNOWN 40 Comm 000101000000 010000
0:15:33.682 0:16:04.179 0:00:30.513 BLANK FRAME 1.35755 0 UNKNOWN 80 Comm 010101000000 010000
0:16:04.196 0:23:28.640 0:07:24.460 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:23:28.657 0:23:58.970 0:00:30.330 BLANK FRAME 1.72172 0 UNKNOWN 80 Comm 010101000000 100000
0:23:58.987 0:24:31.369 0:00:32.399 BLANK FRAME 1.68421 0 UNKNOWN 40 Comm 010100000010 010000
0:24:31.386 0:25:01.900 0:00:30.530 BLANK FRAME 1.79516 0 UNKNOWN 40 Comm 000101000000 010000
0:25:01.917 0:28:13.058 0:03:11.157 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:28:13.074 0:30:05.553 0:01:52.495 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:30:05.570 0:30:20.718 0:00:15.165 BLANK FRAME 1.35989 0 UNKNOWN 80 Comm 010101000000 100000
0:30:20.735 0:30:52.033 0:00:31.314 BLANK FRAME 1.37037 0 UNKNOWN 40 Comm 010100000010 010000
0:30:52.050 0:31:22.397 0:00:30.363 BLANK FRAME 1.36273 0 UNKNOWN 80 Comm 010101000000 010000
0:31:22.413 0:31:52.860 0:00:30.463 BLANK FRAME 1.69258 0 UNKNOWN 80 Comm 010101000000 010000
0:31:52.877 0:37:29.814 0:05:36.953 BLANK FRAME 1.79516 1 UNKNOWN 0.1 Show 000010000001 000001
0:37:29.830 0:37:34.952 0:00:05.138 BLANK FRAME 1.74317 0 UNKNOWN 60 Comm 010100010000 100000
0:37:34.969 0:38:06.067 0:00:31.114 BLANK FRAME 1.80603 0 UNKNOWN 40 Comm 010100000010 010000
0:38:06.083 0:38:36.530 0:00:30.463 BLANK FRAME 1.79772 0 UNKNOWN 40 Comm 000101000000 010000
0:38:36.547 0:39:06.894 0:00:30.363 BLANK FRAME 1.35562 0 UNKNOWN 80 Comm 010101000000 010000
0:39:06.911 0:49:54.975 0:10:48.080 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:49:54.992 0:50:00.113 0:00:05.138 BLANK FRAME 1.47312 0 UNKNOWN 60 Comm 010100010000 100000
0:50:00.130 0:50:31.862 0:00:31.748 BLANK FRAME 1.34758 0 UNKNOWN 40 Comm 010100000010 010000
0:50:31.878 0:51:02.192 0:00:30.330 BLANK FRAME 1.36752 0 UNKNOWN 80 Comm 010101000000 010000
0:51:02.209 0:52:02.619 0:01:00.427 BLANK FRAME 1.79772 0 UNKNOWN 40 Comm 000101000000 010000
0:52:02.636 0:52:13.413 0:00:10.794 BLANK FRAME 1.79772 0 UNKNOWN 30 Comm 000100010000 010000
0:52:13.430 0:57:32.715 0:05:19.302 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
0:57:32.732 1:02:13.513 0:04:40.797 BLANK FRAME 1.79772 0 UNKNOWN 2 Show 000100000001 000001
1:02:13.529 1:02:24.407 0:00:10.894 BLANK FRAME 1.79915 0 UNKNOWN 30 Comm 000100010000 100000
1:02:24.424 1:02:34.667 0:00:10.260 BLANK FRAME 1.79772 0 UNKNOWN 30 Comm 000100010000 010000
1:02:34.684 1:05:24.236 0:02:49.569 BLANK FRAME 1.79772 1 UNKNOWN 0.1 Show 000010000001 000001
1:05:24.253 1:05:24.253 0:00:00.000 -1.#IND -1 UNKNOWN 10 Show 000000000000 000000
02:13:53(0) Final results:
Commercial? Start End Length
-------------------------------------------------------------------
Show 0:00:00.000 0:14:27.933 0:14:27.933
Commercial 0:14:27.950 0:16:04.513 0:01:36.563
Show 0:16:04.530 0:23:28.790 0:07:24.260
Commercial 0:23:28.807 0:25:02.284 0:01:33.476
Show 0:25:02.300 0:30:05.637 0:05:03.336
Commercial 0:30:05.653 0:31:53.227 0:01:47.574
Show 0:31:53.244 0:37:29.897 0:05:36.652
Commercial 0:37:29.914 0:39:07.261 0:01:37.347
Show 0:39:07.278 0:49:55.042 0:10:47.763
Commercial 0:49:55.058 0:52:13.663 0:02:18.605
Show 0:52:13.680 1:05:24.253 0:13:10.573
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

LinkBacks (?)
LinkBack to this Thread: http://www.dragonglobal.biz/forums/showanalyzer-beta/731-time-drift-between-commercial-detection-playback.html
Posted By For Type Date
Time drift between commercial detection and playback - Dragon Global Forums This thread Refback 04-21-2008 10:27 PM

Similar Threads
Thread Thread Starter Forum Replies Last Post
Is it time for SA to support another codec? Jere_Jones ShowAnalyzer Beta 29 07-26-2008 07:40 PM
Detecting Last Time Drive Was Accessed joe123 DirMon Discussion 4 02-05-2007 04:28 PM
commercials are cut most of the time davcra50@hotmail.com ShowAnalyzer Beta 1 11-18-2006 09:41 PM
Show Analyzer locks up my machine every time trpenner ShowAnalyzer Beta 7 12-04-2005 06:46 PM
Wrong edge profile every time reboot ShowAnalyzer Beta 9 08-19-2005 10:58 PM


All times are GMT -4. The time now is 03:33 PM.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0