Модель взаимодействия с многоресурсными приложениями на основе видеопотока

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 20.08.2018
Размер файла 82,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Электронный научно-практический журнал

«МОЛОДЕЖНЫЙ НАУЧНЫЙ ВЕСТНИК» ИЮНЬ 2018

ТЕХНИЧЕСКИЕ НАУКИ

Размещено на http://www.allbest.ru/

Электронный научно-практический журнал

«МОЛОДЕЖНЫЙ НАУЧНЫЙ ВЕСТНИК» ИЮНЬ 2018

ТЕХНИЧЕСКИЕ НАУКИ

МФ МГТУ им. Н.Э. Баумана

Модель взаимодействия с многоресурсными приложениями на основе видеопотока

УДК 004.042

Захаров С.Е., Оленюк А.А.

Email: sergeizaharov95@mail.ru, andrei.deer2@mail.ru

Аннотации

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

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

The model of interaction with multisource applications based on the video stream

Zaharov S.E., Olenjuk A.A.

In this paper, we developed and implemented a model of interaction with multi-resource applications based on the video stream. The purpose of creating the model is to transfer all the operations that the program performs to the server. The user interacts with the client part of the model, which processes and sends to the server a stream of commands, depending on which the server modules perform operations with their data. Then, a video stream is created that contains the result of the operations, is encoded and sent to the client's side. Subsequently, the video stream is decoded on the user device and displayed in the client application. With the help of the received system it is possible to conduct educational and scientific research.

Keywords: Video stream, multi-level, interaction model, application.

Введение

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

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

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

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

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

Рисунок 1 Общая схема модели взаимодействия с приложениями на основе видеопотока.

Полученная модель разделена на две части: клиентскую (включает в себя клиентское устройство, на котором запущенно клиентское приложение) и серверную. Обе части соединены сетью интернет.

Клиентское приложение должно выполнять следующие задачи:

• Обработать команды, введенные пользователем, и пересылка их на сервер

• Получение закодированного видеопотока со стороны сервера

• Раскодирование видеопотока устройством пользователя

• Отображение видеопотока в клиентском приложении

Клиентское приложение обрабатывает команды управления, которые были введены пользователем, и на основе этих команд создаёт сообщения и пересылает их на сервер. Декодирование полученного от сервера видеопотока и его отображение в клиентском приложении являются самой важной задачей клиентского приложения. Кодирование позволяет уменьшить нагрузку сети, соединяющей клиентское приложение и сервер. При создании модели были изучены аппаратный кодек FGPA и кодеки, использующие многопроцессорные вычисления. Данные кодеки позволяют кодировать видео файлы с максимальным разрешением в 1920х1080 пикселей и частотой обновления 30 кадров в секунду. [1]

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

Серверная часть модели состоит из различных модулей, которые отвечают за определенные задачи.

Серверная часть модели включает в себя приложение, установленное на сервере, и отвечает за создание и кодирование видеопотока.

Серверное приложение включает в себя несколько модулей:

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

• Кодирующий модуль создает и кодирует видео, которое будет отправлено клиентскому устройству.

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

Модульная схема модели взаимодействия с многоресурсными приложениями на основе видеопотока представлена ниже (Рис.2).

Рисунок 2 Модульная схема модели взаимодействия с многоресурсными приложениями на основе видеопотока.

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

Графический модуль позволяет балансировать нагрузку на систему. От количества необходимых вычислений, данный модуль может переключаться на неграфические вычисления. Графический модуль может выполнять математические вычисления, а также кодировать видео, в зависимости от нагрузки системы. Это осуществляется при помощи технологии Nvidia CUDA. С помощью данной технологии возможно производить неграфические вычисления на графическом процессоре видеокарты.

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

2. Реализация модели взаимодействия с многоресурсными приложениями на основе видеопотока

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

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

При реализации модели взаимодействия с были использованы средства языка программирования Python [2], технологии Twisted [3][4], технологии HTML5 [5][6] и языка программирования JavaScript [7].

Python имеет минималистичный синтаксис, который удобен для чтения и быстрой оптимизации кода. Python имеет автоматизированное управление памятью, динамическую типизацию и удобный инструмент обработки исключений. Также у Python есть большое число библиотек, которые расширяют возможности синтаксиса. В библиотеке Python присутствуют различные инструменты для работы с протоколами и классическими форматами (MIME и HTTP). Python портирован на большую часть платформ и имеет поддержку соответствующих технологий, поэтому был выбран именно этот язык программирования для реализации поставленной задачи. [2]

Twisted это событийно-ориентированный сетевой инструмент, написанный на Python. Twisted работает с UDP, TCP, SSL, SSH и многими другими протоколами. Twisted имеет характерные особенности, которые играют важную роль для реализации модели взаимодействия:

