Как синхронно воспроизвести несколько видеофайлов с помощью DirectShow?

Есть несколько видеофайлов (снималось одно событие с разных видеокамер). Я пытаюсь сделать видеоплеер для синхронного (вплоть до долей секунд) их воспроизведения на базе directshow. Поскольку я пишу на C#, использую библиотеку DirectShowLib-2005. Сейчас я запускаю их независимо друг от друга и через некоторое время они естественно рассинхронизируются. Существуют ли в Directshow инструменты, обеспечивающие синхронизацию графов? Если да то какие? Также буду благодарен если подскажите решение на базе других библиотек.


Ответы (1 шт):

Автор решения: Roman R.

И видео и аудио можно синхронизировать исключительно точно посредством использования собственной реализации часов и IReferenceClock интерфейса в частности.

Собственные часы передаются независимым графам и воспроизведение синхронизируется с часами. Вы же уже вольны корректировать ход этих часов как вам заблагорассудится.

→ Ссылка