Кодирование камеры с источником звука в реальном времени с помощью WMAsfWriter - проблема с дрожанием
Я строю граф DirectShow, состоящий из моего фильтра захвата видео (захвата экрана), фильтра входных аудиосигналов по умолчанию, подключенных через сплитер к выходному фильтру WM Asf Writter и к средству визуализации VMR9. Это означает, что я хочу записывать аудио / видео в режиме реального времени на диск вместе с предварительным просмотром. Проблема в том, что независимо от того, какой профиль WM я выберу (даже профиль с очень низким разрешением), выходной видеофайл всегда будет "дрожать" - каждые несколько кадров задерживается. Звук в порядке - в аудио нет дрожания. Загрузка ЦП низкая< 10%, поэтому я считаю, что это не проблема нехватки ресурсов ЦП. Я думаю, что я правильно ставлю метки на время. Что может быть причиной?
Ниже приведена ссылка на видеомагнитофон, объясняющая проблему:
http://www.youtube.com/watch?v=b71iK-wG0zU
Спасибо Доминик Томчак
2 ответа
У меня была эта проблема в прошлом. Ваша проблема в объеме данных, записываемых на диск. Запись на более быстрый диск - отличное и простое решение этой проблемы. Еще одна вещь, которую я сделал, это поместил видео компрессор в график. Вы должны убедиться, что оба входных потока используют одни и те же эталонные часы. У меня было много проблем с использованием этой схемы компрессора и сохранением хорошего предварительного просмотра. Частота кадров моего предварительного просмотра умирает, даже если я использую бесконечный тройник, а не умный, результат, записанный на диск, был хорошим. Стоит также отметить, что чем больше зверя, на котором я работал, тем меньше проблем, поэтому он может не принести значительного выигрыша, если вам понадобится и то и другое, если вы вставите новый более быстрый жесткий диск в машину.
Я не думаю, что это проблема. Объем записанных данных составляет менее 1 МБ / с (средняя степень сжатия во время кодирования). Я нашел причину - когда я строю график без аудиовхода (у устройства записи WM ASF есть только пинта видеовхода), и мой вывод видеозахвата подключается через Smart Tree к выводу предварительного просмотра и к входному выводу видеосигнала WM ASF, тогда не возникает никакого сбоя выходной фильм. Я считаю, что это проблема с синхронизацией аудио и видео в моем графике. То же самое происходит, когда я строю график в GraphEdit. Без звука нет глюка. С аудио есть постоянный сбой каждые 1 с. Интересно, неправильно ли я ставлю метки времени, но думаю, что делаю это правильно. Каково общее решение для синхронизации аудио и видео в графах DirectShow?