Видеосъёмка сферических панорам

Часть 2, программная



Обработка материала

Для комфортной работы с материалом по 360 видео требуются достаточно мощные компьютеры.

На этапе разработки методики мы использовали для обработки компьютер средней мощности: некогда знаменитый Intel Core 2 Duo 3,3 ГГц, 8 МБ RAM, RAID0 2×Raptor HDD.

На таком компьютере панорамы для видеоклипа собирались 2-3 часа, что, конечно, сильно замедляло работу. Стали вспоминаться студенческие времена, когда в институте на кафедре мы уходили пить чай во время загрузки Windows 3.1.

Поэтому мы взяли компьютер посерьёзнее: мощный ПК с процессором Intel Core i7 Extreme Edition 3,3 ГГц, 24 МБ RAM, SSD-накопитель PCI-E 480 ГБ OCZ RevoDrive X2 Series SSD — и это позволило в несколько раз сократить время обработки. Теперь процесс сборки занимал не более 20 минут! В особенности хочется отметить работу SSD при работе с массивами небольших файлов. Скорость доступа в данном случае является решающим фактором. С таким мощным компьютером половину кружки чая уже приходилось оставлять на столе :)

Разборка видео на отдельные кадры

Итак, в нашем распоряжении оказались одновременно снятые клипы с 4 разных камер со звуковыми метками начала съёмки.

Как из этого материала получить сферическое видео? Мы начали с разборки всех клипов на отдельные кадры. В видеоредакторе Sony Vegas все четыре клипа были открыты одновременно.

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

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

Далее каждый клип экспортируется в отдельные папки A, B, C, D как отдельные изображения формата JPEG.

На данном скриншоте показаны установки экспорта.

В результате экспорта мы получили в папках последовательности jpg-кадров от каждой камеры.

Легко догадаться, что названия папок и индекс клипа соответствуют меткам на камерах A, B, C, D.

Для снижения результирующего потока при демонстрации сферического видео в интернете частота кадров во время экспорта была снижена вдвое, до 12 кадр/сек, т. к. съёмка велась при скорости 24 кадра/сек.

Сортировка кадров

Далее с помощью самодельной программы-сортировщика, написанной на Бейсике, каждые четыре кадра с одинаковыми номерами помещались в отдельную папку. В итоге получаем набор папок с индексом P в начале имени папки (P — panorama).

Содержимое папок распределено так, как показано на скриншоте ниже:

Итак, в папках, число которых равно числу кадров, мы получили последовательности квазисинхронных кадров, из которых предстояло собрать эквидистантные проекции (панорамы) для каждого кадра будущего сферического видеоролика.

Сборка панорам

Сборка панорам велась по шаблону в пакетном режиме с помощью популярной программы для склейки панорам PTGui Pro.

Дойдя до этого момента, хочу особенно отметить работу видеокарты ASUS GTX460 DirectCu Top/2DI/1G, использующую технологию CUDA. Данная технология позволяет производить вычисления, связанные с трансформацией изображения, средствами процессора видеокарты. Это позволило сократить время на обработку нескольких тысяч файлов в 3-5 раз. Подробнее об использовании технологии CUDA для обработки панорам можно почитать здесь.

Итак, вкратце расскажем, как делалась сборка.

Поскольку все камеры были жестко закреплены, то не было необходимости собирать с нуля каждую панораму в отдельности. Достаточно было собрать шаблон из первых кадров, а потом собрать остальные панорамы по этому шаблону. В качестве шаблона для сборки всех панорам были отобраны 4 кадра, по одному от каждой камеры, когда автомобиль ещё не двигался.

Итак, собираем эту панораму, проставляя контрольные точки по заднему плану (помним, что на переднем у нас параллакс), оптимизируем панораму, и шаблон проекта сборки готов.

В нашем случае максимальный размер видеопанорамы получился 3088×1544 пикселя. Следует заметить, что для кодирования видеоизображений необходимо выполнить условие: размер сторон кадра должен быть кратен 16. И кроме того, для трансляции через интернет мы приняли решение сократить на 30% и без того огромный поток видео. Поэтому размер результирующей панорамы в нашем шаблоне был уменьшен до 2720×1360 пикселей.

