Джиттер в частоте кадров источника видео - PullRequest
1 голос
/ 18 октября 2011

Приложение, написанное на C #, использует DirectShow для записи аудио + видео в файл AVI.Тем не менее, источник видео производит нестабильную частоту кадров.Например, при установке частоты кадров 24 к / с фактическая частота дрожит от 24 до 30 к / с.

Это приводит к проблеме синхронизации аудио / видео в результирующем файле AVI.

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

Как вы думаете, решение возможно?Любые другие решения этой проблемы?

Спасибо,Ури.

1 Ответ

2 голосов
/ 18 октября 2011

Контейнер AVI использует фиксированную частоту кадров, которую необходимо указать перед запуском файла. Кадр видео должен соответствовать частоте кадров, или они могут быть отброшены (кадр нулевой длины), если данных недостаточно. В результате формат AVI не так хорош для видео с переменной частотой кадров.

Варианты для вас:

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