Визуализация с аппаратным ускорением, включающая масштабирование видео, преобразование цветов и блитирование, повышает производительность декодирования с аппаратным ускорением. На устройствах, поддерживающих (аппаратное) ускорение с использованием графического процессора, с помощью объекта flash.media.StageVideo можно обрабатывать видео непосредственно аппаратными средствами устройства. При прямой обработке ресурсы центрального процессора освобождаются для выполнения других задач, в то время как графический процессор занимается обработкой видео. С другой стороны, существующий класс Video обычно использует программную визуализацию. Программная визуализация выполняется центральным процессором, для чего может использоваться значительная часть ресурсов системы.
В настоящее время полное ускорение с использованием графического процессора поддерживается только несколькими устройствами. Тем не менее функция видео рабочей области позволяет приложениям в максимальной степени использовать преимущества доступного на устройствах функционала аппаратного ускорения.
Класс StageVideo не делает класс Video устаревшим. Использование обоих классов позволяет достичь оптимального качества при отображении видео, поддерживаемого ресурсами устройства, в любой момент времени. Воспользоваться преимуществами аппаратного ускорения можно за счет настройки в приложении прослушивания соответствующих событий и переключения между классами StageVideo и Video в требуемые моменты времени.
Класс StageVideo накладывает некоторые ограничения на использование видео. Перед реализацией StageVideo ознакомьтесь с рекомендациями и убедитесь, что они применимы к приложению. Если ограничения допустимы, используйте класс StageVideo при обнаружении средой Flash Player возможностей визуализации с аппаратным ускорением. См. раздел «
Рекомендации и ограничения
».
Параллельные плоскости: список отображения для видео рабочей области и Flash
В модели видео рабочей области приложение Flash Player можно отделить видео из списка отображения. Приложение Flash Player разделяет составной экран на две плоскости с порядком размещения по оси Z:
-
Плоскость видео рабочей области
-
Плоскость видео рабочей области находится на заднем плане. В ней отображается только видео с аппаратным ускорением. В результате этого плоскость недоступна, если аппаратное ускорение не поддерживается или не доступно на устройстве. В ActionScript объекты StageVideo обрабатывают видео, воспроизводимые в плоскости видео рабочей области.
-
Плоскость списка отображения Flash
-
Элементы из списка отображения Flash размещаются на плоскости, находящейся перед плоскостью видео рабочей области. В список отображения включены все элементы, визуализация которых осуществляется с помощью среды выполнения, включая элементы управления воспроизведением. Когда аппаратная визуализация недоступна, видео может воспроизводиться только в этой плоскости с использованием объекта класса Video. Видео рабочей области всегда отображается позади графики из списка отображения Flash.
Объект StageVideo отображается в фиксированной прямоугольной области окна. Под плоскостью видео рабочей области нельзя размещать другие объекты. Однако над плоскостью видео рабочей области можно разместить другую графику с помощью списка отображения Flash. Видео рабочей области воспроизводится одновременно со списком отображения Таким образом, эти два механизма можно применять вместе для создания унифицированных визуальных эффектов с использованием двух отдельных плоскостей. Например, переднюю плоскость можно использовать для элементов управления воспроизведением, которые контролируют видео рабочей области в задней плоскости.
Видео рабочей плоскости и кодек H.264
В приложениях Flash Player аппаратное ускорение видео реализуется в два этапа:
-
Кодирование видео в формат H.264
-
Реализация API-интерфейса StageVideo
Для получения наилучшего результата необходимо выполнить оба этапа. Кодек H.264 позволяет максимально использовать преимущества аппаратного ускорения: от декодирования видео до его визуализации.
В видео рабочей области исключается повторное считывание данных из графического процессора в центральный процессор. Другими словами графический процессор больше не отправляет декодированные кадры в центральный процессор для совмещения с объектами списка отображения. Вместо этого графический процессор передает битовые блоки декодированных и визуализированных кадров непосредственно на экран под объекты списка отображения. В этом методе уменьшается использование центрального процессора и памяти, а также улучшается точность пикселей.
Рекомендации и ограничения
При воспроизведении видео в полноэкранном режиме видео рабочей области всегда доступно, если устройством поддерживается аппаратное ускорение. Однако Flash Player также выполняется в браузере. В контексте браузера на доступность видео рабочей области влияет параметр
wmode
. Если необходимо использовать видео рабочей области, рекомендуется всегда устанавливать
wmode="direct"
. Видео рабочей области несовместимо с другими параметрами
wmode
в других режимах, кроме полноэкранного. Данное ограничение означает, что в среде выполнения видео рабочей области может становиться недоступным в непредсказуемых случаях. Например, если во время воспроизведения видео пользователь выходит из полноэкранного режима, вновь происходит возврат в контекст браузера. Если для параметра
wmode
браузера не установлено значение
"direct"
, видео рабочей области может неожиданно стать недоступным. Проигрыватель Flash Player передает изменения контекста воспроизведения приложений с помощью набора событий. При реализации API-интерфейса StageVideo нужно сделать резервную копию объекта Video на случай, если видео рабочей области станет недоступным.
Прямая связь с оборудованием означает, что видео рабочей области ограничивает некоторые функции видео. Видео рабочей области накладывает следующие ограничения:
-
Для каждого SWF-файла проигрыватель Flash Player разрешает не более чем четырем объектам StageVideo отображать видео одновременно. Однако фактическое ограничение может быть ниже, в зависимости от аппаратных ресурсов устройства.
-
Хронометраж видео не синхронизируется с хронометражем содержимого, которое отображается в среде выполнения.
-
Область отображения видео может иметь только прямоугольную форму. Нельзя использовать более сложные области отображения, например области, имеющие эллиптическую или неправильную форму.
-
Нельзя поворачивать видео.
-
Вы не можете растровый кэш видеоролик или использовать объект BitmapData, чтобы получить доступ к нему.
-
Нельзя применять фильтры к видео.
-
Нельзя применять преобразования цветов к видео.
-
Нельзя применять значение альфа к видео.
-
Режимы наложения, которые применяются к объектам в плоскости списка отображения видео, не применяются к видео рабочей области.
-
Видео можно разместить только в пределах полных пикселей.
-
Хотя рендеринг с использованием графического процессора является лучшим решением, доступным для аппаратных средств конкретного устройства, он не обеспечивает 100 % «идентичности пикселей». Небольшие варианты имеют место из-за разниц платформы и драйвера.
-
Несколько устройств не делают поддержки все необходимые цветовые пространства. Например, некоторые устройства не делают Купленной 709 поддержки, стандарт H.264. В таких случаях для быстрого отображения можно использовать стандарт BT.601.
-
Вы не можете использовать видеоролик рабочей область с параметрами WMODE, например, нормальный, непрозрачный, или прозрачный. Видео рабочей области поддерживает параметр
WMODE=direct
в других режимах, кроме полноэкранного. Параметр WMODE не работает в Safari 4 и более поздних версиях, а также в IE 9 и более поздних версиях.
В большинстве случаев эти ограничения не влияют на работу проигрывателей видео. Если эти ограничения являются приемлемыми, используйте видео рабочей области во всех возможных случаях.
|
|
|