MusicBee UPnP Plugin Помощь

Профили устройств — адаптация к каждому устройству

Реальное оборудование UPnP непоследовательно в том, что оно принимает: один стример хочет 24-битный FLAC, другой воспроизводит только 16-битный PCM, третий лжет о том, какие кодеки он поддерживает. Профиль устройства — это способ научить плагин ограничениям и особенностям конкретного устройства.

Как выбирается профиль. Каждое устройство идентифицирует себя строкой User-Agent при подключении. Профиль говорит: "примени меня, когда user-agent содержит этот фрагмент". Когда устройство подключается, плагин находит соответствующий профиль; если ни один не подходит, используется встроенный профиль Generic Device. Вы можете перечислить несколько фрагментов, разделенных | (например, Linn|ChorusDS|BubbleDS), чтобы один профиль охватывал семейство связанных устройств.

Что контролирует профиль. Ограничения, которые устройство не может превышать — максимальный размер изображения для обложки альбома, допустимый диапазон частоты дискретизации, максимальная битовая глубина, понижающее микширование только до стерео — плюс, когда трек действительно нуждается в преобразовании, в какой выходной формат и с какой частотой дискретизации его преобразовать. Отдельная группа переключателей "проблемного устройства" обходит специфические аппаратные ошибки (обработка raw-PCM, порядок байтов, заголовок HTTP content-length). Они существуют, потому что соответствие UPnP в реальных условиях является неполным; большинство людей никогда их не трогают.

Когда трогать профиль. Только когда конкретное устройство ведет себя неправильно. Из коробки общий профиль, а также предустановленные по умолчанию для каждого устройства для распространенного оборудования, охватывают большинство случаев. Чтобы найти user-agent устройства, чтобы вы могли его настроить, включите отладочное логирование (см. Диагностика), воспроизведите что-нибудь с устройства и прочитайте строку useragent= в журнале.

Самый важный переключатель профиля — force native stream — вообще не связан с ограничениями; он решает, применяется ли что-либо из вышеперечисленного. Это следующая концепция.

Device Profiles — the Device sub-tab, one profile's limits

Device Profiles — the Advanced sub-tab, the problem-device switches

Настройки

Элемент управления Что он делает
Имя Отображаемое имя профиля.
Применяется, когда user-agent содержит Фрагмент(ы) user-agent, которые устройство должно содержать, чтобы соответствовать этому профилю; разделяйте альтернативы |. Несоответствующие устройства возвращаются к общему профилю.
Максимальный размер изображения Максимальный размер изображения обложки альбома в пикселях, отправляемый на это устройство (160 пикселей — стандарт DLNA; больший размер не всегда поддерживается).
Частота дискретизации на выходе / до Диапазон частоты дискретизации, который принимает устройство; источники вне его преобразуются (принудительное транскодирование).
Каналы / только стерео Понижающее микширование многоканального звука до стерео для устройств, которые поддерживают только два канала.
Максимальная битовая глубина Наибольшая битовая глубина, которую принимает устройство; источники с большей глубиной преобразуются.
Выходной формат Когда требуется транскодирование, формат, в который нужно преобразовать (PCM, FLAC, MP3, AAC, Ogg).
Частота дискретизации на выходе Частота дискретизации, используемая при транскодировании; "same as source" сохраняет оригинал.
Не использовать RAW PCM Оборачивает PCM в контейнер WAV вместо отправки raw L16/L24. Для устройств, которые искажают raw PCM (некоторые Marantz).
Принудительно использовать little-endian для PCM-потоков Отправляет PCM в формате little-endian вместо big-endian по спецификации. Устраняет воспроизведение белого шума на устройствах, которые ожидают little-endian.
Длина содержимого Как заполнять заголовок HTTP Content-Length: Default (правильное значение), None (опустить), PCM Only или Fixed (сторожевое "огромное" значение). Для устройств, которые неправильно обрабатывают заголовок.