Поделиться через


Настройка потоков

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

В целях профилей потоки можно разделить на два типа: потоки, сжатые с помощью кодеков Windows Media, и произвольные потоки, которые не обрабатываются с помощью каких-либо кодеков. Аудиопотоки и видеопотоки — это типы, использующие кодеки Windows Media. Конечно, потоки могут содержать аудио или видео, сжатые с помощью стороннего кодека, но процесс настройки такого потока является особым случаем. Дополнительные сведения см. в статье Создание файлов ASF с помощью сторонних кодеков.

В следующем списке представлен процесс настройки потока.

  1. Получите объект конфигурации потока для потока.
    • При создании потока с помощью одного из кодеков Windows Media необходимо получить объект конфигурации потока в формате кодека с помощью методов IWMCodecInfo3.
    • Если поток имеет произвольный тип, получите пустой объект конфигурации потока с помощью IWMProfile::CreateNewStream.
  2. Настройте поток в соответствии со своими потребностями.
    • Потокам всех типов следует назначить имя, имя подключения и номер потока.
    • Потоки, использующие кодеки Windows Media, следует изменять только предопределенными способами из формата кодека. Для аудиопотоков следует изменить только параметры переменной скорости передачи (VBR) для двухпрохотовой VBR. Видеопотоки должны быть настроены с использованием требуемых свойств кадра.
    • Произвольные потоки имеют различные требования к конфигурации по типу. Для всех требуется скорость передачи данных и окно буфера.
  3. Добавьте поток в профиль, вызвав IWMProfile::AddStream.

Все потоки определяются с помощью объектов конфигурации потока. Интерфейс main для объекта конфигурации потока — IWMStreamConfig, который предоставляет методы для задания основных параметров потока, таких как номер потока, скорость и т. д. IWMStreamConfig наследуется новыми интерфейсами IWMStreamConfig2 и IWMStreamConfig3. Как и во всех нумерованных версиях интерфейса, вы всегда должны получать последнюю версию с помощью метода QueryInterface .

Доступ к большинству параметров в потоке осуществляется через IWMMediaProps. Эти параметры инкапсулируются в структуру WM_MEDIA_TYPE . Для аудио и видео структура WM_MEDIA_TYPE указывает на другую структуру с дополнительными сведениями, характерными для типа мультимедиа. Эта вторичная структура обычно является WAVEFORMATEX для аудио и WMVIDEOINFOHEADER для видео. Кроме того, видеопотоки имеют третичный строение BITMAPINFOHEADER, которое описывает характеристики отдельного кадра видео. BITMAPINFOHEADER — это общая структура, и ее можно найти в разделе Интерфейс графических устройств (GDI) пакета SDK для платформы.

В следующих разделах описывается настройка потоков.

Section Описание
Конфигурация, общая для всех потоков Описывает базовую конфигурацию потока, общую для всех типов потоков.
Получение сведений о конфигурации потока из кодеков Описывает, как получить сведения о конфигурации потока из кодеков, чтобы обеспечить правильную конфигурацию потоков с помощью кодеков Windows Media Audio и Video.
Настройка аудиопотоков Описывает настройку аудиопотоков.
Настройка видеопотоков Описывает, как настроить видеопотоки.
Настройка видеопотоков для поиска производительности Описывает, как настроить видеопотоки, для которых важен эффективный поиск.
Настройка потоков снимка экрана Описывает, как настроить видеопотоки для захвата экрана.
Настройка потоков изображений Описывает, как настроить потоки изображений.
Использование несжатых аудио- и видеопотоков Описывает, как настроить несжатый аудио- или видеопоток.
Настройка произвольных типов потоков Описывает, как настроить потоки для использования предопределенных произвольных типов потоков.
Настройка потоков VBR Описывает, как настроить потоки для использования кодирования с переменной скоростью (VBR).
Настройка расширений модуля данных Описывает настройку потока таким образом, чтобы при записи файла можно было присоединять расширения единиц данных.
Повторное использование конфигураций потоков Описывает способы использования потоковой передачи объектов конфигурации из существующих профилей для создания новых профилей.

 

Входные, потоки и выходы

Работа с профилями