Мы не хотели вручную собирать несколько тысяч панорам, поэтому воспользовались возможностью пакетной сборки по нашему шаблону, которую предоставляет PTGui.

Оставляя проект с шаблоном открытым, запускаем Batch Builder — пакетный сборщик проектов (метка 1 на скриншоте ниже).

Следующий шаг: выбрать текущий открытый проект как шаблон для сборки всех остальных проектов (метка 2). Затем переходим к построению проектов: «Generate new projects» (метка 3).

Построение проектов выбрано по условию: «в каждой папке — одна панорама»; этот процесс наглядно иллюстрирует скриншот ниже:

В результате из каждых четырёх кадров в папках P0000…Pnnnn будут собраны проекты для сборки эквидистантных проекций. После завершения процесса сборки проектов Batch Builder предложит передать все проекты в Batch Stitcher. Соглашаемся, и далее начинается процесс сборки эквидистантных проекций (самих панорам). В зависимости от мощности вашего компьютера он может длиться до нескольких часов.

Итак, теперь в нашем распоряжении имеются эквидистантные проекции (т.  е. сами панорамы), собранные из четырёх кадров, сделанных одновременно (точнее, практически одновременно) четырьмя камерами. Причём количество данных проекций равно числу кадров в исходных видеоклипах каждой камеры.

Затем все полученные панорамы были обработаны («подкрашены») в пакетном режиме в Adobe Photoshop для придания насыщенности и красочности изображению. Уже на этом этапе было заметно, что полученный материал превосходит по динамике светотени и детализации репортаж из Гаити.

Сборка видеоклипа

Мы приближаемся в завершению сборки сферического видеоклипа. На данном этапе нам потребуется видеоредактор Adobe Premiere не ниже версии CS5. В видеоредакторе создаём проект с установками как на скриншоте, приведённом ниже:

Частота кадров равна 12 кадр/сек, как при экспорте отдельных кадров. Разумеется, можно было оставить и 24 кадр/сек, или 25 или 30 кадр/сек в зависимости от режима съёмки в камере. Но в таком случае поток кодируемого видео возрастает вдвое, и далеко не всякий пользователь сможет посмотреть ваш сферический видеоролик. Ещё раз прошу обратить внимание на то, что мы создаём видеоряд с размером кадра больше, чем Full HD (1080p), а далеко не каждый пользователь интернета может себе позволить смотреть видео 1080p онлайн из-за пропускной способности своего канала или сервера, отдающего видео. Разумеется, можно и уменьшать размер кадра, тем самым снижая битрейт и давая возможность пользователям с низкоскоростным каналом интернета смотреть сферическое видео онлайн. В данном случае, уповая на технический прогресс, который не стоит на месте, мы оставили размер кадра 2720×1360.

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

В результате, при импорте всех эквидистантных проекций в наш проект Adobe Premiere из каждого отдельного изображения будет сформирован отдельный видеокадр. Одновременно будет восстановлена длительность самого видеоряда, такая же, как и до экспорта отдельных кадров от каждой из камер.

На таймлайне расположены наши отдельные картинки, из которых будет сформирован ролик. На данном этапе на видео можно наложить некоторые эффекты. Мы использовали только эффект затемнения в начале и конце клипа. Титры и другие эффекты проще применить уже при создании веб-страницы, используя возможности технологии Flash.

Экспорт осуществлялся во flash-контейнер F4V, позволяющий кодировать видеопоток формата выше чем Full HD 1080p. Разумеется, в установках экспорта надо не забывать ввести наш нестандартный для видео размер кадра.

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

Демонстрация 360 видео в интернете

Остался вопрос, как показать полученное 360 видео зрителю. Если выложить его на YouTube, то на экране будет показано развернутое на 360 градусов плоское изображение, настолько же далекое от 360 видео, насколько пасущаяся на лугу овечка далека от хорошо приготовленного шашлыка:

