| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 и соответственно нет возможности просто взять и сравнить. Так что, если кто знает какие-нибудь компоненты или просто описание того, как использовать драйверы для сжатия видео, напишите. |