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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2010, 00:41   #1
Jacobson
Пользователь
 
Аватар для Jacobson
 
Регистрация: 26.01.2010
Сообщений: 47
Сообщение Параллельное использование видео устройства

Здравствуйте! Хочу задать, хотя даже перенести вопрос из одной категории в другую, если можно так сказать... Как я уже говорил, но в другом разделе, "Форума", есть "Видео устройство", к примеру обыкновенная "Веб-Камера". Так же имеется мною написанная, небольшая программа для получения данных с "Видео устройства" в моём случаи, "Веб-Камера"! А, так же есть установленное программное обеспечение для той же цели, от производителя, "Веб-Камеры"! И у меня есть такой вопрос, каким образом можно реализовать параллельную работу этих программ с одним и тем же "Видео устройством"? Если быть более точным, необходимо понять как можно реализовать параллельное принятие данных с одного и того же "Видео устройства"! Интересует не перехват полученных данных, от одной программы к другой с "Видео устройства"! А, так что бы работа одной программы не мешала работе другой! С радостью выслушаю или правильнее будет сказать, прочитаю любые отзывы на мой вопрос.
P.S: Я уже изрядно давно ищу реализацию данного метода... Но, пока не нашёл не на одном высококоуровневом, языке программирования. Хотя возможно, можно реализовать подобный метод на языке программирования, "Assembler"! Если таки не удастся найти примеров на высококоуровневом, языке программирования? Тогда я думаю придётся обращаться к истокам! И заняться низкоуровневым программированием, после чего попробовать перевести на язык более высокого уровня...
Всё не то чем кажется...

Последний раз редактировалось Jacobson; 19.05.2010 в 00:44.
Jacobson вне форума Ответить с цитированием
Старый 19.05.2010, 01:07   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...это можно реализовать на уровне драйвера и использования directshow- надстройки, а именно - wdm драйвер устройства от производителя должен обеспечивать неисключительный немонопольный доступ, а таким счастьем огорошить пользователя мало-кто из производителей удосуживается ...тем не менее, такая программка-драйвер существует от стороннего разработчика, называется она - VirtualCam, упоминание о ней ...собственно, в вашей первой теме на форуме ссылку на архив с ней выкладывал/

>>> также есть виртуальный видеосплиттер - SplitCam, более совершенный/

P.S.: если вы готовы писать свой драйвер, то вам дорога "грызть умные книжки" и качать DDK от мелкософта.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 21.05.2010, 07:16   #3
Jacobson
Пользователь
 
Аватар для Jacobson
 
Регистрация: 26.01.2010
Сообщений: 47
По умолчанию

Хм... Большое спасибо за подсказку, так сказать! Судя из ваших слов выбор у меня умеренный. Хотя использование уже готового программного обеспечения честно сказать меня не интересует... Но, согласитесь куда более интереснее и лучше создать что-то своё, верно?
А, вот на счёт написание собственного "Драйвера" для "Видео устройства"... Хм... Вот в этом я как раз и заинтересован! Всё же как я уже говорил создать что-то своё будет интереснее и надёжнее, всё же когда ты знаешь с чем работаешь дело идёт быстрее и проще! Хотя лично я не думаю что написание собственного "Каркасного драйвера устройства" будет лёгким и шуточным занятием... Лично я ещё не имел дела с написание "Драйверов" такого рода на языке программирования, "Delphi". Но, тут же вы верно подметили! Мне необходимо доскональна ознакомиться с специально ориентированной литературой и надолго засесть за инструменты разработки! Вот на счёт литературы я бы и хотел у вас узнать, если конечно вы не против...
P.S: Вообще мне было бы очень интересно что бы вы мне посоветовали?
Всё не то чем кажется...

Последний раз редактировалось Jacobson; 21.05.2010 в 07:18.
Jacobson вне форума Ответить с цитированием
Старый 21.05.2010, 09:30   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...по написанию драйверов по шаблону, не углубляясь особо в механизмы, можете использовать ПО WinDriver, там и sdk есть и русский help можно найти при желании ...ну и есстественно углубитесь в DirectShow, тут литературы немеряно ...насчет последнего могу добавить, что через DS можно создать прослойку, которая монопольно будет работать с вебкой, а сама прослойка будет своего рода DS устройством, которое и будут находить остальные программы.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 21.05.2010 в 09:32.
raxp вне форума Ответить с цитированием
Старый 22.05.2010, 00:43   #5
Jacobson
Пользователь
 
