360° Фото 360° Видео Фотогалерея Прайс-лист
EN

Статьи / Съемка сферических 360-видеоклипов (360 видео)

20.09.2011

Данная статья написана не как сухое руководство пользователя по съёмке сферических видеоклипов, а как история наших экспериментов по этому вопросу со всеми совершенными ошибками, подчас курьезными,  и лирическими отступлениями.

 

360 видео. История появления

Ещё около десяти лет тому назад, когда первые цифровые камеры стали доступны широкому кругу пользователей, идея сферического изображения была такой же виртуальной, как и сама виртуальная реальность.  Прорыв произошёл  в последние 5-6 лет. За это время сферические панорамы успели определиться как жанр:  зритель может вместе с панорамными фотографами взмыть в небеса, погрузиться в пучины океанов, побывать в самых дальних уголках нашей планеты и даже поджариться вместе с яичницей в духовом шкафу. Ощущения присутствия в точке съёмки, которые дает сферическая панорама, на порядок превосходят самую дорогую и профессиональную традиционную фото- и видеосъёмку. С точки зрения визуализации окружающего пространства  традиционные жанры остались далеко позади.

С развитием технологий самые смелые панорамные фотографы стали задавать вопрос: а можно ли снимать не только статические сферы, когда зритель находится лишь в неподвижной точке съёмки? Можно ли снимать сферы в движении, давая возможность зрителю передвигаться в пространстве и при этом смотреть по сторонам?  Тогда это казалось фантастическим.

Тем не менее, прогресс неумолимо двигался вперёд, и фантастика стала реальностью.

Одной из первых сферические видеоролики представила компания Immersive Media  www.immersivemedia.com

Несколько  лет назад мы случайно увидели на сайте CNN интерактивный видеорепортаж, сделанный Immersive Media после землетрясения, которое практически полностью разрушило столицу Гаити:

http://www.cnn.com/interactive/2010/01/world/haiti.360/index.html (тут есть 5 роликов)

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

Весной 2011 года мы заинтересовались съёмкой 360 видео и обратились в Immersive Media с запросом цен на оборудование. Но предложение Immersive Media выбило нас из колеи: 63 тысячи долларов за камеру и сопутствующее оборудование, срок поставки — несколько месяцев. Мы задумались....

Кроме высокой стоимости оборудования, нас смущали низкие характеристики снимаемого видео, слабые по меркам нынешнего времени. Анализ видео с Гаити показал, что размер кадра в ролике составляет 1792х896 пикселей, битрейт — 1600 Кбит/сек при частоте кадров 15 к/сек.

Надо сказать, что мы уже имели большой опыт съёмки сферических панорам и умели делать то, что делает мало кто в мире: съёмка сфер в воздухе с вертолетов, самолетов, радиоуправляемых моделей, воздушных шаров, подводная съёмка сфер. На сайте AirPano.ru сейчас выставлены  виртуальные туры, снятые в воздухе примерно в 350 интересных местах Земли. Некоторые наши работы являются уникальными с технической точки зрения. Так, мы сняли сферическую панораму на скорости 250 километров в час в колонне вертолетов, сделали гигапиксельную панораму в воздухе на высоте 1 км и научились снимать сферические панорамы в небе ночью. Кроме съёмок панорам, у нас имелся опыт монтажа видеоклипов на уровне приблизительно «выше среднего».

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

 

Начало. Первые трудности

В качестве видеокамеры решено было взять камеру Canon 5D Mark II, позволяющую снимать в формате Full HD 1080p. С помощью Canon мы предполагали получить более широкий динамический диапазон, чем в ролике с Гаити, снятом с использованием матриц, применяемых в недорогих мыльницах. В качестве объектива мы выбрали Sigma 10мм fisheye, у которого обрезана бленда. Мы часто используем такие объективы в обычных съёмках. Сама процедура обрезки, когда Андрей Зубец на кухне  ножовкой спиливает бленду с объектива, выглядит вот так:

Конечно, объектив после этого не выглядит как новый :), но зато можно снять сферическую панораму, сделав всего три кадра.