• Открытый код Twisted позволяет использовать широкие возможности по расширению его персональными функциями.

• Так как Twisted написан на Python, а это язык высокого уровня. Это является некой страховкой для приложений от различных ошибок.

• Twisted задействует инструменты обработки ошибок, которые присутствуют в Python. [3]

HTML5 - это язык разметки, который позволяет разрабатывать сайты и веб-приложения в сети Интернет. Он является пятой версией языка HTML. HTML5 разработан с целью улучшить уровень современных технологий отображения информации в сети Интернет, обеспечить удобную читаемость кода для разработчиков и позволить упростить анализ с помощью парсеров. В данном языке программирования существуют некоторые синтаксические особенности. К примеру, в HTML5 были введены элементы <video>, и <audio>, которые позволяют размещать видео и аудиофайлы на страницах веб-приложений, а элемент <canvas> позволяет создавать двумерные растровые изображения. Такие нововведения позволяют упростить использование различных мультимедийных объектов в сети Интернет без обращения к посторонним библиотекам и плагинам. [5]

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

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

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

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

3. Методика использования модели взаимодействия с многоресурсными приложениями на основе видеопотока

Для разработчиков приложений и пользователей, которые собираются использовать модель, была составлена методика использования созданной модели. Она содержит несколько пунктов:

1) Необходимо определить задачу, которую будет решать разрабатываемое многоресурсное приложение.

2) Задача, которую будет решать разрабатываемое приожение, должна содержать несколько характеристик:

• Для решения задачи необходимо разработать многоресурсное приложение.

• Должна быть возможность разбить исследуемую задачу на элементы, которые будут распределены между узлами ситемы.

• Задача должна решаться в реальном времени.

3) Приложение может разрабатываться на любом языке программирования, в котором имеется библиотека для работы с графическими элементами. Функционал библиотеки должен поддерживать работу с пикселями. Результатом работы приложения должен являться видео файл, который будет обработан выбранным разработчиком кодеком и пересылаться на клиентское устройство в потоковом режиме. Команды, которые вводит пользователь не влияют на выбор языка программирования, из-за использования для их передачи формата JSON, так как он прост по своей структуре.

Для работы с клиентским приложением веб-браузер пользовательского устройства должен поддерживать работу с языком разметки HTML5 и языком программирования JavaScript. Впоследствии пользователь переходит по адресу веб-приложения, которое является интерфейсом взаимодействия пользователя и серверной части многоресурсного приложения.

Выводы

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

2. Предложена методика использования полученной модели разработчиками программ и пользователями.

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

Список литературы

1. Кодеки: вопросы и ответы. Интернет-ресурс: https://support.microsoft.com/ruru/help/15070/windows-media-player-codecs-frequently-asked-questions. Дата доступа 20.03.2018 г.

2. Документация Python. Интернет-ресурс: https://www.python.org/doc/. Дата доступа 21.03.2018 г.

3. Документация Twisted, Интернет-ресурс: https://twistedmatrix.com/trac/. Дата доступа 24.03.2018 г.

4. Twisted продвинутого уровня. Интернет-ресурс: https://twistedmatrix.com/pipermail/twisted-web/2008-April/003754.html. Дата доступа 20.03.2018 г.

5. Пилгрим М, Погружение в HTML5: перев. с англ. - СПб.: БХВ-Петербург, 2011-304с.:ил.

6. HTML5 Video. Интернет-ресурс: https://html5book.ru/html5-video/. Дата доступа 25.03.2018 г.

7. Документация JavaScript. Интеренет-ресурс: https://developer.mozilla.org/ru/docs/Learn/Getting_started_with_the_web/JavaScript_basics. Дата доступа 28.03.2018 г.

Размещено на Allbest.ru

...

