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

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



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

Но люди пишут, а тем более рисуют, а тем более рисуют красиво не так уж и быстро. Было решено добавить немного картинок. И мы попробовали несколько способов:

  1. Показывали картинки и текст на телесуфлере. При этом спикер постоянно смотрит в камеру, а объекты просто накладываются при монтаже.
  2. Отображали полупрозрачные картинки поверх видео и проецировали на стену перед спикером. При этом спикер смотрит на элементы, о которых говорит. Однако направление его взгляда достаточно сильно расходится с ожиданиями зрителя.
  3. Отображали полупрозрачные картинки поверх видео, но теперь ставили метки на стекле там, где располагаются элементы. Теперь уже лектор смотрит, куда надо, но вот только метки надо ставить для каждого нового объекта и помнить, за что отвечает каждая метка.
  4. Водили руками в том месте, где ожидается появление объекта, а потом подставляли объекты при монтаже. Но этот вариант оказался крайне трудоемким, как с точки зрения постобработки, так и с точки зрения съемок.

Затем мы провели анализ рынка, который показал, что большинство использует либо «говорящую голову» вместе с презентацией, либо дорогостоящие способы (например, съемки с хромакеем). И мы начали разработку собственного программного продукта. При этом стремились к тому, чтобы спикер просто скачал нашу программу, сделал в ней презентацию, провел съемки в студии, а потом обрезал начало и конец хороших дублей встроенными средствами Windows или YouTube и получил готовое видео. Далее, убирая узкие места, мы смогли начать проводить и видеотрансляции без потери качества.

Рассмотрим как все устроено:


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

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



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





Видно, что изображения на левом и правом проекторах искажены по-разному. Это происходит из-за того, что проекторы расположены под разными углами и на различных расстояниях от экранов.

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



Теперь появилась возможность смотреть на объект, показывать на его элементы руками и писать маркером во время съемок. Но хотелось добавить больше возможностей взаимодействия, и тут наш выбор пал на Kinect v2. Теперь у нас в распоряжении появились координаты головы, рук и информация о трех жестах: «кулак», «ладонь» и «лассо». Далее координаты из Kinect надо было преобразовать в координаты основной камеры. И тут на помощь пришли OpenCV и Хабр habrahabr.ru/post/272629. Большое спасибо автору за толковую статью. Хотелось бы поделиться опытом: используйте шахматную доску большого размера. Сейчас у нас используется доска 6х9 клеток и размером А0. Это увеличивает точность преобразования и существенно ускоряет сходимость алгоритма.

Сначала были добавлены простые возможности: рисовать или стирать с помощью руки, перемещать объекты, скрывать их или наоборот делать видимыми. Далее были созданы активные элементы: «карта», по которой можно перемещаться и изменять масштаб, «текст» с возможностью вертикальной перемотки и «браузер», которым можно пользоваться практически так же, как в обычном тач-интерфейсе.



И вот что получилось:


А можно добавить и стеклянную доску:


До появления активных элементов пользователи создавали презентации в Power Point и импортировали в Jalinga Studio с помощью встроенного механизма. Но эти изменения потребовали от нас создания полноценного встроенного редактора для создания презентаций.



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



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

На том, как устроена программная часть, мы подробнее остановимся в следующих статьях. Пока только упомянем, что система не требует большого количества ресурсов, и в качестве сервера может использоваться компьютер со следующей комплектацией: i5-4460, DDR3 8 ГБ (2x4ГБ), GeForce GTX750Ti, AVerMedia Live Gamer HD.

Так, в общих чертах, мы постарались оживить уже привычные всем презентации. В ближайшее время мы планируем сосредоточится на новых способах взаимодействия с аудиторией при проведении трансляций и вебинаров. А пока будем рады комментариям и вопросам.
Поделиться с друзьями
-->

Комментарии (15)


  1. mad_god
    07.12.2016 17:33
    +8

    Не важно, что я говорю, важно, как я это говорю )


    1. GreyCat
      07.12.2016 18:46
      +4

      У меня вот почему-то от всего показанного выше ощущение, как будто окунулся в середину 90-х, где были все эти "домашние странички" с вырвиглазными бэкграундами, танцующими хомячками и прочими "крутыми" спецэффектами.


      Если какие-то вещи можно делать технически — это еще не значит, что это действительно к месту и будет хорошо смотреться. А тут еще и технически все печально: Kinect неприятно тормозит, человек смотрит куда угодно, но не в камеру. Ну и "просто скачал нашу программу, сделал в ней презентацию, провел съемки в студии" выглядит как издевательство, учитывая, что студию еще надо в любом случае строить и это как-то совсем не тянет на ультра-дешевое или легковесное решение.


      1. Jalinga
        07.12.2016 19:30
        +1

        Технология разработана, чтобы решать определенные задачи. Конечно, с помощью нее фильмы снимать не стоит. Но мы будем стараться и далее улучшать качество картинки. Что касается направления взгляда человека, то идея в том, чтобы, взаимодействуя с объектами, смотреть на них, а обращаясь к зрителям, смотреть в камеру.
        «просто скачал нашу программу, сделал в ней презентацию, провел съемки в студии» – здесь речь шла о процессе работы в уже созданных студиях. Хотя создание такой студии не является очень дорогим и трудоемким процессом.


    1. woodhead
      08.12.2016 09:08
      +2

      Да, это он :-)


    1. alex_bel
      09.12.2016 05:14

      Очень-очень похож, но вроде голос не тот.


      1. alex_bel
        09.12.2016 05:39
        +1

        Ошибся. Точно он :)


  1. MasterTeam
    07.12.2016 18:00
    +1

    Интересное решение.
    Кому думаете продать? ИМХО для каналов новостей самое то. А то на L!FE TV сейчас такие унылые интерактивные доски…


    1. Jalinga
      07.12.2016 18:07
      +1

      Сейчас наши основные клиенты — это образовательные центры, школы и ВУЗы. Хотя мы уже вели переговоры с одним из каналов.


  1. Tazman
    08.12.2016 12:36
    +1

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


    1. Jalinga
      08.12.2016 12:52

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


      1. Archer13
        08.12.2016 18:23
        +1

        А вот пиджак с торчащим носовым платочком на неправильной стороне режет глаз :)


  1. FelixR
    08.12.2016 13:58

    Спасибо, очень интересно. Думал об этом, но до материального воплощения так и не довёл, респект вам!


  1. vatran
    08.12.2016 18:31

    А какую вы камеру использовали для съемки и как она выдавала картинку?


    1. Jalinga
      08.12.2016 18:32

      Использовалась камера Blackmagic Pocket Cinema, а далее по hdmi на AVerMedia Live Gamer HD.


  1. zorgzerg
    09.12.2016 07:22

    Это ж «самый лучший голос Саратова». Внезапно было встретить его на Хабре ))