Как реплицировать поток Google "Hangouts On Air", сочетая функциональность?

Я изучал этот вопрос довольно давно, но не нашел надежных выводов.

Ранее у меня было приложение Wowza/Flash с функцией видео чата (скажем, 4 или 8 видео / аудио потоков), и я хотел объединить потоки на стороне сервера в один видео / аудио поток для отправки на живой канал Youtube или, скажем, CDN, такой как AWS CloudFront. Кроме того, мне интересно, как это будет реализовано в WebRTC с центральным сервером.

Я нашел пару проектов, таких как jMixer, и несколько полезных ключевых слов, таких как "vision mixer", которые помогут мне в поиске, но ищут какой-либо предыдущий опыт или новые идеи. Теперь, включая WebRTC, я вижу "многоточечный блок управления" для централизации потоков и "mashup".

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

Каковы некоторые идеи, ключевые слова, существующее программное обеспечение (предпочтительно с открытым исходным кодом) или даже статьи, чтобы взять эти прямые трансляции и объединить их в один в реальном времени? Или сам кодирую, как будто я был нужным маршрутом?

Не искать кодовое решение, а скорее общее эффективное (по времени и ресурсам, а не по вычислениям) решение, применимое ко всем пользователям.

Спасибо!

2 ответа

Вы можете посмотреть в телеприсутствие или эризо

Насколько я помню из кода телеприсутствия, вы можете кодировать плагин inc C++ для реализации собственного рендерера, соединяя видео вместе.

Jitsi Videobridge - это альтернатива WebRTC с открытым исходным кодом для маршрутизатора Vidyo, который используется в Google Hangouts. Мост можно найти здесь:

https://jitsi.org/videobridge

Пример приложения в виде видеовстречи доступен здесь:

https://meet.jit.si/

Код для моста и веб-приложения доступен на GitHub.

Надеюсь это поможет.

Другие вопросы по тегам