Email or username:

Password:

Forgot your password?
Тр3тий Сергеевич

Я тут вчера прокручивал сценарии у себя в голове и идея реализации клиента-оверлея Jitsi на Godot мне уже не кажется удачной.

Движок в целом не умеет в медиастриминг по сети, а реализация решения через расширение с ffmpeg (которую, честно говоря, я пока ещё не пробовал) подразумевает создание кучи дочерних процессов (по 2 на участника), которые ещё как-то надо отслеживать. Мало того, монолитный frame на wasm не даёт встраивать в интерфейс медиапоток по аналогии с HTML-тегами audio и video.

Возможно, стоит поискать другой веб-ориентированный движок (желательно с поддержкой 3D и JavaScript). Есть у кого что на уме?

cc @vint @drq

6 comments
Тр3тий Сергеевич

Базовая идея была в том, чтобы использовать громкость/частотный спектр аудиопотока в качестве драйвера для анимации (отдельно на каждого говорящего). Дополнительная идея - видеотекстура на базе данных, извлекаемых из соответствующего видеопотока.

Опять же, я не сомневаюсь, что это *может быть* реализовано, но меня беспокоит вопрос избыточности средств и оптимизации.

Винт Прокс

@th3rdsergeevich

В варианте с веб-расширением я пока не пробовал хайджек аудио-потока, но точно видел, что в интерфейсе Jitsi уже есть анимация громкости участника, с которой можно считывать показатель и делать новую. Не уверен, что аудио-поток оверлею вообще нужен для чего-то другого, поэтому не задумывался о хайджеке. Можно попыхтеть с <audio> элементами... если найдутся.

Видео-потоки показа экрана и вебки, которые участники добавляют, я бы попробовал перехватить покадровым взятием blob-ов на элементах <video>, но пока больше вопросов, чем ответов. Во всяком случае, это минует накладные HTTP-запросы...

Насчёт умения в 3D и веб-морд, three.js и другие приличные либы приходят на ум. Оптимизация вроде чин по чину давно.

@th3rdsergeevich

В варианте с веб-расширением я пока не пробовал хайджек аудио-потока, но точно видел, что в интерфейсе Jitsi уже есть анимация громкости участника, с которой можно считывать показатель и делать новую. Не уверен, что аудио-поток оверлею вообще нужен для чего-то другого, поэтому не задумывался о хайджеке. Можно попыхтеть с <audio> элементами... если найдутся.

Тр3тий Сергеевич

@vint Я уже посмотрел доки по three.js, там есть подхват через элементы (в случае audio - ещё и через MediaStream). По анимации громкости ещё нужно покурить доки по Jitsi, особенно в части iframe.

Roman

@th3rdsergeevich @vint @drq чатгопоте твой пост скормил, так она целый список решений выдала

Roman

@th3rdsergeevich @vint @drq ой нет, там километр текста, копировать из него с телефона кусочки неудобно. Сам спрашивай :)

Go Up