Кадры решают всё. В 2015 году эта фраза приобретает совсем иное прочтение: всё решают видеокадры, а точнее, видео, которое завоевало заслуженную популярность во всех отраслях: от развлекательных каналов до серьёзных медицинских и космических проектов. Ценность видеоконтента очевидна: он передаёт точное состояние систем и событий, просто фиксируется, легко воспринимается человеком. Однако всё более совершенные устройства записи и создания видео порождают всё больше неординарных задач по передаче и хранению контента, с которыми под силу справиться только серьёзному и надёжному программному обеспечению, разработанному на основе передового опыта.



Шесть лет назад, как раз в июле, был дан старт проекту Flussonic – видеостримминговому серверу. За это время проект превратился в востребованный инструмент, который  позволяет захватывать видео с любых устройств, с веб-камер, из IPTV источников, со спутниковых тарелок  и вещать через интернет по различным протоколам.

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

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

  • Контроль и наблюдение за технологическими и производственными процессами – точная информация о происходящем на рабочих площадках различных предприятий (например, добывающей отрасли).

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

  • Захват и трансляция потока с камер видеонаблюдения, расположенных для целей безопасности в учреждениях, банках, на улицах городов (регистрация правонарушений и фиксация нарушений ПДД).

  • Организация вещания IPTV.

  • Обеспечение трансляции конференций, освещения мероприятий, проведения прямых трансляций событий и проч…

Во всех перечисленных случаях могут использоваться различные форматы записи видео, протоколы передачи информации, различное оборудование, однако требования к передаче остаются неизменными: это должна быть качественная передача информации, и видео должно передаваться по сети ровно со скоростью его проигрывания (сущность стриминга видео).

Flussoniс могёт!


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

  • Осуществлять файловое вещание из MP4 и FLV файлов по протоколам: RTMP, HLS, HDS, RTSP, DASH (в свою очередь, протоколы HDS и HLS фактически снимают ограничения по количеству одновременных пользователей с сервера). Мы используем уникальное на рынке cache-aware вещание HLS, которое позволяет оптимизировать трафик, используя одинаковые URL для прямого эфира и архивов.

  • Захват со спутников, транскодирование, захват с камер наблюдения, скриншоты потока — это всё входит в базовую функциональность нашего сервера.

  • При необходимости Flussonic записывает видео в архив при помощи видеорегистратора (DVR). В архиве можно записывать и просматривать в реальном времени видео с камер наблюдения без ограничения на объём архива, записывать и отложенно просматривать телевизионные каналы без ограничения на глубину архива, поддерживать требуемую глубину архива, работать с различными протоколами отдачи файлов, отдавать архив в режиме таймшифт (то есть со сдвигом во времени, что особенно важно для организации передачи видео по расписанию). Пользователи могут создавать серверные плейлисты и конфигурировать Flussonic через удобный web-интерфейс.

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

  • Как любая серьёзная и коммерчески ценная серверная система, Flussonic является поставщиком API, предполагающего полноценную авторизацию через lua или посредством HTTP. API обеспечивает полное управление сервером через HTTP, позволяет получать разнообразны данные, такие как информацию о сервере, потоке, качестве вещания потока, список открытых файлов и сессий, информацию о состоянии плейлиста, управления архивом и проч…

  • Flussonic легко устанавливается и конфигурируется через web-интерфейс.

  • В IPTV Flussonic используется с огромным количеством middleware. Клиенты всех отраслей смогли оценить многообразие протоколов и устройств, с которыми работает наша программа.

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

Это не исчерпывающий список возможностей Flussonic, снискавшего настоящую любовь пользователей. Как правило, конечный потребитель видеоконтенета не знает о существовании подобных программ, потому что работает с интерфейсом провайдера услуги. Однако владельцы бизнес-процессов компаний и системные администраторы знают цену полезным сервисам, решающим огромное количество проблем. А как известно, несмотря на популярность видеоконтента в современно мире, эти проблемы не у уменьшаются, а нарастают, как снежный ком: работа с форматами, трансокдирование, сжатие, качество и время передачи, поддержка протоколов и кодеков… Наверное, популярность и востребованность видеоконтента как раз и сыграла злую шутку, породив неимоверное количество устройств, протоколов, форматов и способов передачи данных. Поэтому решение, способное находить выход из нестандартных ситуаций, связанных с потоковым и файловым вещанием, является не только востребованным, но и интересным профессиональному сообществу с технической точки зрения.

Мы знаем много…


