Что такое виртуальная реальность (VR)

2016-10-13 21:49:00

Довольно давно создатели видеоконтента пробуют различные варианты, позволяющие наиболее глубоко погрузиться в просмотр видеоролика. Повышение разрешения, добавление объема (3D), а теперь еще и панорамные съемки. Благодаря тому, что размер кадра можно не ограничивать стандартным размером экрана телевизора или другого устройства воспроизведения, появляется возможность съемки с захватом изображения вплоть до 360x360 градусов. В этом случае зритель находится в центре сферы, на которую проецируется картинка. Он может вращать головой, чтобы посмотреть ту ее часть, которая может быть интересна в данный момент. Это позволяет не просто взглянуть на мероприятие глазами оператора, а смотреть именно то, что вам угодно. Например, камера, установленная в концертном зале, фактически позволяет достичь эффекта присутствия и смотреть на происходящее, как будто вы находитесь в зале на том месте, где установлено съемочное оборудование.

Это позволяет создать виртуальную реальность (VR) и поместить в нее реального зрителя. Безусловно, это очень перспективная тема, которая все более востребована как для прямых трансляций спортивных событий, концертов, докладов, массовых мероприятий, так и для создания видеороликов, например, для электронных гидов.

На сегодняшний день не придумано камеры с единой матрицей для панорамной съемки, поэтому используется несколько съемочных устройств, изображение с которых в дальнейшем склеивается (stitching) в единую картинку. Как и при классической съемке, качество зависит от аппаратуры. Это типы объективов, количество и правильное расположение камер, качество склейки и так далее.

На сегодняшний день рынок подобных решений нельзя назвать насыщенным, однако уже есть камеры как для любительской съемки, так и профессиональные решения, представляющие собой сложные сборные конструкции. Среди бюджетного сегмента есть камеры LG, Samsung. Они не умеют передавать Live-потоки могут только осуществлять запись, которую, правда, в дальнейшем можно опубликовать на каком-либо сервисе.

Есть и более дорогие камеры типа ORAH 4i. Камера является более продвинутой по параметрам, а также может использоваться для публикации live потока на медиасервер по протоколу RTMP.

Кроме того компания 360 Designs выпускает риги и готовые сборки на базе камер BlackmagicCinema 4K и Studio 4K. Есть разные типы конструкций, содержащие от 3 до 42 камер. А если учесть, что каждая из них оснащена матрицей 4К, то результирующий сигнал будет иметь просто невероятное значение и степень детализации. Впрочем, как и цену, а также необходимость высокой квалификации и опыта для сборки, обслуживания и эксплуатации.

