Шесть лет назад, как раз в июле, был дан старт проекту 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, продолжаем работать и сейчас. Нам интересно. Думаем, интересно будет и вам.
Готовы ответить на ваши вопросы в комментариях!
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (30)
anycolor
13.07.2015 17:47+3Слежу за проектом уже порядка 4 лет. Очень жаль конечно, что более нет опенсорсной версии, а так — отличный и главное полезный проект!
ЗЫ. Проект написан на Erlang.erlyvideo Автор
13.07.2015 17:51+4Увы и ах, но опенсорсная версия себя не оправдала. Когда мы закрыли исходники, то смогли радикально улучшить и код, и наши возможности по поддержке.
Проблемы с опенсорсом совершенно классические: мало денег, нет обратного фидбека. Люди ни патчи не слали, ни даже не писали баг репорты, потому что лениво.
С другой стороны каким-то социальным проектам мы продаем дешево или в особых случаях даем бесплатно, а у других почти всегда и так есть деньги.
Открыть обратно исходники было бы классно, если бы это не привело к закрытию компании через пару недель.
datacompboy
13.07.2015 18:48Соглашусь со всем, кроме удобства и понятства веб-интерфеса.
Я лично только после поллитры его грокнул.
Впрочем, после того, как его понял — проблем нет, дальше становится чистым и понятным.
Но инструкцию для дебилов типа меня — надо однозначно.
dovecot
22.07.2015 12:52Пересмотрел документацию, но не нашел ответа на следующий вопрос.
ПО поддерживает работу с картами DeckLink BlackMagic? И возможен ли захват и последующее транскодирование SDI потока в RTMP или UDP multicast?erlyvideo Автор
23.07.2015 00:03в ближайшей версии поддержка decklink захвата будет в Flussonic
немного позже добавим то же самое, но в обратном направлении
saggid
Здравствуйте) А какие расценки по вашим услугам? Просто интересно, а на официальном сайте нет раздела с ценами.
erlyvideo Автор
Добрый день.
Я бы не очень хотел оставлять здесь какие-то цены, потому что сейчас они одни, а завтра другие и если мы, например, снизим их, а тут останется старый комментарий, будет плохо.
manage.erlyvideo.ru тут актуальный ценник.
Greendq
Если бы цены были без регистрации
смс скачать бесплатно, то было бы лучше, по-моему. А то регистрироваться только ради того, чтобы посмотреть на ценник — по-моему перебор.erlyvideo Автор
Да, это может быть не самым лучшим образом сделано, понимаю.
С другой стороны, этот момент не кажется особо критичным, потому что ориентация на стоимость (а мы в нижней части рынка по цене) — это явно не самый важный ориентир для производственного софта.
Ежемесячная аренда 10 гигабитного сервера — несколько тысяч евро в месяц. Любой приличный стриминговый софт исчезающе мал на фоне этого ценника =)
Greendq
Всё равно нехорошо что-то требовать с пользователя, который даже не решил, что использовать.
Аренда 10 серверов с гигабитным каналом у каждого (и настоящим гигабитом) у того же Хетзнера — около 2к евро в месяц.
erlyvideo Автор
Качество хостингов обсуждать очень сложно, потому что адекватные замеры за короткое время провести чрезвычайно сложно.
Но если вкратце, то когда клиенты меняют хетцнер или лизвеб на более специализированные хостинги, качество сервиса у них само собой улучшается из-за другой ситуации с каналами.
Greendq
На прошлых наших выборах они честно держали гигабит в виде чуть менее тысячи постоянных подключений с примерно мегабитным битрейтом. Даже написали нам письмо, мол, вы там траффик юзаете — смотрите, там аж 2 евро за терабайт :)
erlyvideo Автор
У нас (у наших клиентов) есть негативный опыт с хетцнером (да и со многими другими хостерами) из-за того, что исходящий гигабит далеко не всегда означает приходящий гигабит к клиентам.
Это хорошо, что у вас всё хорошо работало. По нашей практике просмотр короткого ролика сильно отличается от длительного просмотра потока или длинного файла: через несколько минут начинаются всякие залипания на tcp канале.
Но опять же: хорошо, если у вас всё было хорошо =)
Greendq
У нас были ~1Mbps потоки, раздаваемые при помощи VLC. Сейчас действительно наблюдаются странности с раздачей статики, посему я пока изучаю альтернативу для подготовки к очередным выборам (они у нас осенью).
erlyvideo Автор
вы flv поток что ли раздаете?
Greendq
Угу. Там внутри flv — видео, пожатое 264 кодеком. По требованию клиента — по http :)
erlyvideo Автор
flv стриминг грустная штука.
Во-первых, некоторые антивирусы до сих пор стараются скачать весь файл, а потом проверить его. Последствия немножко предсказуемы.
Во-вторых, умно настроенный прокси сервер по пути может доооолго его докачивать до конца.
На паузу такой поток не поставить, отмотка назад — целая история. Мультибитрейт в вашем случае наверное был неактуален.
HLS/HDS — хорошие альтернативы. Dash стремительно растет, уже почти целый процент, так что скоро тоже будет годиться.
Greendq
Знаю, это всё проходили чуть больше 4 лет назад. Сейчас неспеша подыскиваю альтернативу. Хотелось бы по принципу «поставил, настроил и забыл». С VLC именно так и получилось, только переодически процесс отжирает всю оперативку и падает, но скрипты его поднимают в этом случае.
erlyvideo Автор
Наш софт вполне вам подойдет: и запись архива, и прямая трансляция, и выгрузка потом в mp4 интересных фрагментов.
Greendq
Прошлый раз, когда мы смотрели ваш софт, нам он не подходил по одной-единственной причине — эрлангом тут никто не занимается. Сейчас к этой причине добавляется неопределённая стоимость :)
erlyvideo Автор
А какая связь между вами и эрлангом?
Greendq
На тот момент ваш сервер был опенсурсным и в том виде, в котором он был — нам он не подходил. А для допиливания нужно было знание эрланга.
Сейчас ситуация поменялась, судя по документации, но цен я не вижу, а регистрироваться, только для того, чтобы увидеть цены я не собираюсь. Чего вы боитесь выкладывать цены публично?
Наши клиенты вполне платежеспособны, чтобы купить и платные варианты чего угодно (я думаю, вы знаете, сколько стоят аппаратные кодеры типа Ниагары), но им ещё ни разу не подошло решение «из коробки», всегда хочется рюшечек.
erlyvideo Автор
Собственно говоря, вы ещё раз ответили, почему опенсорс был ошибкой с самого начала. Вы даже не посчитали нужным написать =)
Приходите, когда будет нужно принять и отправить видео.
Greendq
А что надо было писать? Что какой-то специфичный клиент хочет решение строго по своему желанию? Это не имеет смысла для большинства пользователей. Есть куча опенсурстных проектов, которые обрастают ненужной 99% пользователей функциональностью. Я против того, чтобы увеличивать энтропию этой Вселенной без необходимости.
Paul_Nice
Что касается цен, то уж лучше так, чем развод от вовзы, когда приходится доплачивать за нужную функциональность, которая почему-то не входит в коробочный продукт.
Greendq
У меня «цены под замком» стойко ассоциируются с политикой «ценам под толщину кошелька», которую проводят некоторые поставщики железа.
Paul_Nice
Ну софт не железо, а задачи клиента надо знать. Т.к. для кого-то коробочная цена высока. Например на удивление много людей хотят использовать Flussonic «для дома». Развесить камеры и раздать видео на разные устройства в домашней сети. При этом этом очевидно, что возможности Flussonic сильно превосходят запросы таких клиентов. А для крупных CDN или для особых проектов операторов какие-то функции могут потребоваться сверх того, что имеется в базе. Отсюда и необходимость общаться с каждым клиентом, искать к нему подход и выяснять его потребности. Чтобы сделать лучшее предложение. У такого подхода есть и минусы и плюсы. Но последних пожалуй больше.