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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.06.2014, 23:01   #11
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
Вот к примеру я у себя открыл MPC-ом два видео...
возможно, вариант второй... т.к. первый вариант проверялся запуском моей проги, открывающей камеру через DSPack при малом разрешении камеры. ХР на машине стоит SP3, лицензионный.
Через Графстудию (версия 0.3.2.0) тоже попробовал(вроде тоже самое, что и графэдит), тот же неудовлетворительный эффект.
Последовательность моих действий:
1.Запустил прогу, использующую DirectShow (мою прогу, "проигрыватель Windows Media", пробовал еще LA, VLC(он возможно тоже DS использует), Skype), открыл видеопоток (камеру, либо файл *.AVI)
2. Запустил Графэдит (без параметров)
3. Нажал "File|Connect to remote graph..."
4. Открылся пустой список. Кнопку Refresh нажимал, не помогает.
Пробовал еще сначала запускать Графэдит, потом открывать файл или камеру, та же ерунда...
Пробовал отключать антивирус с фаерволлом, не помогло.
Nostra Sunt

Последний раз редактировалось Daemvil; 28.06.2014 в 23:04.
Daemvil вне форума Ответить с цитированием
Старый 29.06.2014, 12:14   #12
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
возможно, вариант второй... т.к. первый вариант проверялся запуском моей проги, открывающей камеру через DSPack при малом разрешении камеры.
а я вот проверил работу графстудии при открытии своей вебкамеры своей же утилитой обнаружения лиц в видеопотоке, делающей захват через DirectShow. Обертку DSPack не использую, использую интерфейсы DS напрямую. XP SP3 лицензия, авиря нет, полные права.

Графстудия успешно приконнектилась:
1.jpg

Цитата:
"проигрыватель Windows Media",
он не использует DS.

Цитата:
пробовал еще LA
зависит от режима. К нему коннектится успешно.

Цитата:
VLC(он возможно тоже DS использует),
у него встроенные кодеки, к системе он не лезет. Но в нем можно задействовать внешние кодеки.

Цитата:
Skype),
только встроенные.

p.s.: пока что мой вывод, что вариант все же первый, а не второй.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.06.2014, 19:58   #13
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
p.s.: пока что мой вывод, что вариант все же первый, а не второй.
Случайно наткнулся на свойство GraphEdit в компоненте FilterGraph пакета DSPack. Выставил его в true, и (о чудо!) в списке в графэдите появился граф моей проги. Видать, другие проги не предназначены для работы с Graphedit.....
Для 1600 на 1200:
https://www.dropbox.com/s/ygff4nll46vvwu7/graph.jpg
Может, есть какие-либо средства для обхода "защиты"?... Хотя не факт, конечно, что ScopePhoto использует DS. Любопытно, что в системе в списке веб-камер при этом ни одной камеры нет. Название камеры фигурирует в "устройствах обработки изображений" в диспетчере устройств. Пробовал через TWAIN, работает как-то сбойно, даже в ScopePhoto работает сбойно...
Nostra Sunt

Последний раз редактировалось Daemvil; 29.06.2014 в 20:27.
Daemvil вне форума Ответить с цитированием
Старый 29.06.2014, 20:15   #14
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TWAIN интерфейс изначально существует для таких устройств и является универсальным. Вот кстати TWAIN, как насчет него на разных разрешениях?

Попробуйте 'Описание API вызова библиотеки RA_SCAN_PRINT.DLL' с отключенным выводом на принтер https://sourceforge.net/projects/rascanprint
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.06.2014, 20:27   #15
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 56
По умолчанию

при подгрузке сохраненного графа в Графэдите с измененным разрешением на 3264х2448 разрывается автоматом связь:
https://www.dropbox.com/s/06sv6qiceq6iz57/graph2.png
При попытке снова соединить - выдает ту самую ошибку. Что-то ему тут не нравится...
Nostra Sunt
Daemvil вне форума Ответить с цитированием
Старый 29.06.2014, 21:24   #16
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Это ничего из вышесказанного не меняет.

1- доступ вообще не через DirectShow.
2- используется отличный от системного DS-фильтр, свой фильтр.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.06.2014, 23:36   #17
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
1- доступ вообще не через DirectShow.
2- используется отличный от системного DS-фильтр, свой фильтр.
1- через свои специфичные функции? (В папке с программой действительно куча непонятных библиотек)
2- он будет в списке предлагаемых фильтров в GraphEdit?
Nostra Sunt
Daemvil вне форума Ответить с цитированием
Старый 30.06.2014, 10:52   #18
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

1- да, вот вы к примеру упомянули twain, но далеко не факт что через него
2- не будет
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 30.06.2014, 12:46   #19
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 56
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
1- да, вот вы к примеру упомянули twain, но далеко не факт что через него
когда я писал, что через TWAIN работает сбойно - имел ввиду то, что этот метод часто вызывает исключения, не с 1 раза срабатывает бывает, плюс в 64-битных системах не заводится никак(точней библиотека ezTWAIN). В самом ScopePhoto разделение на две группы по работе с камерой: Twain и LiveCapture. Соответственно Twain работает в ScopePhoto так же криво.
Видимо, с этой камерой используется нестандартный фильтр, т.к. в папке с программой нашел вот такие заголовочные файлы с примером их использования на С++:
https://www.dropbox.com/s/zk3he8hhskv82ou/inc.zip
Если нетрудно, прошу ознакомиться и подтвердить/опровергнуть мои подозрения
Nostra Sunt