Подобные документы

  • Анализ существующих алгоритмов фильтрации и сегментации изображений. Разработка алгоритмов обработки видеопотока на основе выделенных быстрых методов. Реализация принимающей части цепочки сервер-клиент, получающую видеопоток с мобильного устройства.

    дипломная работа [337,5 K], добавлен 24.01.2016

  • Методы восстановления видеоряда при потерях в канале передачи данных. Битовая скорость данных. Клиент-серверная архитектура. Робастная оценка потерь. Внедрение помехоустойчивого кодирования в алгоритм адаптации видеопотока. Метод наложения избыточности.

    дипломная работа [428,5 K], добавлен 22.11.2015

  • Средства автоматизации в офисных приложениях. Различные подходы создания отчётов в Word. Управление офисными приложениями в проектах Delphi. Стандартные и пользовательские макросы. Управление объектами Word и Excel 2000. Создание цифрового сертификата.

    дипломная работа [1,1 M], добавлен 27.01.2013

  • Разработка приложения для работы с базой данных, с использованием объектно-ориентированного и визуального программирования. Проектирование физической структуры базы данных. Программная реализация, процесс взаимодействия пользователя с приложениями.

    курсовая работа [1,5 M], добавлен 31.01.2016

  • Расчет нагрузки от трансляции цифрового видеопотока в районы обслуживания провайдера для вещания в стандарте DVB-T. Обеспечение трафика услуг транспортной магистрали. Каналы передачи данных VoIP, IPTV, Интернет. Оборудование и системы управления сетью.

    курсовая работа [756,8 K], добавлен 08.02.2016

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

    статья [894,5 K], добавлен 11.03.2009

  • Разработка текстового автоответчика для программы Skype, который будет выдавать определенные данные на основе отправляемых пользователем сообщений. Особенности программного обеспечения для чатов. Схема взаимодействия пользователя и интерфейса чата.

    курсовая работа [1,0 M], добавлен 08.06.2017

  • Эталонная модель взаимодействия открытых систем как главный принцип взаимодействия в сетях. Анализ особенностей взаимодействия разнотипных приложений в условиях различных стратегий передачи данных. Назначение уровней приложения, представления и сеанса.

    контрольная работа [13,9 K], добавлен 10.04.2013

  • Основные концепции объединения вычислительных сетей. Базовая эталонная модель взаимодействия открытых систем. Обработка сообщений по уровням модели OSI: иерархическая связь; форматы информации; проблемы совместимости. Методы доступа в ЛВС; протоколы.

    презентация [81,9 K], добавлен 13.08.2013

  • Характеристика виртуальной образовательной среды Unity. Особенности трехмерной виртуальной образовательной среды, как рабочего места пользователя. Организация взаимодействия пользователя с виртуальной рабочей средой факультета с использованием скриптов.

    курсовая работа [373,7 K], добавлен 22.08.2013

  • Рассмотрение эффективности корпоративной сервисной шины и веб-сервисов. Ознакомление со стеком технологий веб-сервисов. Исследование и характеристика процесса взаимодействия между потребителем и провайдером сервиса, который задается с помощью интерфейса.

    дипломная работа [596,0 K], добавлен 22.08.2017

  • Проектирование на основе микропроцессора контроллера для модели железной дороги, который должен управлять маршрутами поезда в соответствии с поступающими с клавиатуры командами. Модель движения поезда, рассмотренная в MatLab. Реализация машинной модели.

    курсовая работа [558,3 K], добавлен 28.06.2011

  • Согласование способа кодирования электрических сигналов, определение длины сообщений. Программная и аппаратная реализация коммуникационных протоколов. Модель взаимодействия открытых систем ISO/OSI. Уровни взаимодействия интерфейсов. Стек протокола TCP/IP.

    контрольная работа [189,1 K], добавлен 01.05.2015

  • Моделирование поведения узлов беспроводной ad hoc сети при равномерном движении на плоскости. Разработка базы данных для хранения полученных графов и организация ее взаимодействия с другими приложениями, осуществляющими создание моделей и их анализ.

    дипломная работа [1,9 M], добавлен 22.02.2016

  • Модель взаимодействия открытых систем Open Systems Interconnection Reference Model. Основные особенности модели ISO/OSI. Характеристики физических сигналов, метод кодирования, способ подключения. Канальный уровень модели ISO/OSI. Передача и прием кадров.

    презентация [52,7 K], добавлен 25.10.2013

  • Радиотелескоп - сложный объект управления из семи регулируемых приводов. Построение мехатронной модели привода радиотелескопа, исследование взаимодействия ее подсистем. Алгоритмы стабильного, эффективного управления и стабильно-эффективных компромиссов.

    дипломная работа [2,5 M], добавлен 23.09.2013

  • Основные принципы проектирования реляционных баз данных. Физическая модель нотации IDEF0. Управляющая программа (меню или форма). Формы в клиентском приложении. Разработка информационной системы заказа товаров. Формирование отчетов и запросов программы.

    курсовая работа [1,3 M], добавлен 21.04.2015

  • Общая характеристика операционных систем и приложений Windows. Разделение ресурсов, работа с окнами, назначение диска, видов памяти, системы сохранения и передачи данных. История возникновения приложений, их виды и особенности, порядок написания.

    курс лекций [321,0 K], добавлен 24.06.2009

  • Обмен данными между приложениями Word и Excel в MS Office как основа их интеграции. Основные способы обмена данными между программами в MS Office. Связывание и внедрение объектов. Сравнительный анализ основных способов. Простое (статическое) копирование.

    методичка [599,5 K], добавлен 10.11.2013

  • Разработка веб-приложений на основе Servlet API. Основные способы передачи данных от пользователя. Краткая справка по необходимым программным компонентам. Составление программы интернет-чата на основе протокола HTTP. Диаграмма классов веб-приложения.

    лабораторная работа [1,1 M], добавлен 01.05.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.