Возможно использовать что-то вроде virtual dub для первоначального захвата видео.
Обнаружение рекламы - это сочетание нескольких вещей:
Длительность объявления, как правило, кратна 5 секундам, поэтому предполагаемые начальная и конечная точки могут быть сопоставлены с этим (хотя могут различаться в разных странах).
Звук, как правило, полностью падает в точке перехода.
В то же время происходит пустая рамка или значительное изменение.
В зависимости от станции могут быть другие логотипы и вещи, которые вы можете обнаружить при запуске рекламы.
Очевидно, что не все эти вещи гарантированы, и вы, как правило, в конечном итоге выносите суждение, основанное на всех этих факторах, и получаете некоторую визуальную проверку на более позднем этапе.
Edit:
Чтобы найти внешний вид определенной рекламы, вам нужно будет сохранить в ней некоторую соответствующую информацию (как вы говорите, отпечаток пальца), например:
Длина объявления.
Уровни звуков, возможно, снятые в несколько моментов времени.
Информация о цвете, возможно, уровни rgb для начала, опять же, поскольку они различаются по всей рекламе.
Как комбинация этих вещей, вы можете придумать «кандидатов» на матчи, но ни в коем случае не со 100% точностью.