воскресенье, 10 января 2016 г.

Встраивание Nimble Streamer

Nimble Streamer - это программное обеспечение с высокой производительностью и малой ресурсоёмкостью. Это самый эффективный программный медиа сервер на рынке.
Нимбл создаётся с использованием языка C++ и у него свой исходный код, без сторонних библиотек. Это позволяет портировать его на любую выбранную платформу.
Сейчас Нимбл работает на Linux, Windows, Mac и Raspbian. Это означает, что он доступен на платформах x64 and ARM. RaspberryPi с 265MB оперативной памяти свободно с ним запускается и работает. Полный список поддеживаемых операционных систем вы можете увидеть здесь.

Имея низкие требования к оборудованию и поддержку ARM и x64, Nimble Streamer может в целом использоваться на любой аппаратной платформе для создания устройства для медиа-вещаниялюбых размеров, формы и с любыми характеристиками. В этом устройстве будут все возможности, требуемые для самых разнообразных задач.

Более подробно о портировании Нимбла на другие платформы можно прочитать на этой странице.

вторник, 5 января 2016 г.

Итоги 2015 года

Начался 2016 год и пора подвести итоги года 2015-го.

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

Одной из главных новостей стало то, что наша компания - ООО "Софтвелум" - стала резидентом Сколково. Это открыло для нас новые возможности, которые помогут нам в работе над нашими проектами.

Прежде чем познакомиться с обновлениями продуктов, рекомендуем прочитать нашу статью The State of Streaming Protocols с обзором протоколов передачи медиа-данных за 2015 год. HLS показывает стабильную долю рынка, MPEG-DASH уверенно растёт, другие протоколы также показывают определённую динамику.

Итак, начнём с новых продуктов.

Продукты для мобильных трансляций


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

Мы начали с главного элемента этого конструкторов - с того, что позволило бы передавать медиа-данные с устройства на медиа-сервер для дальнейшей обработки. Так появилась библиотека мобильного вещания для Android и iOS, которая позволяет передавать потоки по RTSP и RTMP.

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

Демонстрационное приложение из SDK называется Larix Broadcaster и его можно сказать в Google Play и Apple Store. Таким образом будущие клиенты могут опробовать наши разработки до того, как приобрести лицензию.

Сайт itmultimedia.ru сделал свой обзор приложения Larix Broadcaster, за что им большое спасибо.

Nimble Streamer


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

Для начала мы вышли за рамки Линукса и портировали Нимбл на Windows и MacOS. Многие предпочитают пробовать новые продукты на десктопе, прежде чем запускать в рабочем окружении, и мы дали им эту возможность. Ещё одним большим шагом в направлении других платформ был перенос Nimble Streamer на платформу ARM и отстройка для RaspberryPi. Это значит, что Нимбл может работать на любом оборудовании на базе ARM, что позволяет создавать оборудование для передачи медиа-данных на базе небольшого дешёвого "железа". Если вам это интересно, обращайтесь.

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

Большим шагом для нашей компании стала реализация поддержки протокола MPEG-DASH. Были реализованы следующие возможности:
  • Транзмаксинг из MP4 для VOD - как для H.264, так и для H.265. В статье на сайте itmultimedia.ru описана настройка трансляции VOD из MP4.
  • Транзмаксинг живых потоков из RTMP, RTSP и MPEG-TS.
  • Ретрансляция MPEG-DASH в качестве кеширующего эдж-сервера.
Поддержка HEVC/H.265 вскоре будет реализована также и для живых потоков.

С началом работы над DASH, наша компания стала ассоциированным членом DASH Industry Forum для того, чтобы иметь возможность принимать участие в деятельности, связанной с MPEG-DASH и вносить свой вклад. Мы также приняли участие в мероприятиях в рамках выставок NAB 2016 и IBC 2015.

Мы считаем, что 2016 будет годом увеличения доли MPEG-DASH, ну а мы продолжим дорабатывать соответствующие возможности наших продуктов.


Функциональность живых трансляций сейчас покрывает весь набор популярных протоколов. Нимбл принимает на вход RTMP, RTSP и MPEG-TS для перепаковки в исходящие потоки HLS, MPEG-DASH, RTMP, RTSP, MPEG-TS и Icecast.

  • Был добавлен полный комплект возможностей передачи медиа по RTSP. Сюда входит приём как анонсированных, так и взятых для проигрывания потоков RTSP, для последующей проигрывания и повторной публикации. Конечно, это вдобавок к перепаковке из RTSP в HLS, MPEG-DASH, RTMP, MPEG-TS и Icecast.
  • Набор возможностей RTMP был также полностью переработан, и сейчас Нимбл может принимать любые потоки RTMP и перерабатывать их в любые протоколы и повторно публиковать на другие сервера.
  • MPEG-TS теперь может быть принят как по UDP multicast, так и по HTTP для последующей публикации по UDP в дополнение к уже поддерживаемой перекаковки в другие протоколы.
Базовый пример настройки живого вещания рассмотрен в статье Живое вещание DASH и HLS через Nimble Streamer на сайте itmultimedia.ru.

Что касается эффективности обработки живых потоков в Nimble Streamer, посмотрите описание случая уменьшения времени доставки на основе нашего сервера. Спасибо нашему клиенту, позволившему использовать его решение в статье.

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

В прошедшем году у нас появились партнёры в области технологий P2P-трансляций. Таким образом наши клиенты могут использовать пиринговое вещание для оптимизации инфраструктуры доставки медиа.

Что касается инфраструктурных возможностей, мы добавили автоматизированное развёртывание в процедуру установки, для полноценного использования в подобных сценариях, например в Amazon EC2.
Поддержка удалённого хранилища VOD была также добавлена для подобных клиентов для оптимизации работы с хранением данных.

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

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

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


WMSPanel


Мы постоянно в течении всего года улучшали WMSPanel как панели управления инфраструктурой на основе Nimble Streamer.

Все функции контроля Nimble Streamer доступны через WMSPanel для максимального удобства наших клиентов и партнёров. В дополнение к GUI, мы добавили API управления для всей функциональности Нимбла, чтобы её можно было автоматизировать.

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

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

Dispersa


Мы вносили постоянные улучшения в мониторинг потоков Dispersa. Были добавлены новые контрольные точки для улучшения качества проверок. Также был сделан ряд доработок GUI для удобства пользователей.



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