Re[2]: DirectShow проблемы со временем в графе?
От: NickViz Россия  
Дата: 31.10.11 15:49
Оценка:
Здравствуйте, AcidTheProgrammer, Вы писали:

ATP>Поблемма скорее всего в следующем: большинство драйверов для плат захвата выставляют времена семплов кое-как. В вашем случае карта захвата скорее всего всетаки дропает некоторые семплы времени от времени, а проставляет время тем которые уже попали в выходную очередь. Соответственно имеем реалный дроп, а по времени всё ок. Выход, только строгий таймкод, привязанный к саждому видео сэмплу.


Да нет же, источник — IP камера. выдаёт она по RTP свои семплы, которые уже мы проштамповываем временем графа.
дропов с камеры — нет. я по логу вижу, что она регулярно по 15 фреймов в секунду предоставляет. Проблемы появляются _только_ с течением времени и после определенного порога проявляются постоянно — т.е. каждую 1-2 секунды на экране дергается изображение (часть фреймов скипается) и сама картинка отстаёт от реальности на 1-2 секунды.

У нас было такое же для MJPEG — но там все фреймы ключевые и рендерер тупо ждал будущего, в результате фреймрейт падал до одного семпла в неск.секунд. Вылечили грязным хаком — обнуляли timestamp семпла. Попробовать тут тоже обнулять — но боюсь декодеру поплохеет или у нас внутри кто нибудь время спросит...

Может ли быть проблема в том что rtFinish для некоторых фреймов больше, чем rtStart для следующего (на 1-2 mS)?

"строгий таймкод" — это как? SetTime с текущим временем графа — достаточно строго ведь? или надо какое-то другое время надо ставить? timeGetTime()?

VMR7 откуда берет время? системы? или графа? в мсдне как-то туманно всё описано...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.