Общий вопрос о DirectShow.NET, DirectShow и Windows Media Format - PullRequest
1 голос
/ 15 января 2011

Я искал и гуглил ответ, но не смог его найти.

В основном я разрабатываю приложение для веб-камеры / потокового аудио, которое должно захватывать аудио и видео с ПК (веб-камера / микрофон USB) иотправить их на принимающий сервер.Что сервер сделает с этим, это еще одна история и второй этап (который я сейчас пропускаю)

Я написал некоторый код, используя DirectShow и Windows Media Format, и он отлично работал для захвата аудио / видео и отправки ихдругому клиенту, но есть большая проблема: задержка.

Везде в Интернете все мне давали один и тот же ответ: «Извините, чувак, но формат мультимедиа не для видеоконференций, их кодеки имеют слишком большую задержку».Я думал, что мог бы пропустить проблемы .wmv, но кажется, что это невозможно сделать ... этот путь заканчивается здесь.

Так что я видел несколько примеров с DirectShow.NET, которые были быстрее для аудио и видео.. мой вопрос: почему DirectShow.NET быстрее и лучше для видео / аудио конференций?Разве это не должно быть просто переносом .NET DirectShow на C ++?

Я что-то упустил?Я немного запутался в этом моменте

1 Ответ

1 голос
/ 15 января 2011

Да, DirectShow.NET - это просто порт, обеспечивающий управляемые сопоставления для неуправляемого DirectShow. Windows Media действительно не идеален для малой задержки, но вы можете несколько смягчить ситуацию, выбрав правильный кодек / профиль, то есть низкоскоростную CBR и настройки . В конце концов, хотя это зависит от потребителя (в основном от Windows Media Player, Silverlight лучше ), сколько содержимого буферизуется перед отображением фрейма.

Короче говоря, короткие ограничения одинаковы для DirectShow.NET и DirectShow, и я сомневаюсь, что при использовании Windows Media задержка составит менее 2 секунд.

...