Настройка потоков
В профиле требуется только один поток. Другие варианты предоставляют доступ к более расширенным функциям, но с помощью минимум одного потока можно создать ASF-файл. Важно понимать, как настраивать потоки перед созданием сложных профилей.
В целях профилей потоки можно разделить на два типа: потоки, сжатые с помощью кодеков Windows Media, и произвольные потоки, которые не обрабатываются с помощью каких-либо кодеков. Аудиопотоки и видеопотоки — это типы, использующие кодеки Windows Media. Конечно, потоки могут содержать аудио или видео, сжатые с помощью стороннего кодека, но процесс настройки такого потока является особым случаем. Дополнительные сведения см. в статье Создание файлов ASF с помощью сторонних кодеков.
В следующем списке представлен процесс настройки потока.
- Получите объект конфигурации потока для потока.
- При создании потока с помощью одного из кодеков Windows Media необходимо получить объект конфигурации потока в формате кодека с помощью методов IWMCodecInfo3.
- Если поток имеет произвольный тип, получите пустой объект конфигурации потока с помощью IWMProfile::CreateNewStream.
- Настройте поток в соответствии со своими потребностями.
- Потокам всех типов следует назначить имя, имя подключения и номер потока.
- Потоки, использующие кодеки Windows Media, следует изменять только предопределенными способами из формата кодека. Для аудиопотоков следует изменить только параметры переменной скорости передачи (VBR) для двухпрохотовой VBR. Видеопотоки должны быть настроены с использованием требуемых свойств кадра.
- Произвольные потоки имеют различные требования к конфигурации по типу. Для всех требуется скорость передачи данных и окно буфера.
- Добавьте поток в профиль, вызвав 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). |
Настройка расширений модуля данных | Описывает настройку потока таким образом, чтобы при записи файла можно было присоединять расширения единиц данных. |
Повторное использование конфигураций потоков | Описывает способы использования потоковой передачи объектов конфигурации из существующих профилей для создания новых профилей. |
Связанные темы