Наш план изготовления «360 видео» был таким: снять обычное видео одновременно с трех камер, затем разбить видео на  отдельные кадры, из этих кадров склеить сферические панорамы, а потом из панорам снова собрать видео, но уже 360 градусов. Как видите, ничего сложного :)

Но при практическом осуществлении этого простого плана мы обнаружили большое количество препятствий, подчас просто непреодолимых. Неделю длился мозговой штурм, и ещё неделю мы экспериментировали со съёмкой и сборкой материала. Через две недели на сайте появился наш первый тестовый ролик, который через 10 минут завалил сервер :)   Далее мы расскажем, как мы боролись с трудностями, и что из этого получилось.

Первое,  с чем мы столкнулись, это формат видеокадра. Пропорции традиционного фотокадра  - 4:3, а видеокадр имеет пропорции 16:9.

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

Таким образом, оказалось, что собрать сферу из 3 видеокадров, как мы хотели,  невозможно - не хватает перекрытия. Это была самая простая наша проблема. Пришлось использовать не три,  а четыре камеры. Ну и соответственно 4 объектива. К счастью, AirPano обладает достаточным количеством оборудования ;)

Для крепления камер было изготовлено вот такое устройство.

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

Уже на этом этапе мы всерьез задумались над тем, чтобы для снижения параллакса отказаться от использования профессиональных камер (Canon 5D Mark2).  Вместо них можно брать цифровые мыльницы небольшого размера. Из имеющихся на рынке мыльниц более всего подходит камера GoPro , так как она в стандартной поставке оборудована фишаем с углом обзора 170 градусов. Мы купили GoPro и провели с ней эксперименты. Из 4-5 таких мыльниц вполне можно собрать компактную конструкцию для съёмки 360 видео, к тому же значительно более дешевую (около 5*450$=2250$). Если же покупать камеры за рубежом, то стоимость ещё снизится: 5*259$=1300$.

Нужно упомянуть ещё одно из преимуществ использования мыльниц - компактность и малый вес всей конструкции.

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

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

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

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

Следующая проблема, с которой пришлось столкнуться - это синхронизация камер. Все 4 камеры должны снимать синхронно, одновременно делая каждый кадр. К большом у сожалению, Canon 5D Mark II не позволяет включить запись видео на всех камерах синхронно.  Запись включается только вручную кнопкой SET. Для того, чтобы вывести сигнал включения записи на внешнее устройство и таким образом сделать одновременный старт записи на всех 4 камерах, требуется разобрать камеры и припаять провода к этой кнопке. По понятым причинам мы не сразу решились на этот шаг и вначале стали искать альтернативные пути.

Среди аксессуаров Canon был обнаружен Wireless File Transmitter WFT-E4 II A, в описании которого указано, что с его помощью можно одновременно делать снимки с 10 камер. Но можно ли включать таким же образом запись видео, было непонятно.

Мы попытались задать вопрос в Canon USA, но тут нас поджидала неудача - вопросы на сайте Canon USA принимались только от граждан США. Так мы впервые лично столкнулись с американской политикой двойных стандартов :)  Выручил знакомый фотограф, проживающий в Далласе, он отправил в Canon наш вопрос и на следующий день переслал обратно ответ: «Уважаемый потребитель, одновременная запись видео таким образом не включается. Благодарим за интерес к нашей продукции»

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