Для того чтобы зритель мог видеть привычную картинку и вращать её во все стороны, нужен специальный плеер, воспроизводящий потоковые эквидистантные проекции.

Для демонстрации сферического видеоизображения мы использовали единственный доступный для нас flash-плеер компании KRPano (бета-версия), к которому мы написали самодельный интерфейс. Звуковое сопровождение у нас независимо от видеоряда и служит фоном. Иначе говоря, при остановке движения и статическом просмотре сферы в режиме «пауза» звуковое сопровождение не прерывается.

Разобравшись с методикой создания сферического видеоряда и добившись положительных результатов в адаптации бета-версии flash-плеера, мы столкнулись с ещё одной проблемой. Было непонятно, как показать это видео широкому кругу зрителей, так как банально не хватало ресурсов на сервере провайдера. Как только количество одновременных обращений к видео превышало совсем небольшую цифру 5, наш сайт, расположенный в России на виртуальной площадке Masterhost, переставал функционировать, а посетители видели сообщение «Service Temporary Unavailable». Конечно, в таких условиях показывать видеопанорамы не представлялось возможным, и наш сайт сменил прописку. Мы переехали на выделенный сервер, расположенный в Германии. Аналогичные условия в России стоили в несколько раз дороже. После анализа рынка мы выбрали именно Германию из-за очень хорошего соотношения цена-качество, а также наличия поддержки на русском языке.

Однако немецкий сервер не решил нашу проблему с видео полностью. Ресурсов теперь хватало с головой, предел одновременных просмотров возрос до нескольких сотен, но видео показывалось с сильными рывками. Увы, несмотря на очень хороший канал связи, его пропускной способности было недостаточно для качественного одновременного просмотра видео большим количеством пользователей. В самом низком качестве видео требует пропускной способности 2 Мбит/с, а в высоком качестве — 7 Мбит/с на одного пользователя, и несколько десятков зрителей могут легко забить любой канал. Напомню, что передается поток информации выше, чем у HD-видео.

Для решения этой проблемы нам пришлось обратиться к CDN-сетям (Content Distribution Network). CDN — это географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и распространение контента конечным пользователям в сети Интернет. Поясним: например, пользователям из разных географических регионов видео показывается не с одного сервера, расположенного, к примеру, в Германии, а с одного из множества серверов, объединенных в сеть CDN. Таким образом, пользователь получает контент с ближайшего к нему сервера, что сильно ускоряет процесс.

В результате мы остановились на сервисе Amazon S3, предлагаемом компанией Amazon — признанным лидером в области хранения и демонстрации больших объемов данных. Несмотря на американское расположение всех основных ресурсов, из-за использования технологии CDN наши видеоролики стали доступны для качественного просмотра не только в Америке, но и в Европе, и в России. Добиться таких ровных результатов в самых разнообразных регионах без CDN-сетей не представлялось бы возможным.

Выводы

Оказалось, что не боги горшки обжигают, и собрать установку для съёмки 360 видео можно и из подручного фотооборудования, не тратя 63 тысячи долларов на готовое решение. Мы сделали такую установку из имевшихся зеркальных камер и сумели разработать методику съёмки и склейки снятого материала в полноценное 360 видео, а также обеспечили воспроизведение этого специфического видеоматериала через интернет.

Из-за сильного параллакса на переднем плане возможности использования конструкций из зеркальных камер для съёмки 360 видео несколько ограничены. Однако зеркалки вполне можно использовать там, где нет переднего плана: например, при съёмке видео с вертолета.

Для снижения параллакса можно использовать цифровые мыльницы небольшого размера.

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

И в обоих случаях (зеркалки и мыльницы) не будет решена важная проблема: синхронная съёмка всех камер. Для этого нужно вмешиваться в электронику на уровне производителей.

Тем не менее, наши эксперименты показывают, что и на любительском уровне можно достичь вполне приемлемых результатов в съёмке 360 видео с использованием бюджетных решений, без необходимости тратить десятки тысяч долларов на специализированное оборудование.

