• Ой, у меня задержка

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

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

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

      Так, например, прямой эфир с острополитическим ток-шоу в принципе стоит минуты на 3 придержать от прямого эфира, что бы можно было оперативно отреагировать на резкое развитие дискуссии, а вот вебинар или удаленное управление беспилотником требует минимальной задержки чтобы люди могли спокойно перебивать друг друга, а груз падал ровно в цель.
      Читать дальше →
    • Что творится с HEVC (h265)

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

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

        Так вот H264 — это сочетание хорошего кодека, хороших энкодеров и массы приличных декодеров. Но что же происходит с H265?
        Читать дальше →
      • «Ржавая» IP-камера: прошивка на Rust

          До появления ботнета Mirai только особо интересующиеся знали о том, что находится внутри обычных IP камер. В большинстве случаев там стоит обычный линукс, причем частенько с дефолтным рутовым паролем, а то и вообще без него: у нас в офисе стоит такая камера, с прошивкой от декабря 2016 года и беспарольным рутовым телнетом.

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

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

          Мы решили исправить эту ситуацию своей прошивкой, причем сделав ставку на Rust.
          Читать дальше →
        • Сервис сбора статистики с Flussonic

            Всем привет, хочу рассказать про наш первый сервис, который мы собираемся оказывать нашим клиентам: сбор статистики и отчеты.

            Много лет мы только продавали софт, теперь мы приготовили к запуску сервис по сбору статистики и предоставлению отчетов. У нас берут Flussonic, запускают его на своих серверах, абоненты смотрят видео с этих инстансов Flussonic и создаются записи о сессиях просмотра.

            Эти сессии как раз сливаются в наш сервис и мы покажем отчеты, сделанные по ним, в личном кабинете.
            Читать дальше →
          • Как работать с событиями в Flussonic

            • Tutorial

            Работа с событиями в Flussonic для мониторинга


            Пользователи часто обращаются с вопросом: как сделать так, что бы Flussonic прислал письмо при падении потока.

            Включив зануду можно пробубнить о том, что непонятно что такое падение и и т.п.  Вопросов масса, потому что битрейт потока ненулевой, кадры идут, а там будет белый шум или черный экран. Поток вроде как работает, а по сути нет. Но рассмотрим решение оригинальной задачи с помощью новой системы событий.
            Читать дальше →
          • Что такое Flussonic Watcher

              Если у вас в голове бурлят идеи о том, как бы сделать историю, в которой будет много пользователей, много IP камер и куча профита с этого, то не проходите мимо — мы расскажем о том, как мы помогаем запускать сервисы массового видеонаблюдения на нашем Flussonic Watcher.

              Flussonic Watcher это:


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

              В состав Flussonic Watcher входит:

              1. видеостриминговое ядро — сервер Flussonic;
              2. веб-портал, предоставляющий доступ администраторам и пользователям к камерам и архивам видео без использования плагинов;
              3. мобильные приложения;
              4. агент на камеру для доступа к ней из-за NAT без проброса портов, мирайя и смс;
              5. система интеграции с внешними биллингами, серверами авторизации;
              6. набор готовых бизнес-процессов и тех-регламентов на подготовку и продажу камер для клиентского видеонаблюдения.

              Зачем нужен Watcher?

              Читать дальше →
              • +16
              • 3,2k
              • 2
            • Как уберечь IP камеру от ботнета Mirai с Flussonic Agent

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

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

                Я хочу рассказать о некоторых аспектах этой проблемы и какие могут быть шаги, чтобы снизить остроту этой проблемы.

                Текущее положение дел


                Итак, сейчас в мире продаются миллионы IP камер. Первая же ссылка из интернета заявляет про 200 миллионов камер безопасности, и эта цифра выглядит вполне разумно.

                Не все CCTV камеры — IP, до сих пор продается огромное количество аналоговых камер. Аналоговые камеры понятны, в своём роде удобны, предсказуемы: ведь в них нет никакого глючащего софта, всё аппаратное. Но даже несмотря на последний всплеск AHD и HDCVI, IP камеры в силу лучшего качества картинки и большей гибкости замещают аналог (прекрасный повод аргументированно обсудить столь интересный вопрос в комментариях).
                Читать дальше →
              • Обзор возможностей видеостримера Flussonic

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

                  Для начала напомню: Flussonic — это state of art видеостриминговая серверная программа, которая может брать видео из различных источников, записывать его по необходимости на диск и раздавать клиентам по различным протоколам. Может работать на Intel, ARM, Tilera и т.п. Отличительная особенность — особая легкость конфигурации, не требующая ни единого мегабайта XML для настройки и запуска.

                  Во внутренней структуре и функциональности можно выделить две больших и важных части: работа с видео потоками и работа с видеофайлами (VOD).
                  Читать дальше →
                  • +12
                  • 12,5k
                  • 9
                • Стоп, снято. Записано и передано

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


                    Читать дальше →
                  • Периодическая посылка сообщений

                      Пост про эрланг, но применим и ко всем другим языкам.

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

                      В erlang есть три интересующих нас функции: timer:send_interval, timer:send_after и erlang:send_after.

                      Сначала объясню, почему нельзя пользоваться send_interval.

                      Читать дальше →
                      • +15
                      • 6,6k
                      • 5