Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.10.2011, 22:13   #11
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
скорее уж драйвера совместимые с AVICAP32.
avicap32 - это использование технологии VFW, драйвер камеры не обязан ее поддерживать.

Вообще, современные "нормальные" камеры уже поддерживают UVC:
Цитата:
Cтандарт UVC (USB Video Class) – универсальный интерфейс для веб-камер, не требующий драйвера для начала работы. Этот стандарт «вписан» в операционные системы Windows XP и Windows Vista, Mac OS X и Linux Ubuntu и означает автоматическое распознавание устройства в системе. После подключения к компьютеру камера отобразится в панели «Мой компьютер» как «USB-видеоустройство», вам же останется лишь дважды кликнуть на значок левой кнопкой мыши и начать работу.
http://www.usb.org/developers/devcla..._Class_1_1.zip. К сожалению, в этой камере такой поддержки заявлено не было, может невинимательно смотрел.

...начните с использования DirectShow-технологии, SDK и примеры есть на мелкософте и http://directshow.wonderu.com с разделом закачек на полный DirectShow SDK.

Цитата:
так-с, на XE не удается поставить, требует уже скомпиленный DSUtil(или DSXUtil)
зачем вам DSPACK, это лишь обертка, пользуйте экспорты SDK DirectShow.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.10.2011, 22:21   #12
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
avicap32 - это использование технологии VFW, драйвер камеры не обязан ее поддерживать.
извиняюсь, но честно говоря, а хрен её знает, но не работает.

Цитата:
Вообще, современные "нормальные" камеры уже поддерживают UVC:
ну видимо, что у меня, что у девушки не настолько современные камеры
дрова требуют.
Цитата:
зачем вам DSPACK, это лишь обертка, пользуйте экспорты SDK DirectShow.
ну я и скачал уже, просто сначало пример нашел на DSPack, и так же нашел, что на XE можно поставить её(у меня Д6 и Д2009 улетели), вот и решил попытаться.

пробовать уже завтра наверно буду это все.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.10.2011, 13:22   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так-с, ну успешно вроде, теперь нужно научиться хапать кадры(это вроде нашел)
а вот с тем как это делать неотображая на форму(желательно вообще без формы), пока не разбирался, но скоро буду.
делал по этому примеру:
http://coder-blog.ru/?p=396

чтото не получается
убрав рендерер в окно, получаю что открывается внешнее окно куда уже рендериться видео, но мой Callback не срабатыает(думаю неверно подключил его).
Код:
procedure TForm1.Button1Click(Sender: TObject);
var MediaType: TAMMediaType;
begin
 if Listbox1.ItemIndex<0 then exit;
 if Succeeded(CoCreateInstance(CLSID_FilterGraph, NIL, CLSCTX_INPROC_SERVER,
                               IID_IGraphBuilder, FGraphBuilder1))
  then //Объект для графа фильтров
   if Succeeded(CoCreateInstance(CLSID_CaptureGraphBuilder2, NIL,
                                 CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2, FCaptureGraphBuilder1))
    then FCaptureGraphBuilder1.SetFiltergraph(FGraphBuilder1); //Задаем граф фильтров
 TIMonikerObject(ListBox1.Items.Objects[ListBox1.ItemIndex]).Obj.BindToObject(NIL, NIL, IID_IBaseFilter,FVCF);
 CoCreateInstance(CLSID_SampleGrabber, NIL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, FSGF);
 FSGF.QueryInterface(IID_ISampleGrabber, FSG);
 FillChar(MediaType, SizeOf(MediaType), 0);
 MediaType.majortype := MEDIATYPE_Video;
 MediaType.subtype := MEDIASUBTYPE_RGB24;
 FSG.SetMediaType(MediaType);
 FSG.SetBufferSamples(True);
 FSG.SetOneShot(false);
 FMG:=TMySampleGrabber.Create;
 FMG.OnData:=Self.Data;
 FSG.SetCallback(FMG, 0);
 FGraphBuilder1.AddFilter(FSGF, 'Sample Grabber');
 FGraphBuilder1.AddFilter(FVCF, 'VideoCaptureFilter'); //Получаем фильтр графа захвата
 CoCreateInstance(CLSID_NullRenderer, NIL, CLSCTX_INPROC_SERVER, IID_IBaseFilter, FNL);
 FGraphBuilder1.AddFilter(FNL, 'Null Renderer');
 FCaptureGraphBuilder1.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Video,
 FVCF, NIL, NIL);
 FGraphBuilder1.QueryInterface(IID_IMediaControl, FMediaControl1); //Запрашиваем интерфейс управления графом
 FMediaControl1.Run(); //Запускаем отображение предпросмотра с вебкамер
 Button1.Enabled:=false;
 Button2.Enabled:=true;
end;
рабочий вариант был по статье(ссыль ранее).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 30.10.2011 в 14:49.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перечисление внутри структуры Form_13 Помощь студентам 6 02.08.2011 13:38
использование avicap32.dll kuno Общие вопросы C/C++ 1 01.10.2010 15:53
Перечисление юзеров doniyor Работа с сетью в Delphi 5 24.01.2010 23:24
Почему не определяется конец файла? nazavrik Общие вопросы C/C++ 3 17.06.2009 20:53
Перечисление компонентов Zeraim Свободное общение 5 30.11.2008 20:20