Форум: "Media";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
ВнизКак получить каждый кадр с Web камеры в память? Найти похожие ветки
← →
AlexT1000 (2003-09-04 12:00) [0]просто как TBITMAPINFO или дамп памяти или в каком либо другом виде.
Кто сталкивался дайте пожалуйста кусочек кода
← →
pasha_676 (2003-09-04 12:41) [1]Каптуришь кадр и записываешь. Все прозрачно.
← →
Sapersky (2003-09-04 14:44) [2]http://delphimaster.net/view/8-1060930510/
← →
AlexT1000 (2003-09-04 15:15) [3]>> Sapersky у меня в системе нет указанного вами ActiveX компонента.
Есть еще варианты?
я тут выкопал такую ссылку в хелпе
{
VideoCallbackProc: Video Stream Callback Function
Called whenever a new frame is captured while streaming
Wnd: Application main window handle
VHdr: long pointer to VideoHdr struct containing captured
frame information
}
function VideoCallbackProc(WND :hWnd; VHdr:tVIDEOHDR):longint; stdcall;
fpVideoCallback := @VideoCallbackProc;
AVICapSM(WM_CAP_SET_CALLBACK_VIDEOSTREAM,0,longint(fpVideoCallback));
Якобы эта функция должна вызываться на каждом кадре . но она почемуто не вызывается. может кто знает почему?
но
← →
AlexT1000 (2003-09-04 15:22) [4]И еще . может я чего не понимаю и это разные вещи но сейчас у меня стоит камера ,которая подключается к отдельной плате.
а Web-камера подключается к USB -порту?
будет ли данный вызов работать с WEb камерой или это только для камер с отдельными платами?
CapHwnd := CapCreateCaptureWindowA("My Capture Window", ws_child or WS_Visible,
CapWinX, CapWinY, 160, 120, Handle, 0);
проясните ситуацию, пожалуйста
← →
pasha_676 (2003-09-04 17:10) [5]Все зависит от того, как может воспринимать система твое камеру, какие дрова и т.д.
Самый простой способ проверки на возможность работы через Windows API - запустить утилитку мелкомягких VidCap. Если она "видит" твою камеру - тады все окей. Так можно делать.
А вообще бросай API и попробуй покапаться со стороны DirectX. Сейчас у меня все работает через DSPack (www.progdigy.com). Однако если в составе к камере не идут WDM-дрова (как правило старые железки) - тогда дохлый номер.
← →
Smok_er (2003-10-04 13:03) [6]Вроде DSPack работает только с DirectX 9.0 Или я не прав?
← →
pasha_676 (2003-10-06 09:51) [7]
> Или я не прав?
Читай у них страницу.
← →
Smok_er (2003-10-06 11:04) [8]Ну прочитал и понял, что только с DirectX 9.0. Это так или я неправильно понял?
← →
pasha_676 (2003-10-06 14:11) [9]
> Это так или я неправильно понял?
Ты неправильно понял. Например там лежит версия 1.05.
← →
Smok_er (2003-10-06 14:36) [10]У меня кстати так и не получилось откомпилить ни один пример, который идет в поставке с версией 2.31.
НА компе установлен DIrectX 9
Может знаешь в чем траблы? Вылетают ошибки в DirectShow9.pas :(
← →
pasha_676 (2003-10-06 15:22) [11]Не знаю. Сейчас на 1.05 сижу. Но компилил. Работало. Вот только номер версии не помню (2 с хвостом).
← →
Smok_er (2003-10-06 15:52) [12]Поставил себе 1.05
На первый взгляд возможностей конечно поменьше чем в TVideoGrabber. Кстати, у тебя есть документация нормальная к этому компоненту?
← →
pasha_676 (2003-10-06 17:53) [13]Нет конечно. TVideoGraber не знаю что вообще. А 1.05 на самом деле обладает очень хорошими возможностями. Он почти вплотную близок к DirectShow. Во всяком случае потом с него без труда перешел на Direct(почти перешел, в связи с увольнением процесс затянулся).
Основная документация - DirectX SDK + примеры.
← →
Smok_er (2003-10-06 18:00) [14]А есть возможность у 1.05 выводить надпись поверх изображения? Сохранять картинки в различных форматах?
← →
misterix (2003-10-06 18:13) [15]AlexT1000
Да не мучайся ты. Поищи в инете, скорее всего на Тори, компонент
TVideoCap. Там все есть с примерами. Мы же Дельфи-программисты! Компоненты FOREVER!
← →
Smok_er (2003-10-06 18:23) [16]Я его уже видел.
Там много чего дорабатывать надо, сырой он еще :(
TVideoGrabber - rulez, но не могу найти свежие исходники :(
← →
pasha_676 (2003-10-07 09:55) [17]
> А есть возможность у 1.05 выводить надпись поверх изображения
Если не через Direct то хоть на кавасе рисуй. Через директ пожалуй можно интересней замутить (сам не пробывал).
> Сохранять картинки в различных форматах?
Фильтр и компанент SampleGraber. Пример есть.
> TVideoGrabber - rulez, но не могу найти свежие исходники
> :(
Ага. Только не дает хороший контроль над графами. Во всяком случае на ряде девайсов он у меня не заработал. Промежду прочим DSPack тоже компанент и тоже с примерами.
Компанеты хороши для скорости разработки, для качества и взаимодействия с системой однако не фигово знать и API и Direct.
← →
Smok_er (2003-10-07 10:03) [18]Блин, сейчас такое состояние, что хоть самому бери и пиши себе компонент...
← →
pasha_676 (2003-10-07 11:03) [19]
> Блин, сейчас такое состояние, что хоть самому бери и пиши
> себе компонент...
На самом деле в DirectShow все ужой сделано. Облекать все это в форму компанента (при наличии подробных описаний в SDK) нафиг не надо. На самом деле что надо - это написать статью с примерами на дельфине о том как это делать. Возможно надо остановиться на ключевых интерфейсах, а так же на интерфейсах ввода/вывода, настроек пинов фильтров и т.д. Возможно надо описать в трех вариантах - автоматическое построение графа, полуавтоматическое и ручное.
Что еще? А нуда. Как сграбить кадр изображения. Можно на примере SampleGraber фильтра.
Былоб время занялся бы этим. И сам бы голову в порядок привел и народу польза.
← →
Smok_er (2003-10-07 11:21) [20]Ну так если самому время себе не выкраивать, так оно никогда в жизни не появится. А это было бы действительно неплохим подспорьем как для начинающих в DirectX, так и "продолжающих".
← →
pasha_676 (2003-10-07 11:25) [21]
> Ну так если самому время себе не выкраивать, так оно никогда
> в жизни не появится.
Вообще-то был не плохой шанс выбить из начальства время на переделку всех моих прог на чистый Direct. Тогда бы время появилось. Но сейчас поздно. Увольняюсь.
← →
Smok_er (2003-10-07 11:32) [22]Ясно... А где можно скачать доки по DirectX, и по DirectShow в частности?
← →
pasha_676 (2003-10-07 11:42) [23]Ну давай тебя нагружу :).
Дока по ДиректХ имеется на том же progdigy. Ее качаешь. Суть справка. Там открываешь раздел по ДиректШоу. там надо читать разделы по фильтрам, а так же приводяться примеры на Си (по видеовходу тоже есть). В принцыпе довольно много инфы и в ней надо копаться.
Могу еще прислать на мыло пример с коментариями по воспроизведению AVI через Direct. А самое основное - надо понять, что все это суть связанные кубики. Просто в зависимости от ситуации ты берешь нужные кубики и из них лепишь.
Т.е. Чтобы воспроизвести что бы то ни было надо:
1)создать граф фильтров
2) добавить туда кубики фильтров
3) при необходимости произвести настройки в фильтрах и в их контактах
4) при необходимости соединить фильтры связями
5) отрендерить
6) вывести в нужную часть экрана
Чтобы лучше это прочюйствовать рекомендю поюзать Microsoft GraphEdit. После того как я с ним разобрался, я на практике понял как это работает. Качать его там же на progdigy.
← →
misterix (2003-10-07 11:49) [24]2Smok_er
Что значит сырой? Грабить грабит? Еще как. В битмап сохраняет? Запросто. Текст сверху можно нарисовать? А почему бы на битмапе текст не вывести?
← →
pasha_676 (2003-10-07 12:05) [25]
> Что значит сырой? Грабить грабит?
Хм. Давай скажем так. Не на всех девайсах у меня получалась с ним грабить. А c DSPack+не большие вкрапления DirectShow это получается. Не знаю как сейчас, но раньше этот компанет де факто просто строил автоматом фильтр от девайса в тупую. Не было возможности редактирования графа.
← →
Smok_er (2003-10-07 12:47) [26]pasha_676 © (07.10.03 11:42) [23]
Да вот качаю некую инфу с progdigy.com.
Дело в том, что мне нужно именно под DirectX 8.
misterix (07.10.03 11:49) [24]
Не, у меня было пару багов...
← →
pasha_676 (2003-10-07 13:10) [27]
> Дело в том, что мне нужно именно под DirectX 8.
В основе своей не отличается абсолютно. Изменения в основном каснулись 3D. Для начального изучения подойдет однозначно. Там все такое же должно остаться.
← →
Smok_er (2003-10-07 13:45) [28]Т.е. я могу написать прогу с использование 9-ой версии, а запустить потом на компе с 8-ой?
Интересно...
← →
pasha_676 (2003-10-07 14:59) [29]Конечно можешь. Ты слышал о СОМ технологии? Только надо использовать интерфейсы, которые есть и там и там. Вообще, кстати почитай о СОМ - базовый принцып не сложен, а больше чем базовый принцып в этой задачи и не нужен.
← →
Smok_er (2003-10-07 15:22) [30]Теперь ясно! Спасибо! Осталось только установить, у меня с этим траблы были.
← →
KIE (2003-10-12 23:17) [31]А вообще вот дока по теме : rcorp.boom.ru/ Жаль что нашел я её, когда все уже написал ...
← →
pasha_676 (2003-10-13 09:34) [32]Хорошая весЧЪ по VFW на АПИ, но все горе заключается в том, что многие производители уже практически не пишут дрова под VFW. WDM вытесняет.
Вот меннее фундаментальная, зато на дельфи :), по VFW
http://www.argc-argv.relc.com/1112_2001/video.php
И еще раз повторю - сейчас лучше отходить от VFW и сразу начинать писать под WDM (DirectShow).
← →
Анонимщик (2003-10-13 11:12) [33]Ну что, получилось?
У меня, кстати, тоже под восьмим сначала не пошло.
Во-первых, пришлось пару строк (не помню каких) в исходниках закомментировать. Если не компилируются, напиши, где именно, посмотрю у себя.
Во-вторых, бардак был с DirectX-драйверами. Попробовал запустить на "чистой" машине с только что установленным 8-ым directX, и все пошло. Потом и у себя все вышло.
Напиши, будь добр, о проблемах, а то все равно когда-нибудь может вылезти, так чтобы быть готовым.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.01 c