Аватар для Jacobson
 
Регистрация: 26.01.2010
Сообщений: 47
По умолчанию

Ага, понятно... Большое вам спасибо за ответ! Но, дайте мне немного подумать... Хм... Я соглашусь с вами что создание "Драйвера" по уже заготовленному исходному коду, "Шаблону" будет весьма элементарным способом! А, уже потом если будет желание и достаточные знания, можно будет углубиться на много глубже... Вообще создание "Драйверов" это очень интересная тема и область в тематике программирования! В любом случаи я буду рассматривать данный вариант, поскольку самому это очень интересно. Но, ещё меня заинтересовали ваши слова на счёт программы, "Прослойки"! Должен сказать очень интересно... Если я вас правильно понял? Данная программа будет являться специальным, "Мультимедийным каркасным интерфейсом" который будет работать с "Веб-Камерой". Ну и как я понимаю, как раз таки, и реализует возможность одновременного использования одной "Веб-Камеры" сразу несколькими приложениями... Надеюсь я вам правильно понял и так же изложил всё в своих словах? А, вообще мне было бы очень любопытно узнать от вас о этой технологии, "Прослойки"!
P.S: Очень вы меня заинтересовали данным методом, если говорить честно я подобного ещё не встречал в своей практике...
Всё не то чем кажется...
Jacobson вне форума Ответить с цитированием
Старый 22.05.2010, 01:34   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

VirtualCam, SplitCam - вот вам примеры прослоек... запустите, потестируйте, взгляните на изменения в диспетчере устройств, на список DS устройств в утилите DirectShow FilterManager...
Вложения
Тип файла: txt DSFMgr.exe.txt (236.0 Кб, 132 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 24.05.2010, 10:28   #7
Jacobson
Пользователь
 
Аватар для Jacobson
 
Регистрация: 26.01.2010
Сообщений: 47
По умолчанию

Ещё раз большое спасибо вам за ответ, "Raxp"!
А, так же огромное спасибо за оказанную от вас, мне помощь в понимании данного вопроса. Похоже что вы единственный кто поддерживает мои темы... Извините только что не дал ответа ранее! Но, я прочитал ваш ответ и послушавшись ваших советов решил посмотреть на принцип работы программного обеспечения, "SplitCam"! Должен сказать что вы били правы, непосредственно этой программы!!! Данный программный продукт действительно может осуществлять много клиентское использование одного "Видео устройства"! Что мне собственно понравилось и заинтересовало... Жаль только что не было возможности увидеть примеры, реализации подобного метода. Хотя поискав по просторам сети я нашёл некоторые подобные темы... В которых затрагивался почти тот же вопрос! Как я понял там обсуждали написание программы, "Посредника". Которая как я понял в свою очередь будут представляться системе как отдельное "Видео устройство". Хм... По моему принцип работы тот же самый что и в программе, "SplitCam", определённо... Но, тема не была закончена, почему-то...
Пока единственно что я понял? Так это то что я так понимаю, создаётся "Устройство эмулятор"! Которое в свою очередь, будем говорить проще, создаёт "Виртуальное видео устройство" в самой системе, что наглядно показано в программах, "VirtualCam" и "SplitCam". Всё это дело конечно же житейское и уже давно оприходованное в быту! Но, всё же мне пока полностью не понятно... Как должен выглядит программный код реализующий подобный метод на языке программирования, "Delphi"?
Ну, давайте хотя бы пока просто допустим, что мне необходимо составить программный код на языке программирования, "Delphi". Для работы непосредственно, одной моей программы!
P.S: Я очень рассчитываю на вашу помощь, хотя в любом случаи всё равно огромное вам от меня спасибо за оказанную поддержку!
Всё не то чем кажется...
Jacobson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Воспроизведение видео с устройства 856100 Мультимедиа в Delphi 4 24.05.2010 16:57
параллельное движение drower Общие вопросы C/C++ 4 10.05.2010 17:27
Параллельное программирование mages Общие вопросы C/C++ 18 25.12.2009 17:59
Параллельное программирование Renegad Фриланс 5 10.06.2008 18:11
Параллельное программирование Ugly Win Api 7 16.03.2008 15:33