Что можете посоветовать по поводу написание видео-стрим сервиса?
Есть задача написать сервис для стриминга видео. На данный момент пишу на ноде и думаю каких то сильных проблем для того что бы стримить видео быть не должно, хотя опыта в этом не имею и могу ошибаться.
1. Что можете посоветовать по этому поводу?
2. Что можно почитать/посмотриеть о видео стриминге?
3. Подойдет ли вообще node для этой цели?
3.1. Если нет, то какой язык посоветуете для этого? Слышал много хороших отзывов о GO, правдивы ли они?
Сергей Горностаев: Пока что особых подробностей не знаю, попросили разобраться в вопросе. Знаю только что клиентом будут мобильные приложения, а стримится будут статические видео-файлы.
Coder321: единственная причина писать свой видеострим-сервер - это реализация собственного протокола потокового вещания и видео-плеера под него. Если же плеер из стандартных, то nginx с модулем rtmp или hls заруливает любую поделку. Не говоря уж о коммерческий видеострим-серверах.
Сергей Горностаев: Если главное требование "бери больше, кидай дальше", то в голой производительности с nginx-rtmp очень круто.
Но в реальном мире, где оправдывать человеко-часы разработчиков и админов может быть выгодно только их начальникам, для собственников бизнеса nginx-rtmp может быть не всегда лучшим решением с точки зрения стоимости владения таким решением.
Да и кому нужна сверическая в вакууме производительность, которую не удастся утилизировать при современной стоимости канала?
А по фич листу nginx-rtmp далеко не фаворит. Мало того, что серьёзных изменений нет уже несколько лет и каждый пилит свои костыли поверх него в силу своей фантазии, так и сложность оперирования такой монструозной конструкцией вытекает в большие трудозатраты, чем с тем же нимблом, на который ссылается Юрий Удовиченко
Так что если нужно поиграть в девелопера и потратить много денег своего работодателя на свою зарплату, при этом бравируя бесплатностью полученного решения, то nginx-rtmp отличный выбор.
Paul Nice: я не совсем понимаю, как вы в одну строку ставите "поиграть в девелопера" и nginx-rtmp. Поиграть в девелопера - это наваять собственный стриминговый протокол на Netty, например. А настроить nginx на раздачу видео-файлов по rtmp - это 5 минут поиграть в админа за 1500 рублей.
Сергей Горностаев: Возможно мы по разному смотрим на задачу, которую озвучивает топикстартер.
Мне видится, что нужно построить и обслуживать целый сервис, для чего потребуется нанимать людей.
При этом грамотных людей, которых ещё надо найти и время которых стоит сильно дороже, чем 1500 рублей / час.
При построении такого сервиса многие как раз и выбирают коммерческие стримеры ака вовза и флюссоник, ну или тот же нимбл.
Так как для такого сервиса статистика тоже понадобится, относим нимбл к коммерческим софтинам.
Вот в этой троице и остаётся выбирать, т.к. ещё есть поддержка, которую если припрёт можно завалить вопросами и таки получить ответы и поддержку.
А для своего пэт проекта nginx-rtmp самое оно наверно.
Paul Nice: вы меня не поняли. Я пишу автору, что в большинстве случае разрабатывать что-либо вообще не нужно, надо взять готовое решение, лучше коммерческое.
Я бы использовал FreeSwitch в связке с NGINX + nginx-rtmp-module
Таким образом сам стриминг работать будет и уже на каком языке писать бизнес логику по управлению того кому и что показывать не так уж и важно.