… о работе с видео, IP-камерах и IPTV, о кодеках и возможностях трансляций. Все шесть лет развития мы пробовали новые решения, ловили баги, меняли подходы, набивали шишки, решали нетривиальные задачи и развивались. Настало время поделиться своими знаниями. В своём блоге мы будем говорить о технологиях и самых нестандартных ситуациях, с которыми нам приходилось сталкиваться. Рады будем обсудить с Хабром ряд интересных тем.

  • Роль Flussonic в IPTV.
  • Особенности поддержки различных приставок и различных форматов упаковки многоязыкового мультибитрейтного видео.
  • Принципы и особенности работы с архивом Flussonic.
  • SQL доступ к серверу и к кластеру, который используется Flussonic.
  • Наша уникальная система авторизации, которая позволяет настраивать авторизацию так, как удобно пользователю.
  • Защита ваших стримов от копирования в том числе и с помощью разных DRM.
  • Секреты реализации проектов, отвечающих основным требованиям концепции «Безопасный город».
  • Пути снижения стоимости реализации проектов видеонаблюдения и live-трансляций с использованием различных ARM решений.
  • Недокументированные возможности Flussonic о которых вы не знали и уж точно боялись спросить (например, PulseDB, возможность использования наших приложений вместе с вотчером, поддержка DASH, H265, SDI через Интернет и ещё много всего интересного как крупным компаниям, так и частным любителям поделиться видеоконтентом).

В каждом посте мы будем раскрывать не только концептуальные идеи, но и технические аспекты работы с видеопотоком. Шесть предыдущих лет мы работали над проектом Flussonic, продолжаем работать и сейчас. Нам интересно. Думаем, интересно будет и вам.

Готовы ответить на ваши вопросы в комментариях!
Будем рады если Вы проголосуете за порядок выхода следующих статей по тематикам:

Проголосовало 79 человек. Воздержалось 28 человек.

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

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


  1. saggid
    13.07.2015 17:46

    Здравствуйте) А какие расценки по вашим услугам? Просто интересно, а на официальном сайте нет раздела с ценами.


    1. erlyvideo Автор
      13.07.2015 17:48
      -2

      Добрый день.

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

      manage.erlyvideo.ru тут актуальный ценник.


      1. Greendq
        13.07.2015 22:13
        +1

        Если бы цены были без регистрации смс скачать бесплатно, то было бы лучше, по-моему. А то регистрироваться только ради того, чтобы посмотреть на ценник — по-моему перебор.


        1. erlyvideo Автор
          13.07.2015 23:01

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

          С другой стороны, этот момент не кажется особо критичным, потому что ориентация на стоимость (а мы в нижней части рынка по цене) — это явно не самый важный ориентир для производственного софта.

          Ежемесячная аренда 10 гигабитного сервера — несколько тысяч евро в месяц. Любой приличный стриминговый софт исчезающе мал на фоне этого ценника =)


          1. Greendq
            14.07.2015 09:49
            +1

            Всё равно нехорошо что-то требовать с пользователя, который даже не решил, что использовать.

            Аренда 10 серверов с гигабитным каналом у каждого (и настоящим гигабитом) у того же Хетзнера — около 2к евро в месяц.


            1. erlyvideo Автор
              14.07.2015 11:48

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

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


              1. Greendq
                14.07.2015 12:00

                На прошлых наших выборах они честно держали гигабит в виде чуть менее тысячи постоянных подключений с примерно мегабитным битрейтом. Даже написали нам письмо, мол, вы там траффик юзаете — смотрите, там аж 2 евро за терабайт :)


                1. erlyvideo Автор
                  14.07.2015 12:13

                  У нас (у наших клиентов) есть негативный опыт с хетцнером (да и со многими другими хостерами) из-за того, что исходящий гигабит далеко не всегда означает приходящий гигабит к клиентам.

                  Это хорошо, что у вас всё хорошо работало. По нашей практике просмотр короткого ролика сильно отличается от длительного просмотра потока или длинного файла: через несколько минут начинаются всякие залипания на tcp канале.

                  Но опять же: хорошо, если у вас всё было хорошо =)


                  1. Greendq
                    14.07.2015 12:40

                    У нас были ~1Mbps потоки, раздаваемые при помощи VLC. Сейчас действительно наблюдаются странности с раздачей статики, посему я пока изучаю альтернативу для подготовки к очередным выборам (они у нас осенью).


                    1. erlyvideo Автор
                      14.07.2015 12:40

                      вы flv поток что ли раздаете?


                      1. Greendq
                        14.07.2015 12:44

                        Угу. Там внутри flv — видео, пожатое 264 кодеком. По требованию клиента — по http :)


                        1. erlyvideo Автор
                          14.07.2015 12:48

                          flv стриминг грустная штука.

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

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

                          На паузу такой поток не поставить, отмотка назад — целая история. Мультибитрейт в вашем случае наверное был неактуален.

                          HLS/HDS — хорошие альтернативы. Dash стремительно растет, уже почти целый процент, так что скоро тоже будет годиться.


                          1. Greendq
                            14.07.2015 13:29

                            Знаю, это всё проходили чуть больше 4 лет назад. Сейчас неспеша подыскиваю альтернативу. Хотелось бы по принципу «поставил, настроил и забыл». С VLC именно так и получилось, только переодически процесс отжирает всю оперативку и падает, но скрипты его поднимают в этом случае.


                            1. erlyvideo Автор
                              14.07.2015 13:31

                              Наш софт вполне вам подойдет: и запись архива, и прямая трансляция, и выгрузка потом в mp4 интересных фрагментов.


                              1. Greendq
                                14.07.2015 13:44

                                Прошлый раз, когда мы смотрели ваш софт, нам он не подходил по одной-единственной причине — эрлангом тут никто не занимается. Сейчас к этой причине добавляется неопределённая стоимость :)


                                1. erlyvideo Автор
                                  14.07.2015 13:45

                                  А какая связь между вами и эрлангом?


                                  1. Greendq
                                    14.07.2015 13:55

                                    На тот момент ваш сервер был опенсурсным и в том виде, в котором он был — нам он не подходил. А для допиливания нужно было знание эрланга.

                                    Сейчас ситуация поменялась, судя по документации, но цен я не вижу, а регистрироваться, только для того, чтобы увидеть цены я не собираюсь. Чего вы боитесь выкладывать цены публично?

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


                                    1. erlyvideo Автор
                                      14.07.2015 13:57

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

                                      Приходите, когда будет нужно принять и отправить видео.


                                      1. Greendq
                                        14.07.2015 14:10

                                        А что надо было писать? Что какой-то специфичный клиент хочет решение строго по своему желанию? Это не имеет смысла для большинства пользователей. Есть куча опенсурстных проектов, которые обрастают ненужной 99% пользователей функциональностью. Я против того, чтобы увеличивать энтропию этой Вселенной без необходимости.


                                    1. Paul_Nice
                                      14.07.2015 14:20

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


                                      1. Greendq
                                        14.07.2015 14:34

                                        У меня «цены под замком» стойко ассоциируются с политикой «ценам под толщину кошелька», которую проводят некоторые поставщики железа.


                                        1. Paul_Nice
                                          14.07.2015 14:46

                                          Ну софт не железо, а задачи клиента надо знать. Т.к. для кого-то коробочная цена высока. Например на удивление много людей хотят использовать Flussonic «для дома». Развесить камеры и раздать видео на разные устройства в домашней сети. При этом этом очевидно, что возможности Flussonic сильно превосходят запросы таких клиентов. А для крупных CDN или для особых проектов операторов какие-то функции могут потребоваться сверх того, что имеется в базе. Отсюда и необходимость общаться с каждым клиентом, искать к нему подход и выяснять его потребности. Чтобы сделать лучшее предложение. У такого подхода есть и минусы и плюсы. Но последних пожалуй больше.


  1. anycolor
    13.07.2015 17:47
    +3

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

    ЗЫ. Проект написан на Erlang.


    1. erlyvideo Автор
      13.07.2015 17:51
      +4

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

      Проблемы с опенсорсом совершенно классические: мало денег, нет обратного фидбека. Люди ни патчи не слали, ни даже не писали баг репорты, потому что лениво.

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

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


  1. datacompboy
    13.07.2015 18:48

    Соглашусь со всем, кроме удобства и понятства веб-интерфеса.
    Я лично только после поллитры его грокнул.

    Впрочем, после того, как его понял — проблем нет, дальше становится чистым и понятным.

    Но инструкцию для дебилов типа меня — надо однозначно.


    1. erlyvideo Автор
      13.07.2015 19:14

      ну уж прям так непонятно?


  1. HDDimon
    14.07.2015 10:22

    Макс, напишите пожалуйста как вы строили архитектуру, как используете всякие нативные вещи из Erlang, как обходите блокировки вызовов.
    Было бы очень интересно.


    1. erlyvideo Автор
      14.07.2015 11:41

      Хорошо, постараемся рассказать.


  1. dovecot
    22.07.2015 12:52

    Пересмотрел документацию, но не нашел ответа на следующий вопрос.

    ПО поддерживает работу с картами DeckLink BlackMagic? И возможен ли захват и последующее транскодирование SDI потока в RTMP или UDP multicast?


    1. erlyvideo Автор
      23.07.2015 00:03

      в ближайшей версии поддержка decklink захвата будет в Flussonic

      немного позже добавим то же самое, но в обратном направлении