Тестовое видео

Высокое разрешение

360 видео, тестовая съемка. Высокое разрешение, поток 7 Мбит/с:

Кремлёвская набережная Воздвиженка, Манежная площадь Охотный ряд, Театральная, Лубянка Ильинка, Красная площадь

Низкое разрешение

360 видео, тестовая съемка. Низкое разрешение, поток 2 Мбит/с:

Кремлёвская набережная Воздвиженка, Манежная площадь Охотный ряд, Театральная, Лубянка Ильинка, Красная площадь

Что дальше?

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

Производители тоже не сидят на месте, компания Sony выпустила видеомыльницу Sony bloggie MHS-PM5K. На эту камеру надевается специальная зеркальная насадка, после чего камера снимает 360 видео, правда, невысокого качества (обзор на Хабре, видео).

Разрабатывается насадка для iPhone 4, позволяющая снимать 360 видео.

Кроме Immersive Media, в интернете можно найти и другие компании, выпускающие профессиональное оборудование для съемки 360 видео.

И если к съемке 360 видео приложить грамотную режиссуру и качественную обработку, то получаются клипы профессионального качества, которые интересно смотреть. Примеры некоторых из них приводятся ниже.

Получит 360 видео в дальнейшем широкое распространение или останется экзотическим мультимедийным материалом? Покажет время. А пока смотрите профессионально сделанные ролики.

  1. Красивый полет над Монбланом. В зените находится вертолет, но его скрыли, ограничив угол обзора
  2. Клип группы Wonderland
  3. Поездка на автобусе по Лондону и там же пара музыкальных клипов
  4. Клип из кабриолета, который ездит по городу
  5. Концерт группы Muse. Тут можно выбирать для просмотра одну из шести камер: пять находятся на сцене и одна камера движется по залу вместе с оператором

Обсуждение

Добавить комментарий вы можете на этой странице




Дополнительно

Видеосъёмка сферических панорам. Часть 2, программная

Видеосъёмка сферических панорам

Часть 2, программная


Обработка материала

Для комфортной работы с материалом по 360 видео требуются достаточно мощные компьютеры.

На этапе разработки методики мы использовали для обработки компьютер средней мощности: некогда знаменитый Intel Core 2 Duo 3,3 ГГц, 8 МБ RAM, RAID0 2×Raptor HDD.

На таком компьютере панорамы для видеоклипа собирались 2-3 часа, что, конечно, сильно замедляло работу. Стали вспоминаться студенческие времена, когда в институте на кафедре мы уходили пить чай во время загрузки Windows 3.1.

Поэтому мы взяли компьютер посерьёзнее: мощный ПК с процессором Intel Core i7 Extreme Edition 3,3 ГГц, 24 МБ RAM, SSD-накопитель PCI-E 480 ГБ OCZ RevoDrive X2 Series SSD — и это позволило в несколько раз сократить время обработки. Теперь процесс сборки занимал не более 20 минут! В особенности хочется отметить работу SSD при работе с массивами небольших файлов. Скорость доступа в данном случае является решающим фактором. С таким мощным компьютером половину кружки чая уже приходилось оставлять на столе :)

Разборка видео на отдельные кадры

Итак, в нашем распоряжении оказались одновременно снятые клипы с 4 разных камер со звуковыми метками начала съёмки.

Как из этого материала получить сферическое видео? Мы начали с разборки всех клипов на отдельные кадры. В видеоредакторе Sony Vegas все четыре клипа были открыты одновременно.

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

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

Далее каждый клип экспортируется в отдельные папки A, B, C, D как отдельные изображения формата JPEG.

На данном скриншоте показаны установки экспорта.

В результате экспорта мы получили в папках последовательности jpg-кадров от каждой камеры.

Легко догадаться, что названия папок и индекс клипа соответствуют меткам на камерах A, B, C, D.

Для снижения результирующего потока при демонстрации сферического видео в интернете частота кадров во время экспорта была снижена вдвое, до 12 кадр/сек, т. к. съёмка велась при скорости 24 кадра/сек.