Есть и еще одна сложность – сигнал с камер должен быть склеен и перекодирован в формат, пригодный для стриминга. Для этой цели можно воспользоваться специальным программных обеспечением. Например, VahanaVR. Это Windows-приложение, которое позволяет осуществить захват множества источников, склеить их и наложить на поверхность сферы. Далее материал пишется в файл, а также передается в виде компрессированного RTMP потока на медиасервер. RTMP протокол позволяет передать поток на сервер Wowza Streaming Engine. Для любого подобного сервиса это все тот же самый поток (тот же протокол, тот же тип компрессии аудио и видео, те же принципы формирования изображения), только имеющий более высокое разрешение и битрейт. То есть концепция, по сравнению с классическим форматом видео, не изменилась. Открытым остается лишь один вопрос – как смотреть такое видео? Ответ – нужен специальный плеер, который позволит каким-либо способом увидеть больше, чем позволяют рамки стандартного окна и угол зрения человека. Варианты реализации следующие: • Очки виртуальной реальности. Человек вращает головой, как будет он находится в том месте, откуда идет трансляция, и может видеть все так, как ему хочется. • Плееры мобильных платформ. Пользователь перемещает устройство, а видео меняется в зависимости от этих перемещений. По принципу то же самое, что и очки, только теперь это телефон или планшет. • Демонстрация склеенного видео с умещением в окно стандартного плеера. В итоге выходит неудобная для просмотра картинка, в действительности не позволяющая достичь эффекта присутствия. Теперь рассмотрим более подробно первые 2 варианта. Фактически они представляют общую идею но с той разницей, что плеер для воспроизведения может быть программным или аппаратно-программным решением. Далеко не любой плеер будет поддерживать работу с подобным потоком видео данных, необходимо обеспечить средства для изменения обзора сцены по вертикали и горизонтали. Одним из способов решения проблемы будет являться стриминг потока на видео хостинги типа YouTube, где уже реализованы принципы управления просмотром внутри HTML5 плеера. Есть возможность управлять взглядом с помощью мыши и клавиатуры, а, при наличии, через VRшлемы. На мобильных платформах же достаточно просто перемещать устройство в пространстве, чтобы изменить обзор. Если создавать собственное решение без привлечения облачных ресурсов, то необходимо обеспечить следующие компоненты: 1. Источник видео и аудио сигналов; 2. Средства для склейки видеосигналов в панорамное изображение в реальном времени; 3. Кодер, способный осуществить компрессию сигнала без искажения картинки; 4. Медиа сервер для раздачи потока на абонентские устройства; 5. Специальный плеер, поддерживающий работу с панорамным изображением. Во всей цепочке качество конечного продукта обеспечивает, в первую очередь камера и способы склейки нескольких картинок в единое изображение. Если взять камеру типа Orah 4i, тут все просто. Подключили к интернету и передали по RTMP поток на медиа сервер. Но при желании и финансовых возможностях можно добиться более высокого качества съемки. Для этого можно использовать практически любые съемочные устройства. Но есть масса подводных камней, которые не позволяют решить задачу «в лоб», просто установив камеры с широкоугольными объективами по окружности. Следует помнить о том, что они должны синхронно передавать кадры с матрицы на устройство для склейки (stitching), необходимо настроить цветовую температуру, обеспечить равномерность установки по вертикали и горизонтали и так далее. Рабочая конструкция требует серьезной инженерной проработки. Не стоит забывать и про звук. После того, как устройство съемки готово, синхронные кадры поступают на устройство склейки, которое представляет собой мощную рабочую станцию, оснащенную платами захвата изображения и звука. Перед тем, как окончательно выбрать, на чем строить такую станцию, необходимо понять, куда пойдет генерируемый ею поток. Так как в статье мы обсуждаем реализацию собственного решения без использования готовых сервисов, то стоит подумать и о медиа сервере, который будет принимать этот поток. Wowza Media официально объявило о поддержке стриминга 360, что позволяет выбрать ее в качестве медиа сервера, нужно лишь выяснить, откуда лучше всего отдать IP-поток. Официальной рекомендацией является решение VahanaVR от компании VideoStitch. Продукт позволяет собрать станцию с необходимым количеством видео входов. Он позволяет склеить картинку, расположив сигналы камер на поверхности сферы, записать в файл, а также передать в виде RTMP Live-потока на медиа сервер. Рабочая станция комплектуется необходимым количеством плат DeckLink/AJA/Magewell, процессором IntelCorei7-5930K или более мощным, GPUNVIDIAGeforce 980 Ti. На выходе получаем RTMP, SDI/HDMIсигналы, а также вывод на шлемы виртуальной реальности OculusRift или HTCVive. Следующим этапом необходимо подобрать совместимый плеер, и тут опять же лучше всего выбирать из официально совместимых. VideoStitchпредлагает следующие решения: • Krpano: поддержкаFlash и HTML5/WebGL, протоколы RTMP и HLS; • VRPlayer: плеер для рабочих станций с открытым исходным кодом (OpenSource) с поддержкой широкого спектра форматов и геометрических проекций. Также есть версия для Android(но есть проблемы с воспроизведением 4К); • Sphereplay: поддерживает до 16 различных проекционных раскладок в форматах 2Dи 3D. Поддерживает воспроизведение сферического видео HD, 4K, 8K. Доступен для iOSи Android. Также можно воспользоваться набором разработчика Panframe SDK для создания собственного решения под конкретную задачу. Пакет позволяет: • Создавать собственные решения под iOS, tvOS, Android, HTML5, Flash, OSX и Windows; • Обеспечить навигацию в 2Dили 3D с поддержкой OculusRift и MicrosoftKinect; • Поддерживает работу с Liveи VODконтентом; • Поддерживает протоколы RTMP, HLS, DASH; • Работает с H.264 и H.265; • Поддерживает разрешение вплоть до 8К как для настольных ПК, так и для мобильных устройств. Не стоит забывать и про шлемы виртуальной реальности (к примеру OculusRfit или HTCVive), которые позволяют отслеживать положение и наклон головы, скорость ее перемещения и вращения. Есть также и более просты решения от Samsung (GearVR), представляющие собой очки, в которые закрепляется смартфон. Как видно, выбор большой. Можно взять готовое или создать собственное решение, обеспечив полную кастомизацию всех функциональных возможностей. Благодаря тому, что абсолютно все компоненты имеют как широкий набор настроек, так и возможности разработки собственных решений и интерфейсов, можно построить более сложную структуру, где конечный пользователь не просто получает окно плеера, в котором он управляет обзором, но также добавить туда различные элементы инфографики, метаданные и т.п. Например, футбольный матч, который можно снабдить счетом, изменением аудио сопровождения в зависимости от направления взгляда, информацией об игроках и их положении на поле, обеспечить высокое качество (до 8К) изображения, что позволит в полной мере окунуться в игру, владея даже более полной картиной происходящего, чем болельщики на трибунах. Если не брать в расчет методы получения дополнительных данных, то решение также не представляется сложным. Требуется лишь синхронно передать видео, аудио и метаданные. Подводя итог, можно с уверенность говорить о том, что на сегодняшний день для погружения пользователя в виртуальную реальность есть практически все компоненты. И это не просто просмотр видео 3600х3600, а создание полноценной виртуальной среды, включающей в себя аудио сопровождение, наложение дополнительных данных (так называемая дополненная реальность), управление перемещением, зуммированием изображения и так далее. Причем качество получаемой картинки практически ничем не ограничено, кроме физических возможностей оборудования. Если же все это не нужно, то достаточно просто купить камеру с поддержкой стриминга 3600 (например Orah 4i), установить медиа сервер для раздачи потока на абонентские устройства (Wowza Streaming Engineили Wowza Streaming Cloud) и опубликовать потоки на сайте. Можно применить готовый плеер (SpherePlay, Krpanoили VRPlayer), либо разработать свой продукт согласно задаче на базе Panframe SDK.