Технический форум
Вернуться   Технический форум > Компьютерный форум > Софт и программы > Графика & дизайн


Ответ
 
Опции темы Опции просмотра
Старый 30.06.2011, 07:49   #1 (permalink)
Bydlokoder
Member
 
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
По умолчанию DirectShow и приложение.

Совершенно не разбираясь в программировании, озаботился однако проблемой захвата видео с видеокамер и ТВ карт, чисто из любопытства. Зацепило вот и следующий вопрос не дает покоя - каким образом приложение (пусть на C++) взаимодействует с фильтрами DirectShow? Например, построил я с помощью GraphEdit фильтровый граф хватающий сигнал с ТВ карты и выводящий его на экран, все работает, картинка и звук есть, каналы переключаются и все такое прочее. Но, граф графом, но нужно же как-то управлять устройством захвата не прибегая к GraphEdit, насколько я понимаю, фильтровый граф всего лишь пример того, как должны соединятся фильтры для реализации той или иной задачи выполняемой с помощью DirectShow. Как же управлять компонентами DirectShow из программы? Как с помощью приложения соединять фильтры необходимым образом и как менять их свойства посредством графического интерфейса реализованного в программе?

Поясните пожалуйста без лишних подробностей (напомню, в программировании я полный ньюб), интересует только принцип реализации программ с использованием DirectShow, желательно пояснение "на пальцах".
Bydlokoder вне форума   Ответить с цитированием

Старый 30.06.2011, 07:49
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Можете поискать в данных темах решение вашего вопроса

Клиент-серверное приложение на С с использованием RPC
Вместе с Mozilla Firefox устанавливается приложение для ВК
Кто может разработать Web-приложение на Delphi?
Приложение не отвечает

Старый 30.06.2011, 09:44   #2 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Цитата:
Сообщение от Bydlokoder Посмотреть сообщение
в программировании я полный ньюб)
и DirectShow вместе дают ln(-1)/0, причем со страшной силой дают.
Ищите книгу Гончаров, Салихов - DirectX 7 для программистов.

Если вкратце, любое обращение к DirectX происходит по технологии COM.

Как видите, по-простому не получиться, иначе вместо общения по предмету я буду сюда весь университетский курс программирования тащить.

Если действовать в соответствии с вашим ником, в Дельфи и Билдере есть компонент, который все это умеет.
Long Cat вне форума   Ответить с цитированием
Старый 30.06.2011, 13:37   #3 (permalink)
Bydlokoder
Member
 
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
По умолчанию

Боюсь, Вы меня превратно поняли, по-видимому я не совсем точно высказал свою просьбу. Дело в том, что я не собираюсь прямо сейчас, не умея двух строчек кода правильно сложить, писать программу видеозахвата или трансляции видео в сеть. Отлично понимаю, что курить COM объекты для меня сейчас дело пустое, не осилить мне пока таких страшно непонятных вещей. Меня интересует лишь форма реализации кода программы, то, каким образом создаются программы такого рода, самый общий принцип.

По моим догадкам COM представляет из себя набор (библиотеку) подпрограмм входящих в состав операционной системы, доступ к которым осуществляется через стандартный программный интерфейс. То есть, в нужном месте исходного текста программы вставляется какой-то стандартный кусок кода (рекомендованный производителем операционной системы), посредством которого и происходит обращение приложения к функциям операционной системы (в частности к DirectX), которая в свою очередь рулит драйверами устройств, а те уже обращаются к железу, засылая в регистры чипа TV карты (или CPU, или GPU, или звуковой карты) нужные двоичные комбинации и заставляя их производить необходимые действия (захват, фильтрацию, сжатие, вывод на экран).

Сильно ли я ошибаюсь, рассуждая таким образом? Действительно ли существуют стандартные "куски" кода помещаемые в текст программы для выполнения операционной системой тех или иных действий? Упомянутый компонент в Дельфи и Builder - инструмент, позволяющий "воткнуть" нужный "кусок" стандартного кода в нужном месте?

За книгу спасибо, нашел, полистал, положил в папку с литературой, которая на мой взгляд может пригодится в будущем (сейчас вряд ли, пока только пытаюсь освоить хотя бы азы программирования на C++).
Bydlokoder вне форума   Ответить с цитированием
Старый 02.07.2011, 05:50   #4 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Цитата:
Сообщение от Bydlokoder Посмотреть сообщение
Сильно ли я ошибаюсь, рассуждая таким образом? Действительно ли существуют стандартные "куски" кода помещаемые в текст программы для выполнения операционной системой тех или иных действий? Упомянутый компонент в Дельфи и Builder - инструмент, позволяющий "воткнуть" нужный "кусок" стандартного кода в нужном месте?
Не ошибаетесь. По поводу стандартных кусков читайте MSDN - главный ресурс по программированию под Windows.
Long Cat вне форума   Ответить с цитированием
Старый 02.07.2011, 14:53   #5 (permalink)
Bydlokoder
Member
 
Регистрация: 06.05.2011
Сообщений: 3,355
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 12455
По умолчанию

Спасибо, теперь я хотя бы приблизительно представляю, какие задачи ожидают меня в будущем
Bydlokoder вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 21:07.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.