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


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

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей возможностью. Этот компонент был заменен Чтение источника и Запись приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, когда возможно, использовать новый код с помощью Source Reader и Sink Writer вместо пакета Windows Media Format 11 SDK. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

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

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

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

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

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

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

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

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

 

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

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