Книга представляется в виде расширенного описания оглавления и фрагментов текста , что поможет Вам понять ee содержание. Все права на книгу принадлежат автору. Вы не имеете права распространять книгу в целом или по частям без разрешения автора.

Условия закачки книги в формате PDF находятся здесь http://www.plati.ru/asp/pay.asp?id_d=681750. Условия закачки исходных текстов здесь http://www.plati.ru/asp/pay.asp?id_d=681755.

 

Глава 1. Общие принципы построения и использования DirectShow

В данной главе описываются общие сведения о DirectShow необходимые для работы по созданию приложения . Из этой главы вы узнаете какое место занимает DirectShow в архитектуре DirectX, что такое телевизионная технология Microsoft, принципы использования элементов DirectShow при создании приложения для записи и воспроизведения мультимедийных потоков от любых источников данных, поддерживающих технологию DirectShow.

Содержание

Телевизионная технология Microsoft [читать далее...]
Архитектура DirectShow [читать далее...]

Основные свойства фильтров и фильтрового графа [читать далее...]

Критерий предпочтения фильтра [читать далее...]
Контакты фильтров и типы медиа данных
Носители
Передача данных и медиа выборки
Состояния фильтров и фильтрового графа
Синхронизация фильтров
Использование объектов DMO в DirectShow

Соединение фильтров

Согласование медиа типов при соединении фильтров
Согласование способа транспортировки данных
"Интеллектуальное" соединение фильтров

Представление аппаратных устройств в фильтровом графе

Потоки данных
Отображение WDM устройств в локальной системе

Сбор видео и звуковой информации

Фильтр сбора видео информации(Capture)
Фильтр сбора звука

GraphEdit инструмент визуального построения графа и отладки

[в начало]

 

Глава 2. Построение фильтрового графа DirectShow

По содержанию глава состоит их двух частей. В первой части описано создание шаблона проекта на основе которого будет создаваться приложение DirectShow. шаблон представляет собой приложение SDI с переключающимися представлениями классов CFormView и CView. Вторая часть главы описывает средства и способы построения фильтрового графа DirectShow.

Содержание

Подготовка проекта, выбор шаблона проекта [читать далее...]

Доработка шаблона проекта [читать далее...]
Смена представлений для одного документа
Совместный старт двух окон
Переключение нескольких представлений

Установка DirectX 9.0 SDK, внесение изменений в проект

Построение фильтрового графа DirectShow [читать далее...]

Класс фильтрового графа [читать далее...]
Реализация менеджера фильтрового графа [читать далее...]

Интерфейсы менеджера фильтрового графа
Методы интерфейсов менеджера графа и построителя фильтра сбора

Методы интерфейса IFilterGraph
Методы интерфейса IGraphBuilder
Методы интерфейса IFilterGraph2
Методы интерфейса ICaptureGraphBuilder2

Создание менеджера графа и построителя графа сбора
Системный перечислитель и моникеры
Перечисление устройств и фильтров
Реализация перечислителя устройств
Реализация перечислителя фильтров (кодеков)
Реализация поиска в карте фильтров

Установка в граф фильтра сбора

Разрушение графа

Просмотр результата в редакторе графа

[в начало]

 

Глава 3. Построение графа DirectShow до фильтра сбора

Глава продолжает описание построения участка графа DirectShow от фильтра настройки TV приемника до фильтра сбора. Рассматриваются разные способы поиска и установки фильтров устройства в граф DirectShow, описываются фильтры настройки TV приемника и переключателя входов, а также управление ими с помощью классов авторской разработки. Рассматривается инициализация фильтра сбора, способы управления фильтром, и настройка его параметров.

Содержание

Принципы построения графа сбора [читать далее...]

Определение конфигурации устройства сбора [читать далее...]
Поиск фильтров с помощью метода FindInterface [читать далее...]
Поиск фильтров с помощью системного перечислителя

Методы RenderXX

Фильтр переключателя видео входов (Crossbar)

Класс фильтра переключателя
Интерфейс переключения видео входов

Фильтр настройки телеприемника TV Tuner

Принципы настройки на телевизионные каналы
Класс фильтра настройки приемника и интерфейс пользователя

Установка режима приемника
Переключение входов
Отображение доступных стандартов ТV
Организация данных для отображения телевизионных каналов
Реализация настройки на каналы
Интерфейс управления фильтром настройки

Завершение основного этапа построения графа

Инициализация фильтра сбора

Интерфейс IAMAnalogVideoDecoder
Методы для работы с ТВ стандартами
Интерфейс пользователя

[в начало]

 

Глава 4. Режим предварительного просмотра

В главе описывается реализация режима предварительного просмотра, дается характеристика отображающих фильтров DirectShow, режимов применения, интерфейсов управления. Подробно рассматриваются способы и методы управления режимами отображения, обработка событий DirectShow, обработка данных телетекста.

Содержание

Основные интерфейсы, используемые для реализации режима предварительного просмотра. [читать далее...]

Метод RenderStream [читать далее...]

Отображающие фильтры DirectShow

Компоненты фильтров VMR
Режимы работы фильтров
Режимы работы фильтров VMR
Интерфейсы отображающих и оверлейных фильтров

Интерфейсы, управляющие графом
Инициализация режима предварительного просмотра