Сортировка кадров

Далее с помощью самодельной программы-сортировщика, написанной на Бейсике, каждые четыре кадра с одинаковыми номерами помещались в отдельную папку. В итоге получаем набор папок с индексом P в начале имени папки (P — panorama).

Содержимое папок распределено так, как показано на скриншоте ниже:

Итак, в папках, число которых равно числу кадров, мы получили последовательности квазисинхронных кадров, из которых предстояло собрать эквидистантные проекции (панорамы) для каждого кадра будущего сферического видеоролика.

Сборка панорам

Сборка панорам велась по шаблону в пакетном режиме с помощью популярной программы для склейки панорам PTGui Pro.

Дойдя до этого момента, хочу особенно отметить работу видеокарты ASUS GTX460 DirectCu Top/2DI/1G, использующую технологию CUDA. Данная технология позволяет производить вычисления, связанные с трансформацией изображения, средствами процессора видеокарты. Это позволило сократить время на обработку нескольких тысяч файлов в 3-5 раз. Подробнее об использовании технологии CUDA для обработки панорам можно почитать здесь.

Итак, вкратце расскажем, как делалась сборка.

Поскольку все камеры были жестко закреплены, то не было необходимости собирать с нуля каждую панораму в отдельности. Достаточно было собрать шаблон из первых кадров, а потом собрать остальные панорамы по этому шаблону. В качестве шаблона для сборки всех панорам были отобраны 4 кадра, по одному от каждой камеры, когда автомобиль ещё не двигался.

Итак, собираем эту панораму, проставляя контрольные точки по заднему плану (помним, что на переднем у нас параллакс), оптимизируем панораму, и шаблон проекта сборки готов.

В нашем случае максимальный размер видеопанорамы получился 3088×1544 пикселя. Следует заметить, что для кодирования видеоизображений необходимо выполнить условие: размер сторон кадра должен быть кратен 16. И кроме того, для трансляции через интернет мы приняли решение сократить на 30% и без того огромный поток видео. Поэтому размер результирующей панорамы в нашем шаблоне был уменьшен до 2720×1360 пикселей.

Мы не хотели вручную собирать несколько тысяч панорам, поэтому воспользовались возможностью пакетной сборки по нашему шаблону, которую предоставляет PTGui.

Оставляя проект с шаблоном открытым, запускаем Batch Builder — пакетный сборщик проектов (метка 1 на скриншоте ниже).

Следующий шаг: выбрать текущий открытый проект как шаблон для сборки всех остальных проектов (метка 2). Затем переходим к построению проектов: «Generate new projects» (метка 3).

Построение проектов выбрано по условию: «в каждой папке — одна панорама»; этот процесс наглядно иллюстрирует скриншот ниже:

В результате из каждых четырёх кадров в папках P0000…Pnnnn будут собраны проекты для сборки эквидистантных проекций. После завершения процесса сборки проектов Batch Builder предложит передать все проекты в Batch Stitcher. Соглашаемся, и далее начинается процесс сборки эквидистантных проекций (самих панорам). В зависимости от мощности вашего компьютера он может длиться до нескольких часов.

Итак, теперь в нашем распоряжении имеются эквидистантные проекции (т.  е. сами панорамы), собранные из четырёх кадров, сделанных одновременно (точнее, практически одновременно) четырьмя камерами. Причём количество данных проекций равно числу кадров в исходных видеоклипах каждой камеры.

Затем все полученные панорамы были обработаны («подкрашены») в пакетном режиме в Adobe Photoshop для придания насыщенности и красочности изображению. Уже на этом этапе было заметно, что полученный материал превосходит по динамике светотени и детализации репортаж из Гаити.

Сборка видеоклипа

Мы приближаемся в завершению сборки сферического видеоклипа. На данном этапе нам потребуется видеоредактор Adobe Premiere не ниже версии CS5. В видеоредакторе создаём проект с установками как на скриншоте, приведённом ниже:

Частота кадров равна 12 кадр/сек, как при экспорте отдельных кадров. Разумеется, можно было оставить и 24 кадр/сек, или 25 или 30 кадр/сек в зависимости от режима съёмки в камере. Но в таком случае поток кодируемого видео возрастает вдвое, и далеко не всякий пользователь сможет посмотреть ваш сферический видеоролик. Ещё раз прошу обратить внимание на то, что мы создаём видеоряд с размером кадра больше, чем Full HD (1080p), а далеко не каждый пользователь интернета может себе позволить смотреть видео 1080p онлайн из-за пропускной способности своего канала или сервера, отдающего видео. Разумеется, можно и уменьшать размер кадра, тем самым снижая битрейт и давая возможность пользователям с низкоскоростным каналом интернета смотреть сферическое видео онлайн. В данном случае, уповая на технический прогресс, который не стоит на месте, мы оставили размер кадра 2720×1360.

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

В результате, при импорте всех эквидистантных проекций в наш проект Adobe Premiere из каждого отдельного изображения будет сформирован отдельный видеокадр. Одновременно будет восстановлена длительность самого видеоряда, такая же, как и до экспорта отдельных кадров от каждой из камер.

На таймлайне расположены наши отдельные картинки, из которых будет сформирован ролик. На данном этапе на видео можно наложить некоторые эффекты. Мы использовали только эффект затемнения в начале и конце клипа. Титры и другие эффекты проще применить уже при создании веб-страницы, используя возможности технологии Flash.

Экспорт осуществлялся во flash-контейнер F4V, позволяющий кодировать видеопоток формата выше чем Full HD 1080p. Разумеется, в установках экспорта надо не забывать ввести наш нестандартный для видео размер кадра.

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

Демонстрация 360 видео в интернете

Остался вопрос, как показать полученное 360 видео зрителю. Если выложить его на YouTube, то на экране будет показано развернутое на 360 градусов плоское изображение, настолько же далекое от 360 видео, насколько пасущаяся на лугу овечка далека от хорошо приготовленного шашлыка:

Для того чтобы зритель мог видеть привычную картинку и вращать её во все стороны, нужен специальный плеер, воспроизводящий потоковые эквидистантные проекции.

Для демонстрации сферического видеоизображения мы использовали единственный доступный для нас flash-плеер компании KRPano (бета-версия), к которому мы написали самодельный интерфейс. Звуковое сопровождение у нас независимо от видеоряда и служит фоном. Иначе говоря, при остановке движения и статическом просмотре сферы в режиме «пауза» звуковое сопровождение не прерывается.

Разобравшись с методикой создания сферического видеоряда и добившись положительных результатов в адаптации бета-версии flash-плеера, мы столкнулись с ещё одной проблемой. Было непонятно, как показать это видео широкому кругу зрителей, так как банально не хватало ресурсов на сервере провайдера. Как только количество одновременных обращений к видео превышало совсем небольшую цифру 5, наш сайт, расположенный в России на виртуальной площадке Masterhost, переставал функционировать, а посетители видели сообщение «Service Temporary Unavailable». Конечно, в таких условиях показывать видеопанорамы не представлялось возможным, и наш сайт сменил прописку. Мы переехали на выделенный сервер, расположенный в Германии. Аналогичные условия в России стоили в несколько раз дороже. После анализа рынка мы выбрали именно Германию из-за очень хорошего соотношения цена-качество, а также наличия поддержки на русском языке.

Однако немецкий сервер не решил нашу проблему с видео полностью. Ресурсов теперь хватало с головой, предел одновременных просмотров возрос до нескольких сотен, но видео показывалось с сильными рывками. Увы, несмотря на очень хороший канал связи, его пропускной способности было недостаточно для качественного одновременного просмотра видео большим количеством пользователей. В самом низком качестве видео требует пропускной способности 2 Мбит/с, а в высоком качестве — 7 Мбит/с на одного пользователя, и несколько десятков зрителей могут легко забить любой канал. Напомню, что передается поток информации выше, чем у HD-видео.