Последний раз редактировалось Daemvil; 30.06.2014 в 13:24.
Daemvil вне форума Ответить с цитированием
Старый 30.06.2014, 13:26   #20
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...возможно это вам и нужно для доступа, очень похоже на правду:
Код:
#ifndef __dcm800_h__
#define __dcm800_h__

#ifdef __cplusplus
extern "C" {
#endif
	// {7A3CFAFD-3168-4fa1-993A-11C024F2B00B}
	DEFINE_GUID(IID_IDcm800, 0x7a3cfafd, 0x3168, 0x4fa1, 0x99, 0x3a, 0x11, 0xc0, 0x24, 0xf2, 0xb0, 0xb);

	enum eDcm800Size{
		eDcm800Size_3264_2448,
		eDcm800Size_1600_1200,
		eDcm800Size_1280_960,
		eDcm800Size_1024_768,
		eDcm800Size_640_480
	};
	
	typedef void (__cdecl *PFUN_AutoWhiteBalanceCallback)(int RedGain, int GreenGain,
															int BlueGain, void* Context);

    DECLARE_INTERFACE_(IDcm800, IUnknown)
    {
		STDMETHOD(get_PreviewSize) (THIS_
					enum eDcm800Size* Dcm800Size
				) PURE;
				
		STDMETHOD(put_PreviewSize) (THIS_
					enum eDcm800Size Dcm800Size
				) PURE;
				
		STDMETHOD(get_StillSize) (THIS_
					enum eDcm800Size* Dcm800Size
				) PURE;
				
		STDMETHOD(put_StillSize) (THIS_
					enum eDcm800Size Dcm800Size
				) PURE;
				
		STDMETHOD(get_AutoExposure) (THIS_
					BOOL* bAutoExposure
				) PURE;
				
		STDMETHOD(put_AutoExposure) (THIS_
					BOOL bAutoExposure
				) PURE;

		STDMETHOD(get_ExposureTarget) (THIS_
					BYTE* Target
				) PURE;
				
		STDMETHOD(put_ExposureTarget) (THIS_
					BYTE Target
				) PURE;

		STDMETHOD(get_ExposureTime) (THIS_
					USHORT* Time
				) PURE;
				
		STDMETHOD(put_ExposureTime) (THIS_
					USHORT Time
				) PURE;

		STDMETHOD(put_AutoWB) (THIS_
					PFUN_AutoWhiteBalanceCallback,
					void* Context
					) PURE;

		STDMETHOD(get_Gain) (THIS_
					int* RGain, int* GGain, int* BGain
				) PURE;
				
		STDMETHOD(put_Gain) (THIS_
					int RGain, int GGain, int BGain
				) PURE;

		STDMETHOD(get_Gamma) (THIS_
					BYTE* Gamma
				) PURE;
				
		STDMETHOD(put_Gamma) (THIS_
					BYTE Gamma
				) PURE;
				
		STDMETHOD(get_Contrast) (THIS_
					BYTE* Contrast
				) PURE;
				
		STDMETHOD(put_Contrast) (THIS_
					BYTE Contrast
				) PURE;
				
		STDMETHOD(get_Saturation) (THIS_
					BYTE* Saturation
				) PURE;
				
		STDMETHOD(put_Saturation) (THIS_
					BYTE Saturation
				) PURE;

		STDMETHOD(get_VFlip) (THIS_
					BOOL* bVFlip
				) PURE;
				
		STDMETHOD(put_VFlip) (THIS_
					BOOL bVFlip
				) PURE;
				
		STDMETHOD(get_HFlip) (THIS_
					BOOL* bHFlip
				) PURE;
				
		STDMETHOD(put_HFlip) (THIS_
					BOOL bHFlip
				) PURE;

		STDMETHOD(get_LightFrquency) (THIS_
					BYTE* LightFrquency
				) PURE;
				
		STDMETHOD(put_LightFrquency) (THIS_
					BYTE Saturation
				) PURE;

		STDMETHOD(get_Speed) (THIS_
					BYTE* Speed
				) PURE;
				
		STDMETHOD(put_Speed) (THIS_
					BYTE Speed
				) PURE;

		STDMETHOD(get_AnalogGain) (THIS_
					USHORT* AnalogGain
				) PURE;
				
		STDMETHOD(put_AnalogGain) (THIS_
					USHORT AnalogGain
				) PURE;

		STDMETHOD(get_WhiteBlack) (THIS_
					BOOL* bWhiteBlack
				) PURE;
				
		STDMETHOD(put_WhiteBlack) (THIS_
					BOOL bWhiteBlack
				) PURE;
    };

	BOOL WINAPI IsDevicePresent();
	
#ifdef __cplusplus
}
#endif

#endif
Цитата:
используется нестандартный фильтр
он может лежать в виде *.AX файла, также может быть в ресурсах утилиты и выгружаться прямо в память без сохранения на диск.

p.s.: но судя по eDcm800Size_3264_2448 в заголовочнике решение найдено, контроль фильтра через интерфейс IID_IDcm800 и метод put_PreviewSize.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 30.06.2014 в 13:33.
raxp вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Камера opengl 2d gufon Мультимедиа в Delphi 1 09.03.2012 16:42
Камера DirectX sfok3 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.02.2012 21:05
Web камера TacoBell Общие вопросы C/C++ 8 01.10.2010 17:59
Web камера mas96 Компьютерное железо 2 24.09.2010 15:38
direct3d9. Камера. VC++. Crivel Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 08.07.2010 16:36