Upload
cs-center
View
35
Download
2
Embed Size (px)
Citation preview
Добавление источника контента вприложение Fulldive VR
Виталий ВельямидовРуководитель: Алексей Суворов (Fulldive CTO)
FULLDIVE
22 декабря 2016 г.
. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .
...
.
...........................
.
...
.
...
.
Введение
Fulldive VR — платформа для просмотрамедиаконтента в виртуальной реальности наAndroid устройствах.
Основная функциональность:▶ просмотр сферического видео▶ просмотр 3D видео▶ социальное взаимодействие▶ запуск других VR приложений
1 /13
...
.
...........................
.
...
.
...
.
Введение
Fulldive VR — платформа для просмотрамедиаконтента в виртуальной реальности наAndroid устройствах.
Основная функциональность:▶ просмотр сферического видео▶ просмотр 3D видео▶ социальное взаимодействие▶ запуск других VR приложений
1 /13
...
.
...........................
.
...
.
...
.
Введение
Youku — аналог Youtube в Китае.
▶ самый популярный видеохостинг▶ имеет сферическое и 3D видео
2 /13
...
.
...........................
.
...
.
...
.
Цели и задачи
Цель: добавить сервис youku как источникконтента в приложение Fulldive VR.
Задачи:▶ Разобраться в основах разработкиприложений для Android OS
▶ Реализовать воспроизведение видео по id▶ Реализовать поиск видео по ключевомуслову
▶ Реализовать поиск по сферическим видео
3 /13
...
.
...........................
.
...
.
...
.
Цели и задачи
Цель: добавить сервис youku как источникконтента в приложение Fulldive VR.
Задачи:▶ Разобраться в основах разработкиприложений для Android OS
▶ Реализовать воспроизведение видео по id▶ Реализовать поиск видео по ключевомуслову
▶ Реализовать поиск по сферическим видео
3 /13
...
.
...........................
.
...
.
...
.
Структура приложения
▶ Все отрисовывается в одном окне (Activity)средствами OpenGL.
▶ Свой UI фреймворк (OpenGL + Google VRSDK)
▶ Основные компоненты:▶ базовые элементы управления ивзаимодействия
▶ композиции компонентов▶ управление сценами▶ управление ресурсами▶ управление анимациями▶ взаимодействие с сервером
4 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Возможности, предоставляемые youku:▶ video_id → Youku REST API → ссылка навстраиваемый веб-плеер youku.
▶ Youku Player Android SDK со своим плеером
Проблема 1: не встроить в приложение с 3Dграфикой.
Решение: частично выполнять скриптывеб-сервиса, имитируя браузер в клиентскойчасти приложения.
5 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Возможности, предоставляемые youku:▶ video_id → Youku REST API → ссылка навстраиваемый веб-плеер youku.
▶ Youku Player Android SDK со своим плеером
Проблема 1: не встроить в приложение с 3Dграфикой.
Решение: частично выполнять скриптывеб-сервиса, имитируя браузер в клиентскойчасти приложения.
5 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Возможности, предоставляемые youku:▶ video_id → Youku REST API → ссылка навстраиваемый веб-плеер youku.
▶ Youku Player Android SDK со своим плеером
Проблема 1: не встроить в приложение с 3Dграфикой.
Решение: частично выполнять скриптывеб-сервиса, имитируя браузер в клиентскойчасти приложения.
5 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Проблема 2: Большинство видео в формате flv.Используемый ExoPlayer не поддерживает seekпо flv видео.
Проблема 3: Видео отдается в виде m3u8плейлиста, поделенным на блоки. Необходимоуметь пребуферизировать следующий блок,когда заканчивается текущий, поддерживатьобщую для всех блоков строку прогресса иуметь перемещаться по ней.
Решение: HLS (HTTP Live Streaming) — протоколпотоковой передачи медиаконтента на основеHTTP.
6 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Проблема 2: Большинство видео в формате flv.Используемый ExoPlayer не поддерживает seekпо flv видео.
Проблема 3: Видео отдается в виде m3u8плейлиста, поделенным на блоки. Необходимоуметь пребуферизировать следующий блок,когда заканчивается текущий, поддерживатьобщую для всех блоков строку прогресса иуметь перемещаться по ней.
Решение: HLS (HTTP Live Streaming) — протоколпотоковой передачи медиаконтента на основеHTTP.
6 /13
...
.
...........................
.
...
.
...
.
Воспроизведение видео по ID
Проблема 2: Большинство видео в формате flv.Используемый ExoPlayer не поддерживает seekпо flv видео.
Проблема 3: Видео отдается в виде m3u8плейлиста, поделенным на блоки. Необходимоуметь пребуферизировать следующий блок,когда заканчивается текущий, поддерживатьобщую для всех блоков строку прогресса иуметь перемещаться по ней.
Решение: HLS (HTTP Live Streaming) — протоколпотоковой передачи медиаконтента на основеHTTP.
6 /13
...
.
...........................
.
...
.
...
.
Поиск видео по ключевым словам
Youku REST API предоставляет такуювозможность.
Проблема: В Youku API нет фильтрации длясферического видео.
Решение: Декорирование запроса меткой全景视频 (panoramic) и фильтрация результатовна клиенте.
7 /13
...
.
...........................
.
...
.
...
.
Поиск видео по ключевым словам
Youku REST API предоставляет такуювозможность.
Проблема: В Youku API нет фильтрации длясферического видео.
Решение: Декорирование запроса меткой全景视频 (panoramic) и фильтрация результатовна клиенте.
7 /13
...
.
...........................
.
...
.
...
.
Поиск видео по ключевым словам
Youku REST API предоставляет такуювозможность.
Проблема: В Youku API нет фильтрации длясферического видео.
Решение: Декорирование запроса меткой全景视频 (panoramic) и фильтрация результатовна клиенте.
7 /13
...
.
...........................
.
...
.
...
.
Результат
8 /13
...
.
...........................
.
...
.
...
.
Результат
9 /13
...
.
...........................
.
...
.
...
.
Результат
10 /13
...
.
...........................
.
...
.
...
.
Результат
11 /13
...
.
...........................
.
...
.
...
.
Результат
12 /13
...
.
...........................
.
...
.
...
.
Итоги
▶ Познакомился с основами разработки дляAndroid OS
▶ Познакомился с миром мобильного VR▶ Выполнил поставленные задачи
13 /13