Для решения этой проблемы нам пришлось обратиться к CDN-сетям (Content Distribution Network). CDN — это географически распределённая сетевая инфраструктура, позволяющая оптимизировать доставку и распространение контента конечным пользователям в сети Интернет. Поясним: например, пользователям из разных географических регионов видео показывается не с одного сервера, расположенного, к примеру, в Германии, а с одного из множества серверов, объединенных в сеть CDN. Таким образом, пользователь получает контент с ближайшего к нему сервера, что сильно ускоряет процесс.

В результате мы остановились на сервисе Amazon S3, предлагаемом компанией Amazon — признанным лидером в области хранения и демонстрации больших объемов данных. Несмотря на американское расположение всех основных ресурсов, из-за использования технологии CDN наши видеоролики стали доступны для качественного просмотра не только в Америке, но и в Европе, и в России. Добиться таких ровных результатов в самых разнообразных регионах без CDN-сетей не представлялось бы возможным.

Выводы

Оказалось, что не боги горшки обжигают, и собрать установку для съёмки 360 видео можно и из подручного фотооборудования, не тратя 63 тысячи долларов на готовое решение. Мы сделали такую установку из имевшихся зеркальных камер и сумели разработать методику съёмки и склейки снятого материала в полноценное 360 видео, а также обеспечили воспроизведение этого специфического видеоматериала через интернет.

Из-за сильного параллакса на переднем плане возможности использования конструкций из зеркальных камер для съёмки 360 видео несколько ограничены. Однако зеркалки вполне можно использовать там, где нет переднего плана: например, при съёмке видео с вертолета.

Для снижения параллакса можно использовать цифровые мыльницы небольшого размера.

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

И в обоих случаях (зеркалки и мыльницы) не будет решена важная проблема: синхронная съёмка всех камер. Для этого нужно вмешиваться в электронику на уровне производителей.

Тем не менее, наши эксперименты показывают, что и на любительском уровне можно достичь вполне приемлемых результатов в съёмке 360 видео с использованием бюджетных решений, без необходимости тратить десятки тысяч долларов на специализированное оборудование.

Тестовое видео

Высокое разрешение

360 видео, тестовая съемка. Высокое разрешение, поток 7 Мбит/с:

Кремлёвская набережная Воздвиженка, Манежная площадь Охотный ряд, Театральная, Лубянка Ильинка, Красная площадь

Низкое разрешение

360 видео, тестовая съемка. Низкое разрешение, поток 2 Мбит/с:

Кремлёвская набережная Воздвиженка, Манежная площадь Охотный ряд, Театральная, Лубянка Ильинка, Красная площадь

Что дальше?

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

Производители тоже не сидят на месте, компания Sony выпустила видеомыльницу Sony bloggie MHS-PM5K. На эту камеру надевается специальная зеркальная насадка, после чего камера снимает 360 видео, правда, невысокого качества (обзор на Хабре, видео).

Разрабатывается насадка для iPhone 4, позволяющая снимать 360 видео.

Кроме Immersive Media, в интернете можно найти и другие компании, выпускающие профессиональное оборудование для съемки 360 видео.

И если к съемке 360 видео приложить грамотную режиссуру и качественную обработку, то получаются клипы профессионального качества, которые интересно смотреть. Примеры некоторых из них приводятся ниже.

Получит 360 видео в дальнейшем широкое распространение или останется экзотическим мультимедийным материалом? Покажет время. А пока смотрите профессионально сделанные ролики.

  1. Красивый полет над Монбланом. В зените находится вертолет, но его скрыли, ограничив угол обзора
  2. Клип группы Wonderland
  3. Поездка на автобусе по Лондону и там же пара музыкальных клипов
  4. Клип из кабриолета, который ездит по городу
  5. Концерт группы Muse. Тут можно выбирать для просмотра одну из шести камер: пять находятся на сцене и одна камера движется по залу вместе с оператором

Обсуждение

Добавить комментарий вы можете на этой странице