BB 8, в приведённом примере есть только вдиеопотоки и из них извлечь аудио можно только транскодированием.
Если найдёте отдельные дорожки, то вам повезло.
Вы что хотите сделать?
Вам похоже нужен плеер а-ля hls.js или клаппр или шака или ещё что-то.
Ну а подготовка сегментов вообще-то на сервере должна происходить.
Pantene742, С литературой сложно.
И всё очень индивидуально, зависит от сферы применения.
Есть несколько слабо пересекающихся вселенных, занимающихся видеостримингом.
ВКС, ТВ-вещание, UGC, VoD.
Я бы посоветовал начать с изучения кодеков и форматов.
Ну и мою любимую гифку для понимания приложу.
Денис Букреев: так а в чём проблема?
Беретё вот по этому мануалу ставите софт, потом берёте и вставляете ембеды на страничку - и всё можно смотреть, листать.
Я не вижу тут какой-то технической проблемы.
Хотя может что-то упускаю.
Что там за контент смотрят люди и листают?
Денис Букреев: это работает иначе.
Если у вас контент находится "рядом" с клиентом, то и проблем с раздачей не будет, если использовать нормальный стриминговый софт конечно.
О каких задержках идёт речь?
Если речь о задержках при старте проигрывания, то такая штука как препуш (накачивание фреймов в буфер на сервере, чтобы при подключении клиента их ему выплюнуть) вполне себе решает эту задачу.
Если речь о задержках при перемотке, то опять-таки это не проблема если стример рядом с пользователем.
Заталкивать всё видео клиенту в буфер плеера очень дорого и очень бесмыссленно.
Сергей Горностаев: Возможно мы по разному смотрим на задачу, которую озвучивает топикстартер.
Мне видится, что нужно построить и обслуживать целый сервис, для чего потребуется нанимать людей.
При этом грамотных людей, которых ещё надо найти и время которых стоит сильно дороже, чем 1500 рублей / час.
При построении такого сервиса многие как раз и выбирают коммерческие стримеры ака вовза и флюссоник, ну или тот же нимбл.
Так как для такого сервиса статистика тоже понадобится, относим нимбл к коммерческим софтинам.
Вот в этой троице и остаётся выбирать, т.к. ещё есть поддержка, которую если припрёт можно завалить вопросами и таки получить ответы и поддержку.
А для своего пэт проекта nginx-rtmp самое оно наверно.
Сергей Горностаев: Если главное требование "бери больше, кидай дальше", то в голой производительности с nginx-rtmp очень круто.
Но в реальном мире, где оправдывать человеко-часы разработчиков и админов может быть выгодно только их начальникам, для собственников бизнеса nginx-rtmp может быть не всегда лучшим решением с точки зрения стоимости владения таким решением.
Да и кому нужна сверическая в вакууме производительность, которую не удастся утилизировать при современной стоимости канала?
А по фич листу nginx-rtmp далеко не фаворит. Мало того, что серьёзных изменений нет уже несколько лет и каждый пилит свои костыли поверх него в силу своей фантазии, так и сложность оперирования такой монструозной конструкцией вытекает в большие трудозатраты, чем с тем же нимблом, на который ссылается Юрий Удовиченко
Так что если нужно поиграть в девелопера и потратить много денег своего работодателя на свою зарплату, при этом бравируя бесплатностью полученного решения, то nginx-rtmp отличный выбор.
kreg1g: тогда вот сюда напишите.
Они с таким могут помочь.
По крайней мере судя по документации они это делают уже из коробки.
А защитить контент каким-нибудь AES не пробовали?
kreg1g Так а какая задача решается?
Сделать watermark видимым всем и тем самым доказать собственность на контент или вставить watermark так, чтобы было понятно кому утекло видео?
Проброс авторизации с YT нетривиальная задача.
Там есть варианты:
смотреть могу те, у кого есть ссылка
возрастное ограничение приведёт к требованию быть залогиненным на YT
Можно смотреть на готовые и платные платформы.
А чем публикация идёт в сервис?
Какой бюджет на трансляции в месяц?
Programmir: Небольшой проект на паре виртуалок (одну под веб-морду, одну по БД и логику) + железный сервер с 1 Гбит/с на раздачу - дешево и сердито.
В зависимости от битрейта потоков будет хватать на сотни человек онлайн, что уже должно приносить некий доход.
Cсылка выше как раз на документацию flussonic про то за какие пипки и как дёргать, чтобы на сервере создавать потоки и изменять их свойства.
Флюссоник это софт, а делает его российская компания эрливидео.
В зависимости от того, что именно будет предлагать ваш сервис можно предлагать разные сценарии.
Для камхоринга одна логика, для сервиса а-ля твитч - другая (но в целом похожая).
Можно оттолкнуться от некой идеи. Например кому-то может быть полезно стримить из одного места сразу в несколько сервисов.
Т.е. человек публикует своё видео на ваш сервис, а от вас видео идёт в несколько сервисов одновременно (twitch, youtube, facebook например).
Оттолкнуться надо от идеи, а потом подбирать инструменты её реализации.
Programmir: Для изучения скорее важна реализация логики.
Это самая интересная часть пожалуй.
Хороший бэк есть, фреймворков для веб-морды тоже хватает, а вот готовых рецептов логики нет.
И это должно быть интересно.
Питон + БД + API всякие подёргать.
Я как адепт flussonic могу посоветовать посмотреть.
Хотя по существу если, то надо самому себе ответить на вопрос: "Что я делаю и зачем?"
Frontend на одном, Back-end на другом.
Логику вероятно на третьем.
Но без ответа на вопрос на "Зачем?" никакие последующие ответы пользы не принесут.
artshelom: В таком случае, искренне желаю вам успехов в решении этой задачи.
Т.к. для обучения сетей пониманию того, что изображено на картинке нужно очень много сил и ресурсов, это крайне сложная задача.
Похоже, что вам хочется сделать как у гугла или яндекса поиск по картинкам.
А для этого почти полноценный AI нужен, способный принимать решения.
Сравнить два изображения с лицами и решить похожи они или нет это решаемая задача.
Грузить абстрактную картинку и сделать так чтобы машина поняла что на ней - сильно сложнее.
Сергей Горностаев: Это иллюстрация того, как может работать подобный сервис. И если механика работы устраивает автора вопроса, то можно смело его направлять либо обучать свою сеть на узко специализированную задачу, либо предлагать брать готовые решения.
Сначала ведь стоит понять, что именно нужно человеку. Не то, что он спрашивает, а выяснить, что ему нужно.
А чем доставляете? Преролл для потока или для VoD?
Сейчас реклама вставляется на уровнее плеера обычно.
Либо составлением плейлистов с внимательной подготовкой рекламных роликов перед компановкой.
Т.е. когда сам поток формируется где-то на obs или wirecast/vmix.
Если найдёте отдельные дорожки, то вам повезло.