DirectShow C ++: неправильная длительность и Fps в результирующем avi-файле - PullRequest
0 голосов
/ 28 ноября 2011

У меня есть график DirectShow, как описано ниже: "File.mov" -> разделитель haali-> декодер ffdshow -> пользовательский фильтр-> avi Mux-> средство записи файлов (File.avi).

Fps исходного файла составляет 30 Fps (File.mov) и продолжительность составляет 6 секунд.

Поведение в приглашении: Когда я запускаю приложение в приглашении, я получаю файл с длительностью около 12 секунд и частотой кадров в 25 кадров. Что делается, так это то, что каждый кадр дублируется дважды.

Поведение в Graphedit Tools: Когда я запускаю тот же график в Graphedit, воспроизведение продолжается до тех пор, пока индикатор выполнения не заполнится, но никогда не останавливается (кнопка «Стоп» не меняется на серый). Если выполнить принудительную остановку с помощью кнопки «Стоп», File.avi автоматически удаляется с диска.

Спасибо за вашу помощь

1 Ответ

0 голосов
/ 29 ноября 2011

См. Обсуждение в Проблема записи DirectShow - fps

Формат файла avi не имеет временных рамок.Если частота кадров типа носителя, используемая для создания файла, не соответствует пройденным временным меткам, мультиплексор создаст метки пропущенных кадров.

G

...