Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Звук, графика и видео > Сжатие видео в реальном времени


Автор: ilyalyu 8.5.2007, 13:30
Задача такая: снимать изображение с вебкамеры, сжимать его и передавать через интернет. При этом естественно желательно добиться (1) наименьшей загрузки процессора, (2) наибольшей степени сжатия и (3) максимальной независимости от наличия или отсутствия у того или иного пользователя каких либо драйверов и вообще от конфигурации системы.

Cейчас я для снятия изображения использую TsCap32 (http://tscap32.sourceforge.net/). Изображение снимается покадрово в виде Bmp. Для сжатия Bmp я написал код, использующий косинусное преобразование по координатам и по времени. Сжатие получается где-то в 2-3 раза лучше чем MJPEG (точно сказать трудно, так как качество изображения я сравнивал на глаз). По загрузке процессора такая картина - на PentiumIII 667MGz получается одновременно передавать и получать 8 кадров в секунду размером 128*128 пиксель + работает виртуальная веб-камера. Больше не тянет.

Вопрос такой - есть ли перспективы по улучшению полученных параметров, насколько и каким способом.

Очевидная альтернатива - использовать какой-нибудь драйвер. Но мне так и не удалось разобраться, как ими пользоваться в Delphi и соответственно нет возможности просто взять и сравнить. Так что, если кто знает какие-нибудь компоненты или просто описание того, как использовать драйверы для сжатия видео, напишите.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)