Цифровой кодировщик звука Dolby
Звуковой кодировщик Dolby — это преобразование Media Foundation (MFT), которое кодирует моно- или стереозвук в Dolby Digital, также называемый Dolby AC-3. Кодировщик не поддерживает многоканальные входные данные, например конфигурацию канала 5.1.
Важно!
Для версий Windows до Windows 8 реализация майкрософт технологии Dolby Digital ограничена условиями программы лицензирования Dolby Digital для использования приложениями Майкрософт.
Дополнительные сведения о звуке Dolby Digital см. в документе Advanced Television Systems Committee (ATSC) Digital Audio Compression Standard (AC-3, E-AC-3) Revision B.
Идентификатор класса
Идентификатор класса (CLSID) звукового кодировщика Dolby CLSID_CMSDolbyDigitalEncMFT, определенный в файле заголовка wmcodecdsp.h.
Типы вывода
Тип выходных данных должен быть задан первым, перед типом входных данных. В следующей таблице перечислены обязательные и необязательные атрибуты для выходного типа носителя.
attribute | Описание | Remarks |
---|---|---|
MF_MT_MAJOR_TYPE | Основной тип. | Обязательный. Должен быть MFMediaType_Audio. |
MF_MT_SUBTYPE | Подтип аудио. | Обязательный. Должен быть MFAudioFormat_Dolby_AC3. |
MF_MT_AUDIO_SAMPLES_PER_SECOND | Выборки в секунду. | Обязательный. Поддерживаются следующие значения.
|
MF_MT_AUDIO_NUM_CHANNELS | Количество каналов. | Обязательный. Должен иметь значение 1 (моно) или 2 (стерео). |
MF_MT_AUDIO_CHANNEL_MASK | Указывает назначение звуковых каналов позициям говорящего. | Необязательный элемент. Если этот параметр задан, значение должно быть 0x3 для стерео (передний левый и правый каналы) или 0x4 для mono (передний центральный канал). |
MF_MT_AUDIO_AVG_BYTES_PER_SECOND | Скорость закодированного потока AC-3 в байтах в секунду. | Необязательный элемент. Допустимые значения см. в разделе Примечания. Если этот атрибут не задан, кодировщик использует скорость передачи по умолчанию, как описано в разделе Примечания. |
Если необязательные атрибуты не заданы, кодировщик добавляет их в тип носителя после установки типа.
Типы входных данных
В следующей таблице перечислены обязательные и необязательные атрибуты для типа входного носителя.
attribute | Описание | Remarks |
---|---|---|
MF_MT_MAJOR_TYPE | Основной тип. | Обязательный. Должен быть MFMediaType_Audio. |
MF_MT_SUBTYPE | Подтип аудио. | Обязательный. Должен быть MFAudioFormat_PCM или MFAudioFormat_Float. |
MF_MT_AUDIO_BITS_PER_SAMPLE | Число битов на выборку звука. | Обязательный. Значение должно быть 16, если подтип MFAudioFormat_PCM, или 32, если подтип MFAudioFormat_Float. |
MF_MT_AUDIO_SAMPLES_PER_SECOND | Выборки в секунду. | Обязательный. Должен соответствовать типу выходных данных. |
MF_MT_AUDIO_NUM_CHANNELS | Количество каналов. | Обязательный. Должен соответствовать типу выходных данных. |
MF_MT_AUDIO_BLOCK_ALIGNMENT | Выравнивание блоков в байтах. | Обязательный. Вычислите значение следующим образом:
|
MF_MT_AUDIO_AVG_BYTES_PER_SECOND | Скорость закодированного потока AC3 в байтах в секунду. | Обязательный. Должно быть равное выравниванию блоков × выборки в секунду. |
MF_MT_AUDIO_CHANNEL_MASK | Указывает назначение звуковых каналов позициям говорящего. | Необязательный элемент. Если задано значение , значение должно соответствовать типу выходных данных. |
MF_MT_AUDIO_VALID_BITS_PER_SAMPLE | Количество допустимых битов звуковых данных в каждом образце звука. | Необязательный элемент. Если задано значение , значение должно быть идентично значению MF_MT_AUDIO_BITS_PER_SAMPLE. |
Кодировщик не поддерживает преобразование частоты выборки или стерео/моно.
Комментарии
Каждый аудиокадр Dolby AC-3 содержит 1536 звуковых примеров на канал. Однако каждый входной буфер кодировщика может содержать любое количество выборок PCM. Размер каждого входного буфера должен быть кратным выравниванию блока. Кодировщик кэширует входные примеры до тех пор, пока не будет достаточно 1536 примеров звука на канал; В этот момент кодировщик выводит один кадр AC-3.
Каждый выходной буфер содержит один необработанный кадр AC-3. Длительность эквивалентна длительности 1536 выборок PCM при текущей частоте выборки (32 мс) при частоте дискретизации 48 кГц, 34,83 мс на 44,1 кГц и 48 мс на 32 кГц. Размер каждого выходного буфера зависит от скорости передачи данных и частоты выборки.
Чтобы указать скорость кодирования, задайте атрибут MF_MT_AUDIO_AVG_BYTES_PER_SECOND в типе вывода. В следующей таблице показана связь между скоростью кодирования и MF_MT_AUDIO_AVG_BYTES_PER_SECOND.
Скорость (Кбит/с) | MF_MT_AUDIO_AVG_BYTES_PER_SECOND | Комментарии |
---|---|---|
64 | 8000 | Только моно. |
80 | 10000 | Только моно. |
96 | 12000 | Только моно. |
112 | 14000 | Только моно. |
128 | 16000 | Моно или стерео. |
160 | 20 000 | Моно или стерео. |
192 | 24 000 | Моно или стерео. Это значение по умолчанию для mono. |
224 | 28000 | Моно или стерео. |
256 | 32000 | Моно или стерео. Это значение по умолчанию для стерео. |
320 | 40 000 | Только стерео. |
384 | 48000 | Только стерео. |
448 | 56000 | Только стерео. |
Скорость кодирования по умолчанию устанавливается на уровне 256 кбит/с для стерео и 192 кбит/с для моно. Параметры по умолчанию отражаются в типах мультимедиа, возвращаемых методом IMFTransform::GetOutputAvailableType кодировщика.
Примеры типов мультимедиа
Ниже приведен пример типов носителей, необходимых для кодирования 16-разрядного целочисленного pcm, стереофонического звука 48 кГц со скоростью по умолчанию 256 кбит/с.
Тип выходного носителя:
attribute | Значение |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Audio |
MF_MT_SUBTYPE | MFAudioFormat_Dolby_AC3 |
MF_MT_AUDIO_SAMPLES_PER_SECOND | 48000 |
MF_MT_AUDIO_NUM_CHANNELS | 2 |
Тип входного носителя:
attribute | Значение |
---|---|
MF_MT_MAJOR_TYPE | MFMediaType_Audio |
MF_MT_SUBTYPE | MFAudioFormat_PCM |
MF_MT_AUDIO_BITS_PER_SAMPLE | 16 |
MF_MT_AUDIO_SAMPLES_PER_SECOND | 48000 |
MF_MT_AUDIO_NUM_CHANNELS | 2 |
MF_MT_AUDIO_BLOCK_ALIGNMENT | 4 |
MF_MT_AUDIO_AVG_BYTES_PER_SECOND | 192000 |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 8 [классические приложения | Приложения UWP] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
DLL |
|
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделе:Отправить и просмотреть отзыв по