|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.02.2013, 12:32 | #1 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
Как сделать скриншот с вебкамеры с использованием DirectShow
всем привет.
подключаюсь к вебкамере через DirectShow. как сделать скриншот с камеры? в интернете читал, что это можно сделать с помощью ISampleGrabber. но не могу понять, как его правильно подцепить к графу и как, собственно, получить сам скриншот. DSpack не предлагать. Последний раз редактировалось BLACK_RAIN; 26.02.2013 в 13:08. |
26.02.2013, 14:56 | #2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
26.02.2013, 15:58 | #3 | |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
видимо, я не совсем точно сформулировал вопрос.
Цитата:
теория мне ясна. Создаем сэмплГраббер, задаем ему MediaType и цепляем его к GraphBuilder. мне не понятно, что писать на обработчике кнопки, чтобы получить скриншот. В какой переменной он придет и как например сохранить его в BMP? вот мой код: Код:
|
|
26.02.2013, 21:17 | #4 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
27.02.2013, 15:29 | #5 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
raxp
простите, но я всё-равно не могу уловить последовательность действий, которые должен сделать. сегодня утром копался в MSDN и нашел это: http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx из этого попытался сделать следующее. создаем GraphBuiler, фильтр захвата видео и SampleGrabber: Код:
Код:
Последний раз редактировалось BLACK_RAIN; 27.02.2013 в 17:14. |
27.02.2013, 18:34 | #6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...вот граббер из моего плеера (без каллбека):
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
27.02.2013, 19:17 | #7 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
raxp
Код:
Код:
p.s. Что за функция FreeMediaType()? У меня в делфи7 есть только MoFreeMediaType(). Это одно и то же? -------------------- переделал. экскепшн пропал, но теперь Код:
я же граббер к графу вроде цепляю и MediaType к грабберу тоже. почему тогда нот коннектед? Код:
я нашел ошибку! Result:=FCaptureGraphBuilder.Render Stream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Video, FVideoCaptureFilter, pGrabberF, NIL); я забыл сюда граббер вписать. но теперь появилась вообще не понятная хрень. Код:
без дебаггера то же самое. что это значит? Последний раз редактировалось BLACK_RAIN; 28.02.2013 в 16:20. |
28.02.2013, 16:47 | #8 |
Форумчанин
Регистрация: 13.02.2012
Сообщений: 867
|
ура!!!!! я всё сделал. Скриншот камеры есть. Всем спасибо!
если кто-то еще не может разобраться, пишите в личку. Скину исходник. а что же, всё-таки, не так с ZeroMemory? я заменил ее на New(). Так работает. Последний раз редактировалось BLACK_RAIN; 28.02.2013 в 21:15. |
16.08.2014, 18:54 | #9 |
Пользователь
Регистрация: 10.12.2010
Сообщений: 23
|
чет я так и не понял как тут личное сообщение написать, так что может тут ответите... проблема таже, въехать никак не могу... че в итоге нада писать в обработчике кнопки... и в каком месте цеплять граббер))) в общем растолкуйте подробнее если можно
|
14.10.2014, 23:15 | #10 |
Пользователь
Регистрация: 23.12.2009
Сообщений: 56
|
Доброго времени суток! Подскажите, пожалуйста, как через PIN_CATEGORY_STILL кадр снять? при использовании PIN_CATEGORY_STILL вместо PIN_CATEGORY_PREVIEW в стандартном коде, RenderStream выдает фэйл...
Nostra Sunt
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сделать скриншот в формате jpeg | egorzenit | Мультимедиа в Delphi | 22 | 12.02.2012 21:39 |
Как сделать скриншот определенной части экрана? | JonMagon | Помощь студентам | 11 | 13.05.2011 09:45 |
Не получается сделать скриншот C# | Ski1alec | C# (си шарп) | 5 | 24.01.2011 22:56 |
Помогите, нужень пример слайдера с использованием DirectShow | big_big | Мультимедиа в Delphi | 1 | 22.08.2009 09:49 |
как сделать скриншот | xakkkkker | Общие вопросы Delphi | 1 | 10.02.2008 15:24 |