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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2010, 11:25   #1
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию Захват видео с веб-камеры

Довольно таки актуальная проблема. По сути я уже нашел кучу исходников, но у меня такая проблема, моя камера видимо передает не 24х битное изображение, а 16. Вот и хотелось бы узнать другие способы захвата видео с веб-камеры.
alexprey вне форума Ответить с цитированием
Старый 01.06.2010, 13:08   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ну и... телепатируйте чем пробовали захват делать ...и вообще-то формат задается при настройках при программном захвате, вперед к изучению методов avicap32 или directshow/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 01.06.2010, 13:16   #3
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

raxp, я вообще про avicap32 узнал только седня. Может наталкнешь меня на что нибудь? Или подскажи. Ну вот я встречал везде вот это. Подскажи тогда что тут исправить, чтобы читалось. пробовал исправить условие, но меня выкидывало с ошибкой
---------------------------
Application Error
---------------------------
Exception EAccessViolation in module XCam.exe at 0004C72F.

Access violation at address 0044C72F in module 'XCam.exe'. Read of address 01347000.


---------------------------
ОК
---------------------------
Код:
function FrameCallback(hWnd: HWND; lpVHdr: PVIDEOHDR): DWORD; stdcall;
type
  TByteArray = array [0..1] of Byte;
  PByteArray = ^TByteArray;
var
  i, j   : Integer;
  sum    : Single;
  status : TCapStatus;
  str    : string;
begin
  Result := 0;
  SendMessage(h_cam, WM_CAP_GET_STATUS, SizeOf(status), Integer(@status));
  if (status.uiImageWidth > 640) or (status.uiImageHeight > 480)
   or ((lpVhdr.dwBytesUsed div (status.uiImageWidth * status.uiImageHeight)) <> 3) then
  begin
    TextOut(DC, 0,  0, 'Размер изображение не должен превышать 640х480 пикселей', 55);
    TextOut(DC, 0,  16, 'Изображение должно быть 24 битным', 33);
    Exit;
  end;
...
end;
alexprey вне форума Ответить с цитированием
Старый 01.06.2010, 14:06   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

xcam достаточно подробно закомментирован, поэтому взгляните внимательней на инициализацию и настройку буфера перед коннектом ...к >>> примеру <<<
Цитата:
но у меня такая проблема, моя камера видимо передает не 24х битное изображение, а 16
совсем не факт, производитель мог напихать что-нибудь экзотическое (к примеру, axis этим страдают) и обычными универсальными методами (тот же directshow) так просто не достучишься, тогда приходиться искать SDK для софта.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 01.06.2010, 15:38   #5
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

Ну пытался я менять эти настройки, толку чето не нашел.
alexprey вне форума Ответить с цитированием
Старый 01.06.2010, 16:02   #6
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

Ладно вот вопрос не по теме. Скачал я DSPack (вроде говорят через него тоже как то можно грабить видео). Скомпилировал все 3 пака. Начинаю устанавливать DSPackDesign_D7 и мне выдает ошибку
---------------------------
Error
---------------------------
Cannot load package 'DirectX9_D7.' It contains unit 'DXTypes,'which is also contained in package 'DelphiX_for7'
---------------------------
OK
---------------------------
Как исправить?
alexprey вне форума Ответить с цитированием
Старый 01.06.2010, 16:05   #7
alexprey
Форумчанин
 
Регистрация: 25.05.2010
Сообщений: 169
По умолчанию

хотя посмотрел я примеры и они тоже не работают. Выдают ошибку когда выбираю камеру
alexprey вне форума Ответить с цитированием
Старый 01.06.2010, 17:04   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

DSPack это оболочка над методами DirectShow, про него уже сказал, соответственно все вышесказанное относится и к dspack...
Код:
Скомпилировал все 3 пака. Начинаю устанавливать DSPackDesign_D7 и мне выдает ошибку
внимательно читать инструкцию по установке вместе с либой... у вас пути не прописаны.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 09.07.2010, 15:28   #9
Festil
Новичок
Джуниор
 
Регистрация: 09.07.2010
Сообщений: 1
По умолчанию

Можно ли с одного устройства видео захвата, к которому подключена 1-ая прога (обрабатывает с пом DirectShow), получить видео поток в другой программе?
Festil вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сложно ли самому получить видео с веб-камеры? TwiX Мультимедиа в Delphi 4 31.05.2010 17:45
Захват виде потока с веб камеры MaxDDT Фриланс 1 05.01.2010 21:08
Распознование лица с помощью веб камеры AndreyFreeman Мультимедиа в Delphi 5 28.09.2009 13:23
C#/C++ Захват видео с камеры через WiFi или Bluetooth yurban Общие вопросы C/C++ 2 02.10.2008 09:22