Media3 Transformer is actively under development and we are looking to hear from you! We welcome your feedback, feature requests and bug reports in the
issue tracker. Follow the
ExoPlayer blog for the latest updates.
Отображение тонов — поддержка контента HDR и SDR.
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
При работе с Transformer важно учитывать совместимость контента HDR и SDR. HDR отображает контент с большей детализацией цвета, цветом и контрастностью, предоставляя пользователям лучшее визуальное восприятие. Однако из-за разницы в цветовых диапазонах HDR и SDR объединение двух типов контента может привести к проблемам совместимости.
При создании Composition
у вас есть возможность setHdrMode
для видеовходов HDR. По умолчанию Transformer устанавливает для этого значения значение HDR_MODE_KEEP_HDR
, что гарантирует сохранение вывода в формате HDR. Если устройство не поддерживает формат HDR, Transformer автоматически пытается использовать вместо него HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL
.
В некоторых случаях вы можете комбинировать ресурсы HDR и SDR. Например, у вас могут быть наложения SDR поверх видео и изображений HDR или смесь видео HDR и SDR. В этом случае у вас есть следующие варианты:
| Преимущества | Недостатки |
---|
Карта тонов с MediaCodec | Наилучшее качество изображения, если оно поддерживается комбинацией устройства и API. | Поддерживается только в API 31+ на некоторых устройствах и в API 33+ для устройств с поддержкой захвата HDR. Если не поддерживается, Transformer выдает ExportException . |
Карта тонов с OpenGL | Поддерживается API 29+, с более широкой поддержкой на разных устройствах. Дает более стабильные результаты. | Могут быть небольшие различия по сравнению с результатами использования HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC . |
Интерпретируйте HDR как SDR | Самый широко поддерживаемый вариант. | Содержимое, скорее всего, будет иметь размытый вид и может отображаться неправильно. |
Текущие ограничения
Следующие элементы не поддерживаются для композиций с несколькими активами:
- Преобразование тонов SDR в HDR
- Последовательности контента SDR и HDR, которые начинаются с HDR-ресурса.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-29 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-07-29 UTC."],[],[],null,["# Tone mapping - Supporting HDR and SDR content\n\nWhen working with Transformer, it is important to consider the compatibility\nbetween HDR and SDR content. HDR displays content with greater color detail,\ncolor and contrast, giving users a better visual experience. However, due to the\ndifference in color ranges between HDR and SDR, combining the two types of\ncontent could lead to compatibility issues.\n\nAs you are building a\n[`Composition`](/reference/androidx/media3/transformer/Composition.Builder),\nyou have the option to [`setHdrMode`](/reference/androidx/media3/transformer/Composition.Builder#setHdrMode(int))\nfor HDR video inputs. By default, Transformer sets this value to\n[`HDR_MODE_KEEP_HDR`](/reference/androidx/media3/transformer/Composition#HDR_MODE_KEEP_HDR()),\nwhich ensures the output is kept in the HDR format. If the device does not\nsupport the HDR format, Transformer automatically attempts to use\n[`HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL`](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL()) instead.\n\nIn some cases, you may be combining both HDR and SDR assets. For example, you\nmight have SDR overlays on top of HDR videos and images, or you might have a mix\nof HDR and SDR videos. In this case, you have the following options:\n\n| | Advantages | Disadvantages |\n|--------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [Tone map with MediaCodec](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC()) | Best visual quality output if supported on device and API combination. | Only supported on API 31+ on certain devices and on API 33+ for devices with HDR capture support. If not supported, `Transformer` throws an `ExportException`. |\n| [Tone map with OpenGL](/reference/androidx/media3/transformer/Composition#HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_OPEN_GL()) | Supported on API 29+, with generally wider support across devices. Produces more consistent results. | May produce mild differences compared to output from using `HDR_MODE_TONE_MAP_HDR_TO_SDR_USING_MEDIACODEC`. |\n| [Interpret HDR as SDR](/reference/androidx/media3/transformer/Composition#HDR_MODE_EXPERIMENTAL_FORCE_INTERPRET_HDR_AS_SDR()) | Most widely supported option. | Contents will likely have a washed out look and may be displayed incorrectly. |\n\nCurrent limitations\n-------------------\n\nThe following are unsupported for multi-asset compositions:\n\n- SDR to HDR tone mapping\n- SDR and HDR content sequences that start with an HDR asset"]]