Цели:
Разработка инновационного модуля, позволяющего осуществлять синхронизацию внешних данных с мультимедиа-потоком в веб-приложении
Задач:
определение сферы применения продукта;
поиск аналогов;
определение требуемых технологий;
разработка, тестирование и отладка фреймворка.
Продукт представляет собой совокупность программного кода, написанного на нескольких языках программирования (php, javascript), языках разметки (html, css) и связанного между собой различными технологиями (AJAX, Json, jQuery, YouTube API). Данный фреймворк позволяет синхронизировать внешние данные с мультимедиа потоком (видео, аудио, анимация, флэш-анимация и т.п.) в веб-приложении.
В веб-приложении имеется один или несколько мультимедиа-потока, во время воспроизведения этих мультимедиа-потоков на странице веб-приложения или вне его могут выполняться различные действия по заранее заданным инструкциям с использованием заранее закодированных в файл внешних данных, в этих данных так же могут содержаться и дополнительные инструкции.
Составные части продуктаСам фреймворк состоит из двух частей, так же для его минимальной работы требуется видеофайл, хранящийся на youtube.com и файл и с внешними данными предположительно хранящийся на youtube.com либо в любом другом месте (и локально, и в сети интернет).
Первая часть
Первая часть кода отвечает за внешний вид веб-приложения, его наполнение и все действия, которые в ней будут происходить. В данной части кода происходит подключение видеоплеера с youtube.com средствами youtube API и SWF, осуществляется необходимый анализ проигрываемого видео для возможности синхронизации. В эту часть приложения так же приходят внешние данные из скрипта (парсера parse_s.php) php в скрипт (ytapi.html) javascript при помощи технологии AJAX (Json). Получается, что в данной части приложения содержатся уже раскодированные внешние денные, с которыми происходят необходимые дальнейшние манипуляции.
Вторая часть
В этой части происходит поиск и подключение внешнего файла с закодированными данными к парсеру (скрипт parse_s.php), написанному на скриптовом интерпретируемом языке программирования PHP. Этот скрипт открывает, читает и раскодирует (парсит) информацию из файла s.srt и возвращает результат в виде массива данных. Далее передает полученный массив первой части фреймворка средствами AJAX (Json) технологии.
Файл с данными
Файл s.srt – пример удаленного файла с хранимой информацией, которую и нужно в итоге синхронизировать с мультимедиа потоком. Файл кодирует в себе тайм-коды и данные, информацию, инструкции соответствующие этим тайм-кодам.
Пример использованияПосле разработки данного метода, был предложен пример в целях проверки нового метода и демонстрации элементарных возможностей. Суть примера заключается в следующем: есть окно плеера с видеозаписью, есть закодированный удаленный файл с цветами, привязанными к определенному времени видео. Было решено заставить скрипт определить эти цвета и временные промежутки, которым они соответствуют и что-нибудь с ними сделать. Для демонстрации элементарных возможностей под окном плеера с видеозаписью размещены несколько (пять) небольших квадратов. При просмотре видео в заранее определенный момент видео цвет этих квадратов будет меняться, и что важно, он будет меняться именно в тот момент когда наступит необходимый тайм-код в видеоплеере, то есть скрипт использует данные, синхронизируя время с плеером, а не просто отсчитывая секунды от начала показа видео. Это значит, что существует возможность останавливать, приостанавливать, перематывать видео на любое время, внешние данные мгновенно будут синхронизироваться с мультимедиа потоком.
Определение инновационности продукта, аналогиЛюди (в большинстве своем это разработчики) зачастую сталкиваются с проблемой синхронизации внешних данных с мультимедиа потоком. Ранее в этом необходимости не было, но на сегодняшний день это является проблемой. Связанно это, в первую очередь, с тем, что информационные технологии в современное время имеют очень высокий темп развития, за последние несколько лет технологии и методы доступа к сети интернет потерпели колоссальные изменения. Качество интернета значительно улучшилось, интернет стал не только доступен практически каждому, он стал необходимым условием в современной жизни, учебе, работе.
Современный интернет позволяет беспрепятственно получать доступ к мультимедиа-данным, транслируемых без предварительной загрузки их на устройство пользователя, использовать их для развлечения, работы, учебы.
В связи с этим технологии, тесно связанные с вебом, под влиянием развития интернета так же быстро развиваются. За последние годы внедрено огромное множество инноваций в веб-среде. При прохождении практики велась работа в проекте, который можно считать инновационным. Ранее не было аналогов нашему новому продукту. Единственная технология, которая отдаленно схожа с методом, который был разработан, - это технология вывода субтитров в видеозаписи, но в данной технологии есть несколько значительных минусов:
Синхронизация проходит исключительно с одним файлом, строго прикрепленным к видео
Синхронизировать можно только субтитры
Субтитры могут быть выведены только в окне плеера, в котором происходит воспроизведение видео
С использованием разработанного метода можно производить синхронизацию абсолютно любых данных, информации, инструкций с любым мультимедиа потоком будь то аудио, видео, аудио + видео, анимация, флэш-анимация и т.п.
Целевая аудиторияЦелевую аудиторию для данного метода определить очень сложно, потому что способов его применения огромное множество, оно ограничивается лишь вашей фантазией и навыками. Но все же основная группа будет состоять из разработчиков, дизайнеров и пользователей продуктов, которые основываются на этом методе.
Особенно широко востребован метод будет среди разработчиков - у них появятся огромные возможности в работе с мультимедиа контентом, который стал широко распространен в веб-среде.
Дизайнеры смогут делать оригинальные интерактивные дизайны страниц сайтов, которые будут удивлять.