Достройка графа и запуск режима предварительного просмотра
Интерфейс IVideoWindow

Установка видеоокна в качестве дочернего окна приложения
Сообщения от окна фильтра Video Renderer

Управление параметрами видеопотока на фильтре сбора [читать далее...]

Структура AM_MEDIA_TYPE [читать далее...]
Источник и получатель изображения и их взаимодействие
Структура VIDEOINFOHEADER
Структура BITMAPINFOHEADER

Методы и структуры интерфейса IAMStreamConfig

Структура VIDEO_STREAM_CONFIG_CAPS
Параметры структуры, влияющие на формирование размеров изображения
Метод IAMStreamConfig::GetFormat и его применение
Метод IAMStreamConfig::GetNumberOfCapabilities
Метод IAMStreamConfig::GetStreamCaps и его применение
Метод IAMStreamConfig::SetFormat
Класс данных медиа формата

Определение свойств форматов на выходном контакте фильтра сбора

Метод для установки медиа формата
Интерфейс пользователя для отображения медиа форматов

Полнооконный режим отображения
Безоконный режим отображения фильтров VMR

Обработка событий в DirectShow

Обработка данных на контакте VBI фильтра сбора.

Метод ICaptureGraphBuilder2::FindPin.
Управление отображением телетекста.

Регулировки изображения

Интерфейс IAMVideoProcAmp
Реализация регулировки яркости и контраста
Регулировки изображения на фильтре VMR9

[в начало]

 

Глава 5. Звуковой канал DirectShow

В главе описывается построение звукового тракта фильтрового графа DirectShow. Рассматриваются специфические проблемы, связанные с несовершенством управления звуковой картой из DirectShow и предлагаются пути их решения.

Содержание

Сбор и предварительное прослушивание звука [читать далее...]

Интерфейсы звукового канала
Интерфейс IAMAudioInputMixer

Установка фильтра захвата звука

Установка медиа формата на звуковом фильтре
Интерфейс пользователя для управления звуковыми форматами

Управление параметрами звуковой карты

Определение свойств контактов звукового фильтра
Установка параметров органов управления
Результаты экспериментальной проверки
Реализация управления системным микшером

[в начало]

 

Глава 6. Системный звуковой микшер

В главе предлагается решение по внедрению управления звуковым системным микшером (драйвером звуковой карты) в приложение. Данная глава не имеет прямой связи с DirectShow. Она написана как материал обеспечивающий решение проблемы звукового тракта DirectShow, которая упоминалась в предыдущей главе.

Содержание

Системный звуковой микшер [читать далее...]
Структурная схема микшера

Структуры и функции микшера

Сбор данных для линии
Структура MIXERLINE
Функция mixerGetLineInfo

Сбор данных об органах управления линии

Структура MIXERLINECONTROLS.
Структура MIXERCONTROL
Классы (типы) органов управления микшером
Функция mixerGetLineControls

Структура MIXERCONTROLDETAILS

Установка свойств и значений органов управления
Структуры установки свойств и значений органов управления
Функция mixerSetControlDetails
Функция mixerGetControlDetails

Структуры и функции для общего управления микшером

Структура MIXERCAPS
Функция mixerGetDevCaps
Функция mixerGetNumDevs
Функция mixerClose
Функция mixerOpen
Функция mixerGetID
Сообщения микшера

Пользовательское сообщение для заказного микшера

Классы микшера

Структура классов звукового микшера.
Базовый класс CMixer
Организация данных

Классы органов управления

Класс CFader
Класс CSwitch
Класс мультиплексора CMux

Производный класс микшера CLineMixer

Методы для создания органов управления
Установка параметров органов управления
Удаление органов управления
Обработка сообщений при изменении параметров микшера другим приложением

[в начало]

 

Глава 7. Запись файлов

В главе описываются способы записи сжатых и не сжатых файлов, а также управление параметрами фильтров сжатия.

Содержание

Запись файлов в DirectShow [читать далее...]

Простой способ запись файлов в формате AVI и ASF

Реализация простого способа записи файлов AVI и ASF

Расширенный способ записи файлов в формате AVI и ASF [читать далее...]

Реализация расширенного способа записи файлов AVI и ASF

Управление профилями фильтра ASF

Дополнительные способы управления записью файлов

Синхронизация потоков при записи файлов AVI
Управление звуком и видео при записи файлов AVI
Установка видеоформата на контакте Capture фильтра захвата

Использование кодеров при записи файлов AVI

Отображение свойств компрессора
Использование кодеров сторонних производителей

Отображение производительности фильтра захвата

[в начало]

 

Приложение

Глава содержит краткое описание фильтров DirectShow и их технические данные необходимые для применения. Также в главе приводятся некоторые другие данные необходимые для работы и описание кодов ошибок с переводом сообщений.

Содержание

Фильтры DirectShow
Категории фильтров
Главные типы (Major Types)
Категории контактов (Pin Property Set)
Коды событий
Коды FOURCC
Частотные таблицы телевизионных каналов
Восточная Европа
Западная Европа
Цветовые форматы телевизионного сигнала
Алфавитный список интерфейсов DirectShow
Отмененные интерфейсы
Общие коды ошибок
Специфические коды ошибок DirectShow

[в начало]

 

Hosted by uCoz