Синхронный захват видео с нескольких камер

Рейтинг: 3Ответов: 1Опубликовано: 30.09.2014

Вводные: есть несколько веб-камер. В Windows они представлены как Video Capture Sources.

Задача: получить синхронную (плюс-минус один кадр) запись видеопотоков в файлы. То есть нужно, чтобы файлы начинались синхронно и не разбегались по мере проигрывания.

Как я понимаю, при записи с нескольких камер для каждой камеры нужно построить свой граф захвата. Есть ли штатные средства в Directshow синхронизировать графы? Можно ли обеспечить синхронное начало записи для нескольких графов?

Если начало синхронизировать невозможно, то есть ли способы хотя бы узнать timestamp у первых кадров в каждой записи, чтобы потом вручную выровнять их по времени?

Ответы

▲ 1

Возможно поможет создание отдельного фильтра, имеющего входные и выходные пины видеопотоков равно по количеству последних. Этот фильтр должен пропускать кадры во врайтеры синхронно, то есть исключительно тогда, когда на всех входах будут готовы новые видеокадры. Возможно потребуется создать FIFO-буферы видеокадров для каждого из потоков, так как скорость захвата видео в одних может превышать скорость захвата в других.