Через знакомых обратились за консультацией в московское представительство Canon, и там быстро поняли суть вопроса. Выяснилось, что Canon выпускает профессиональные видеокамеры с системами GenLock и V-lock  (http://en.wikipedia.org/wiki/Frame_synchronizer). В камере 5D Mark2  всего этого нет.

Там же нам снова предложили припаять провода к кнопке SET и вывести их наружу. Мы уже почти вскрыли первую камеру, но все же в последний момент отказались по следующим соображениям. Даже если мы припаяемся к кнопкам SET всех 4 камер, Canon не нормирует параметр «время старта записи» от момента нажатия кнопки «запись видео». Не факт, что время старта записи стабильно, или хотя бы у каждой камеры одинаково. Вполне вероятно, что это величина случайна, и разборка камер будет сделана зря, и как результат будут испорчены 4 камеры.

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

Это все меняло.

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

Итак, все камеры включаются на запись, затем делается громкий хлопок в ладоши, аналог киношной «хлопушки» -  и одновременное начало видеоряда обозначено! Изящное решение, но, к сожалению, как оказалось, лишь частичное. Хлопушка не решала другую важную проблему - фазирование начала кадра в камерах. Камеры по звуку можно фазировать дискретно, т.е. только с точностью до одного кадра. При частоте съёмки 15 к/сек. погрешность будет 1/15 сек.  При частоте кадров 30 к/сек, соответственно, 1/30 сек. Для лучшего понимания можно взглянуть на  следующий эскиз.

Рассмотрим работу двух камер (в реальной ситуации их было четыре). Предположим, съёмка ведётся с частотой 30 кадров/сек. В верхнем ряду зелёные секторы обозначают время экспозиции первой камеры, красные  - второй камеры. Поскольку камеры запускаются вручную, то время экспозиции у всех камер сдвинуто по времени на случайную величину. При подгонке кадров мы можем выбрать точку разреза только дискретно - по частоте кадров. Т.е. для того, чтобы подогнать камеру с красными секторами к зеленому сектору, придётся выбрать красный кадр A или В, но оба они не совпадают в с зелёным кадром. Таким образом в любом случае есть разница во времени между съёмкой каждой камеры. Величина эта чисто случайна, и лежит в промежутке времени, равному длительности кадра.

Для статических изображений, если камера стоит на месте, этот параметр не имеет значения.  Если быть точным, почти не имеет  - до тех пор, пока движущийся объект не проходит границу зоны пересечения соседних кадров. В этом случае при быстром движении объекта он будет «разрезан», и на объекте появится «ступенька».

В случае сферической видеосъёмки в движении проблема значительно усугубляется. При перемещёнии и даже при наклонах устройства за 1/15 сек угол обзора камер, снимающих соседние кадры, изменяется насколько, что граница перехода между кадрами становится весьма заметной. Единственным решением проблемы является жёсткая синхронизация фазы съёмки. В профессиональной технике существует внешняя синхронизация (англ. External Synchronazation) - V-Lock (кадровой развертки) или Gen-Lock (кадровая и чересстрочная развертка). Через специальный разъём подключается внешний генератор (роль которого может выполнять одна из камер, назначенная  ведущей), и все камеры снимают «кадр в кадр, строка в строку». На пользовательском уровне проблема практически неразрешима. Поэтому с ней пришлось просто смириться.

 

Съёмка

Перед съёмкой мы оклеили байонеты всех 4 камер бумажным строительным скотчем для того, чтобы во время движения в матрицы через байонет не надуло дорожной пыли. Мы планировали снимать видео с вертолета и хотели проверить работоспособность системы на скорости 100-120км/ч. Для съёмки на низких скоростях этого делать не нужно. Обёрнутые скотчем 4 камеры,  выдвинутые на шесте из люка  автомобиля, выглядели очень забавно.

Для того, чтобы после склейки видео со всех 4 камер выглядело единообразно, необходимо отключить все автоматические функции камеры: экспозицию, баланс белого и снимать в ручном режиме. И здесь нас подстерегала ещё одна неприятность, уже  из разряда курьёзных, корни которой кроются в неинтуитивно сделанном меню у камер Canon, а также отсутствии надлежаще написанной документации. Мы провели несколько тестовых съёмок, и каждый раз видели, что временами яркость кадров на нашем видео отличается. Вначале мы грешили на то, что на одной из камер может случайно провернуться колесико настроек, когда мы вытаскиваем конструкцию в люк автомобиля, потом стали думать, что сами камеры немного разные, из разных партий. Но на третий день (а каждая съёмка вместе с обработкой занимала целый день) мы пришли к выводу, что у нас банально  не работает ручной режим Manual, несмотря на то, что мы его явно установили. И если в объектив какой-либо из камер попадало солнце, камера автоматически немного притемняла кадр, а когда машина поворачивала в сторону, яркость снова восстанавливалась.

Когда мы это поняли, разгадка была найдена быстро.

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

Работа видео в режиме Manual включается не поворотом управляющего диска на корпусе камеры, а так:

Меню - Настройки ЖКД-видоискателя -> Уст. ЖКД-видоис. - Фото и видео ->
-> Режим отображения на мониторе - Видео

Для английской версии меню:

Menu - Live View/Movie func. set. -> LV func. setting - Stills+movie -> Screen settings - Movie display

На финальной съемке в одной из камер по случайности не был выставлен режим Manual. Но поскольку мы уже провели 4 дня на тестировании, мы решили не переснимать наш первый тестовый ролик «вокруг Кремля», и внимательный зритель может заметить, как иногда меняется яркость некоторых частей видео.

С целью облегчить последующую  сортировку материала  на камеры были наклеены стикеры A, B, C, D. Таким же образом  были помечены и флеш-карты каждой камеры.  Съёмка начиналась в такой последовательности:

1. Устанавливаем экспозицию в ручном режиме, одинаковую для всех камер (одинаковые ISO, диафрагма, выдержка, баланс белого). Кроме того, устанавливаем одинаковые пресеты (Стиль изображения) для внутрикамерного JPG - они тоже влияют на видеосъёмку. Фокусируемся на бесконечность через live view (автофокус на фишае работает нестабильно), блокируем фокус, заклеиваем кольцо фокусировки скотчем, чтобы случайно не сдвинуть.

2.  Переводим все камеры в режим Live View.

3. Выбираем в меню камеры ручной режим съёмки видео, как было описано выше.

Для подтверждения  убеждаемся, что в меню стоит следующая пиктограмма:

4. Поочерёдно включаем запись на камерах А, В, C и D. Съёмка началась.

5. Делаем громкий хлопок в ладоши. Этот звук и есть наша киношная «хлопушка».  По этой метке  будет осуществлено выравнивание клипов от всех камер.

6. Выдвигаем камеры в люк автомобиля и начинаем движение.

Следим за таймером, так как максимальное время записи составляет 12 минут. Это определяется файловой системой флеш-карты камеры, в которой размер файла не может быть более 4Gb.

Итак, с использованием данной методики в апреле 2011 было снято несколько тестовых видеоклипов в движении с автомобиля, а также с вертолета над МКАД.

- Видео о съёмке с автомобиля

- Видео о съёмке с вертолета

 

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

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

На этапе разработки методики мы использовали для обработки компьютер средней мощности: некогда знаменитый Intel Core 2 Duo 3.3 GHz, 8 GB RAM,  RAID0 2xRaptor HDD.

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

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

 

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

Итак, в нашем распоряжении оказались одновременно снятые клипы с 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 раз. 

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

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

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

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

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

Оставляя проект с шаблоном открытым, запускаем batch Builder - пакетный сборщик проектов

(метка 1 на скриншоте ниже).

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

Для демонстрации сферического видеоизображения мы использовали единственный доступный для нас flash плеер компании KRPANO   http://krpano.com/video/ (бета версия), к которому мы написали  самодельный интерфейс. Звуковое сопровождение у нас независимо от видеоряда и служит фоном.  Т.е. при остановке движения и статическом просмотре сферы в режиме «пауза» звуковое сопровождение не прерывается.

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

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

Для решения этой проблемы нам пришлось обратиться к 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 видео, правда, невысокого качества:
http://habrahabr.ru/blogs/gadgets/86160/
http://www.youtube.com/watch?v=LjVodf2Bnwg

Разрабатывается насадка для iPhone 4, позволяющая снимать 360 видео:
http://www.iphones.ru/iNotes/131920

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

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

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

 

Обсуждение

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

 

Оригинал статьи был опубликован на iXBT

 

Авторы: Андрей Зубец, Олег Гапонюк

20.09.2011