Николай Ланец
4 февр. 2019 г., 13:11

MODX-Клуб 2.12.1 PWA и видеозвонки в чатах

Всем привет!

Довольно долго я ничего не писал, но на то были причины - много всего нового делал:)
И вот сегодня запускаю в тест новый интересный функционал - мультипользовательские видеозвонки в чатах. Пока что это совсем еще не законченный модуль, но основная программная часть вроде как работает. Собственно, сейчас и приглашаю всех желающих поучаствовать в тестировании.

Проще всего сделать это следующим образом:
1. Авторизуйтесь на сайте (сорри за нубскую инструкцию, но некоторые отличились :) ).
2. Зайдите в основной чат: https://modxclub.ru/chat-rooms/cjqlr1cym4q050989swuunqmo.
3. Если вы еще не в чате, добавьтесь в него, нажав кнопку с плюсиком, или просто написал любое сообщение в этот чат (при отправке сообщения вы автоматически добавляетесь в эту комнату).
4. После того, как вы присоединитесь к чату, у вас должна появиться кнопочка для вызова. Вот ее и нажимаете для вызова.
Важно!
1. Убедитесь, что вы зашли именно на https-адрес, а не просто на http.
2. На устройстве должны быть камера и микрофон. В настоящий момент с телефона не очень удобно, с ноута удобней.

Картинка для понимания: http://joxi.ru/V2V5RvlFx3M4Km

Сейчас все сделано не очень удобно, мягко говоря, но все же. Тестирование сейчас очень важно, чтобы выявить наиболее слабые места и поправить их. После этого будет более качественное дизайнерское оформление всего этого. Уточню, что новый функционал прилетел вместе с двумя новыми модулями: @prisma-cms/webrtc-module и @prisma-cms/webrtc и находятся в открытом доступе, то есть когда мы завершим отладку и доработаем функционал, каждый желающий сможет у себя на сайте сделать видеосвязь. Попозже появится подробная инструкция.

Еще момент: сейчас велика вероятность того, что используемые stun-сервера не всегда корректно могут установить соединение между пользователями, в результате чего вы будете видеть себя, но не видеть собеседника. Да, это тогда ошибка. Но имейте ввиду, что сейчас ваша картинка в диалоге стоит выше картинки собеседника и не сразу появляется, поэтому после появления вашей картинки секунд через 10 прокрутите окошко пониже, может ниже появился собеседник.
Пожалуйста, отписывайтесь в главный чат об успешных и неуспешных попытках, дабы было понимание нормально все работает или нет.

Если вы решили позвонить для теста и хотите со мной поговорить, смотрите текущие таймеры. Если у меня есть активная задача, значит можно просто брать и звонить. Если меня нет, то напишите сообщение в основной чат или мне в личку, согласуем сессию.

Так же вы можете созваниваться с другими участниками MODX-Клуба. Достаточно создать общий чат и звонить туда. Здесь важно понимать, что в настоящий момент звонить можно только тому, кто чат создал, но создатель сайта не может никому в нем позвонить. Позже это будет доработано. Зато можно созваниваться втроем и более.

P.S. и да, сейчас modxclub.ru это уже PWA (progressive web application). Вы можете его сохранить на свой рабочий стол ПК или на главный экран мобильного телефона. Плюс в том, что при его такой работе не подгружаются скрипты, они берутся из кеша устройства и запуститься может даже в отсутствии интернета. Чуть позже я запущу полноценные пуш-уведомления, и будут запущены новые интересные фишки, возможные в рамках PWA, но не простого веб-сайта.

P.P.S. Кстати, в ходе разработки не редко возникают интересные задачки. К примере, мне в процессе работы для отладки нужен был видеопоток с веб-камеры. Но у меня никак не доходят руки купить камеру на компьютер:) Без этого не получается. В общем, возникла потребность в имитации видеокамеры в браузере. Оказывается можно:) Я кратко описал решение здесь. Фишка в том, что можно запускать хром с параметрами имитации устройств ввода и направлять видео-файл как стрим:)

UPD: онлайн-генератор иконок (здесь их надо много в манифест прописать): https://www.favicon-generator.org/
Уже состоялось два видеозвонка :) Успех переменный. Замечена бага со сбросом сессии на стороне сервера (хотя звонок продолжается, ибо это соединение P2P), но в целом разговаривать получается.
Идея классная... Генератор использую другой. Вопрос такой, ты какой вариант использовал для pwa? cache-first или конкурентный?

<<< ты какой вариант использовал для pwa? cache-first или конкурентный?
На сколько я понимаю, cache-first. Только я особо ничего не выбирал. Это сейчас в react-scripts "из коробки" идет. https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app#docsNav

Добавить комментарий