Дисклеймер: Это вторая публикация моей статьи, прошлый вариант удалила модерация по п.п 4. Каюсь, грешен, ну, не умею я красиво писать (я же все-таки технарь J), поэтому засунул сырой и страшный текст в нейронку чтобы она сделала «красиво». Так что все было удалено честно, но небольшой крик души к администрации Хабра – ребят, полностью сгенерированный текст это 100% плохо, вопросов нет. Но хорошо отредаченный текст нейронкой, вроде бы не абсолютное зло? Ладно, это все лирика, приступаем.
Предисловие
Есть небольшой побочный профиль, которым я занимаюсь – ретрансляция сырых потоков RTSP, в HLS. По сути задача простая, чтобы любой простой юзер мог увидеть картинку со своих камер, не пользуясь проприетарным облачным ПО от производителя камер. Во-первых, это много денег, т.к многие клиенты хотят хранить достаточно долго записи с камер. Во-вторых, почти у всех производителей камер разное ПО, и это тупо не удобно иметь 10 разных приложений и/или порталов, где это все можно посмотреть. Ну и в-третьих мало где есть интеграции с ИИ (что для моих клиентов, критически важно). Даже если эта интеграция есть, она либо узкоспециализирована, либо опять-таки проприетарна, либо стоит много денег, а иногда и все это вместе. Решение - использование сырых RTSP потоков, их поддерживают и отдают 90% всех камер на рынке.
Так вот, схема была достаточно проста: несколько камер, простой бэк, выдаем на едином ресурсе для клиентов картинку по HLS, используя плеер hls.js. Всех все устраивало, всем все…