Настройка потоков
[Функция, связанная с этой страницей, 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 с помощью сторонних кодеков.
В следующем списке приводится сводка процесса настройки потока.
- Получите объект конфигурации потока для потока.
- Если вы создаете поток с помощью одного из кодеков Windows Media, необходимо получить объект конфигурации потока в виде кодека с помощью методов IWMCodecInfo3.
- Если поток является произвольным типом, получите пустой объект конфигурации потока с помощью IWMProfile::CreateNewStream.
- Настройте поток в соответствии с вашими потребностями.
- Потоки всех типов должны иметь имя, имя подключения и номер потока.
- Потоки, использующие кодеки Windows Media, должны изменяться только предопределённым образом согласно формату кодека. Для аудиопотоков следует изменить только параметры переменной скорости (VBR) для двухпроходных VBR. Видеопотоки необходимо настроить с нужными свойствами кадра.
- Произвольные потоки имеют различные требования к конфигурации по типу. Для всех требуется скорость передачи данных и буферное окно.
- Добавьте поток в профиль, вызвав IWMProfile::AddStream.
Все потоки определяются с помощью объектов конфигурации потока. Основным интерфейсом для объекта конфигурации потока является IWMStreamConfig, который предоставляет методы для настройки основных параметров потока, таких как номер потока, скорость передачи и т. д. IWMStreamConfig наследуется новыми интерфейсами, IWMStreamConfig2 и IWMStreamConfig3. Как и во всех нумерованных редакциях интерфейса, всегда следует получить последнюю версию с помощью метода QueryInterface.
Большинство параметров в потоке доступны через IWMMediaProps. Эти параметры инкапсулируются в WM_MEDIA_TYPE структуре. Для аудио и видео структура WM_MEDIA_TYPE указывает на другую структуру с дополнительными сведениями о типе носителя. Эта вторичная структура обычно WAVEFORMATEX для аудио и WMVIDEOINFOHEADER для видео. Кроме того, видеопотоки имеют тертиарную структуру, BITMAPINFOHEADER, которая описывает характеристики отдельного кадра видео. BITMAPINFOHEADER является распространённой структурой и её можно найти в разделе "Интерфейс графических устройств (GDI)" SDK платформы.
В следующих разделах описывается настройка потоков.
Секция | Описание |
---|---|
Конфигурация, общая для всех потоков | Описывает базовую конфигурацию потока, общую для всех типов потоков. |
Получение информации о конфигурации потоков из кодеков | Описывает, как получить сведения о конфигурации потока из кодеков, чтобы обеспечить правильную настройку потоков с помощью кодеков аудио и видеокодеков Windows Media. |
настройка аудиопотоков | Описывает настройку аудиопотоков. |
Настройка видеопотоков | Описывает настройку видеопотоков. |
настройка видеопотоков для поиска производительности | Описывается, как настроить видеопотоки, для которых важен эффективный поиск. |
Настройка потоков захвата экрана | Описывает, как настроить потоковое видео для записи экрана. |
настройка потоков изображений | Описывает настройку потоков изображений. |
Использование несжатых аудио- и видеопотоков | Описывает настройку несжатого аудио или видеопотока. |
настройка произвольных типов потоков | Описывает настройку потоков для использования предопределенных произвольных типов потоков. |
Настройка VBR-потоков | Описывает, как настроить потоки для использования кодировки переменной скорости (VBR). |
настройка расширений единиц данных | Описывает, как настроить поток таким образом, чтобы расширения единиц данных могли быть присоединены при записи файла. |
Повторное использование конфигураций потоков | Описывает способы использования объектов конфигурации потока из существующих профилей для создания новых профилей. |
Связанные разделы