Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа с веб-камерой через usb [D7, Win2k, WinXP]


AS_dm ©   (2004-03-30 11:13:00) 

Здравствуйте.

Прошу поделиться опытом работы с веб-камерой из дельфи приложения.

Задача.
Необходимо обеспечить следующие действия по единственному нажатию на кпопку:
- сделать снимок
- перекачать его на компьютер
- засунуть jpeg-данные в поле
для последующего сохранения всех данный формы в БД.
Например, анкета с фотографией.

Какие API для этого использовать и где их найти?

Буду очень признателен за любую помощь.

Предлагаю (в случае положительного разрешения вопроса) разместить эту тему в общем faq.

С уважением,
 Алешин Александр.


Ozone   (2004-04-15 09:49:00) [1]

TO Rule ©[12]

Ну это смотря какая задача.
Мне например надо далать фото 10 раз сек. и отправлять на сервер по локальной сети. ИМХО, с помощью DirectX'a у меня получалось делать усе это максимум 2-3 раза в сек.

Может у Вас это работает быстрее?


Rule   (2004-04-14 17:20:00) [2]

Ozone ©   (09.04.04 11:43) [11]
Я думаю вопрос в скорости тут стоит менее важным, нежели удобности, функциональности, и практичности


Ozone   (2004-04-09 11:43:00) [3]

TO Rule ©[10]

Однако, быстрее все это работает через SendMessage (см. vfw.pas)


Rule   (2004-04-07 12:32:00) [4]

Пишу, я такое уже сделал, высылать код не могу, часть комерческого продукта, но есть хорошая библиотека работы с директиксами DSPack, котору можно найти и на тори и в других ресурсах, в нем есть все необходимые примера, продукт распростратяется бесплатно, как оупен сорс,
там есть конкретный пример как с веб камеры схватит видеопоток и сделать скриншот в тимайдж, а дельше в конвертацией в джпег и пиханием в базу я думаю вопросов не возникнет
Все намного проще чем кажется ;)


Аноним   (2004-04-07 11:48:00) [5]

Мне тоже интересно.


Ozone   (2004-04-05 10:41:00) [6]

TO AS_dm:
У Вас что-нибудь получилось? Как решили проблему?


Xavier   (2004-04-04 23:03:00) [7]

Поддерживаю Ozone.
Именнно DirectShow - данный набор интерфейсов предлагает и Capture не только Аудио но и Видеопотока. Подойдет гораздо лучше, чем VFW. Тем более, что последняя библиотека использует DirectShow.


Shurf   (2004-04-04 14:44:00) [8]

Действительно vfw.h (Video for Windows), невнимательно несколько писал. Спасибо!
Удачи!


Ozone   (2004-04-02 06:30:00) [9]

Только не wfv, а vfw(насколько я помню)


Shurf   (2004-04-01 21:35:00) [10]

Доброго времени суток!
Константы WM_CAP_* задаются в файле wfv.h (из MSDN) для работы с универсальным драйвером видеозахвата с помощью SendMessage().  Все эти константы определены изначально и вроде как тока они и могут использоваться с этим драйвером(только такие он и умеет отрабатывать). Соответственно, список их есть в MSDN или на том же torry.net можно найти переведенный wfv.h. А потом выделить необходимые тебе и работать с ними.
Удачи!


Ozone   (2004-03-30 20:12:00) [11]

Посмотри на www.torry.net - там были примеры.


AS_dm   (2004-03-30 14:32:00) [12]

Смотрел, но, как я понял, Direct Show - это инструмент для работы с видеопотоком и аудиоданными.
Но мне не нужны видеоданные или звук - только фото.
Есть готовые примеры?

Я нашел вариант с использованием WM_CAP_*.
Но никак не могу понять, как работает суммирование:

const
 WM_CAP_START = WM_USER;
 WM_CAP_DRIVER_CONNECT = WM_USER+10;
 WM_CAP_DRIVER_DISCONNECT = WM_USER+11;
и т.д.
довольно много подобных констант, которые задаются путем суммирования WM_USER с каким-то числом. Вот я никак и не могу понять, по какому принципу определяется это число.

Дополнительная подзадача (убить сразу двух зайцев):
Отработать такой механизм, который бы функционировал как в Дельфи так и в шестых оракловых формах.


Ozone   (2004-03-30 13:12:00) [13]

См. MSDN (Direct Show)


Наверх

Титульная страница Поиск, карта сайта Написать письмо