Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Совместимость с видеофайлами

В Unity можно импортировать множество форматов видеофайлов. Unity сохраняет импортированные видеофайлы как ресурсы VideoClip.

Чтобы Unity могла выполнять предварительный просмотр видеофайлов, файлы должны быть совместимы с платформой, на которой вы запускаете редактор Unity. Ваши файлы также должны быть совместимы с целевыми платформами сборки. Unity предоставляет возможности для перекодирования файлов в часто поддерживаемые форматы, но вы также можете сами управлять совместимостью. Дополнительную информацию см. в разделе Совместимость с целевыми платформами ниже.

Совместимость с платформами редактора

Исходные видеофайлы должны использовать формат, поддерживаемый вашей платформой редактора. Каждая платформа поддерживает разные форматы видеофайлов.

Extension Windows macOS Linux
.asf
.avi
.dv
.m4v
.mov
.mp4
.mpg
.mpeg
.ogv
.vp8
.webm
.wmv

Для кодирования дорожек видеофайлов должен использоваться поддерживаемый кодек. Каждая платформа поддерживает определенные кодеки, которые могут изменяться с каждой версией платформы.

Видеофайлы, в которых используются неподдерживаемые кодеки, вызывают сообщение об ошибке в редакторе, и перед использованием их необходимо преобразовать в совместимый кодек.

H.264 — оптимальный поддерживаемый видеокодек для большинства платформ. . Он предлагает наилучшую межплатформенную совместимость, но редактор Linux не поддерживает этот кодек.

Для Linux оптимальной кодировкой является контейнер .webm со следующими кодеками:

  • Для видеодорожек VP8.
  • Для аудио: Vorbis.

Информацию о поддержке кодеков см. в официальной документации платформы для вашего редактора. См. ссылки ниже для информации о совместимости кодеков для Windows и macOS:

Импорт видеоклипов

С помощью модуля импорта видеоклипов можно перекодировать видеофайлы, которые вы импортируете в Unity. Это полезно, когда в ваших видео используется кодек, поддерживаемый платформой редактора, но файлы несовместимы с вашей целевой платформой.

Использование неподдерживаемых видеофайлов в редакторе

Чтобы использовать видеофайлы, совместимые с вашими целевыми платформами, но не с вашей платформой Editor, настройте их как потоковые ресурсы. Например, вы можете использовать кодек VP9 для сборки Android, хотя редактор поддерживает только VP8.

Чтобы настроить видеофайлы как потоковые ресурсы, поместите их в папку StreamingAssets вашего проекта. Используйте свойство URL, чтобы указать компоненту Video Player потоковые ресурсы.

Вы также можете использовать Application.streamingAssetsPath для доступа к путям для конкретных платформ к потоковым ресурсам через скриптыКусок кода, который позволяет вам создавать свои собственные Компоненты, запускать игровые события, изменять свойства Компонентов с течением времени и реагировать на ввод данных пользователем любым удобным для вас способом. . Подробнее
См. в Словарь
. Вы не можете просмотреть эти пути в редакторе.

Если вы хотите иметь версии-заполнители, совместимые с вашим редактором, но использовать другую версию для целевой платформы, вы можете включить обе версии в свой проект, использовать версии, совместимые с редактором, в качестве заполнителей и решить, какую версию использовать в время работы.

В приведенном ниже примере показано, как использовать разные URL-адреса видео для разных платформ. Дополнительную информацию см. в документации по платформенно-зависимой компиляции.

void SetupMovieFile(VideoPlayer vp) { #if UNITY_EDITOR || UNITY_LINUX vp.url = pathToMyVp8File; #elif UNITY_ANDROID vp.url = pathToMyVp9File; #elif UNITY_STANDALONE_WIN vp.url = pathToMyWmvFile; #else vp.url = pathToMyMp4File; #endif }

Совместимость с целевыми платформами

Компонент Видеопроигрыватель использует собственные библиотеки декодирования аудио и видео вашей платформы Editor для воспроизведения видеофайлов в редакторе. Вы должны подтвердить, что файлы также соответствуют требованиям для целевой платформы.

Рекомендации по кодированию

  • Лучшим видеокодеком с собственной поддержкой для аппаратного ускорения является H.264.

  • Если межплатформенная поддержка является приоритетной задачей, VP8 — хороший выбор. . Он широко поддерживается и имеет полный набор функций, но потребляет больше ресурсов, чем кодеки с аппаратным ускорением, такие как H.264.

  • H.265 доступен на устройствах, которые его поддерживают. Дополнительную информацию см. в разделе Совместимость с H.265 ниже.

  • Android поддерживает VP8 с использованием собственных библиотек, поэтому на некоторых устройствах Android VP8 также может поддерживаться аппаратно.

  • Редактор Unity поддерживает формат .ogv, но на других платформах он широко не поддерживается. Перекодировать файлы .ogv в .mp4 (H.264) или .webm (VP8) в зависимости от целевой платформы.

Перекодирование видеоклипов

С помощью модуля импорта видеоклипов можно перекодировать ресурсы видеоклипа в один из следующих видеокодеков:

Перекодированные видеоклипы автоматически используют соответствующий аудиокодек:

  • AAC видео, закодированные с помощью H.264 или H.265
  • Vorbis для видео, закодированных с помощью VP8
Примечание:
Инструмент импорта видеоклипов предоставляет только основные параметры транскодирования. В зависимости от того, как закодированы ваши исходные файлы, вы можете не добиться оптимальной производительности от клипов, перекодированных с помощью параметров импортера. В этом случае вы можете получить лучшие результаты с помощью внешней программы транскодирования.

Кодирование видеоклипов с помощью внешней программы

Если вы используете видео, которые определенно поддерживает целевая система, вы можете оставить параметры транскодирования Video Clip Importer отключенными. Если отключено, Unity не изменяет файлы. Вы можете управлять кодированием с помощью внешней программы, которая обеспечивает более точный контроль.

Примечания о совместимости

В этом разделе содержится полезная информация о совместимости видео и ссылки на внешние ресурсы.

Рекомендации поставщиков по поддержке СМИ

Следуйте рекомендациям поставщиков по поддержке кодеков. На старых мобильных платформах выбор кодеков ограничен. Вам может потребоваться проверить и преобразовать или перекодировать видео, которые вы собираетесь включить в игру, работающую на нескольких устройствах.

Совместимость с H.265

В таблице ниже приведены требования и информация для конкретных платформ для кодека H.265.

Платформа Требования Кодирование/декодирование Примечания
macOS SDK 10.13+ Аппаратное кодирование: процессор Intel Core 6-го поколения.

Программное кодирование: все компьютеры Mac

Аппаратное декодирование: процессор Intel Core 6-го поколения

Программное декодирование: все компьютеры Mac

Windows Windows 10 + HEVC extensions Encoder

Decoder

HEVC extension (Hardware only)

HEVC extension (Hardware + software support)

iOS SDK 11.0+ Аппаратное декодирование: Чип A9

Программное декодирование: все устройства iOS

tvOS SDK 11.0+
UWP Windows 10+ Если на устройстве указана поддержка H.265, это может относиться не ко всем устройствам в семействе устройств.
Android 5.0+
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3