кодирование камеры с источником звука в реальном времени с помощью WMAsfWriter - проблема с дрожанием - PullRequest
1 голос
/ 15 сентября 2009

Я строю граф DirectShow, состоящий из моего фильтра захвата видео (захват экрана), фильтр аудио входа по умолчанию оба подключены через сплитер к выходному фильтру WM Asf Writter и к рендереру VMR9. Это означает, что я хочу записывать аудио / видео в режиме реального времени на диск вместе с предварительным просмотром. Проблема в том, что независимо от того, какой профиль WM я выберите (даже профиль с очень низким разрешением) выходной видеофайл всегда "дрожание" - каждые несколько кадров происходит задержка. Аудио в порядке - в аудио нет дрожания. Загрузка процессора низкая <10%, поэтому я считаю, это не проблема нехватки ресурсов процессора. Я думаю, что я время- штамповка моих кадров правильно. В чем может быть причина? </p>

Ниже приведена ссылка на видео рекордера, объясняющая проблему:

http://www.youtube.com/watch?v=b71iK-wG0zU

Спасибо Доминик Томчак

Ответы [ 2 ]

1 голос
/ 15 сентября 2009

У меня была эта проблема в прошлом. Ваша проблема в том, что объем данных записывается на диск . Запись на более быстрый диск - отличное и простое решение этой проблемы. Еще одна вещь, которую я сделал, это поместил видео компрессор в график. Вы должны убедиться, что оба входных потока используют одни и те же эталонные часы. У меня было много проблем с использованием этой схемы компрессора и сохранением хорошего предварительного просмотра. Частота кадров моего предварительного просмотра умирает, даже если я использую бесконечный тройник, а не умный, но результат, записанный на диск, был хорошим. Стоит также отметить, что чем больше зверя на машине, на которой я работал, тем меньше проблем, так что на самом деле он может не принести значительного выигрыша, если вам понадобится и то и другое, если вы вставите в машину новый более быстрый жесткий диск.

0 голосов
/ 17 сентября 2009

Я не думаю, что это проблема. Объем записанных данных составляет менее 1 МБ / с (средняя степень сжатия во время кодирования). Я нашел причину - когда я строю график без аудиовхода (у модуля записи WM ASF есть только точка ввода видеосигнала), и мой вывод видеозахвата подключается через Smart Tree для вывода предварительного просмотра и к входному выводу видеосигнала WM ASF, тогда не возникает никакого сбоя выходной фильм. Я считаю, что это проблема с синхронизацией аудио и видео в моем графике. То же самое происходит, когда я строю график в GraphEdit. Без звука нет глюка. Со звуком есть постоянный сбой каждые 1 с. Интересно, неправильно ли я ставлю метки времени, но думаю, что делаю это правильно. Каково общее решение для синхронизации аудио и видео на графиках DirectShow?

...