ВИДЕОЧАТ C НУЛЯ НА React & WebRTC + WebSockets. Аналог Zoom, Skype, Google Meet ЗА ЧАС 2021

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 ก.ย. 2024

ความคิดเห็น • 118

  • @romanlamer181
    @romanlamer181 3 ปีที่แล้ว +23

    Очень познавательное и крутое видео!!!100 из 10;
    Таймкоды:
    0:56 - Что такое WebRTC,и как создать p2p соединение;
    5:09 - Устанавливаем прямое соединеие без сервера;
    10:34 - Пишем код приложения;
    20:38 - Actions;
    30:00 - Пример создания комнат;
    32:23 - Пишем хуки;
    37:53 - Захват медиа;
    44:30 - Пример захвата медиа;
    59:57 - Тестим наш видеочат;
    1:01:00 - Добавляем стили;
    1:05:50 - Наслаждаемся выполненой работой;

  • @ВладимирГоворов-о3г
    @ВладимирГоворов-о3г 8 หลายเดือนก่อน +2

    Не встречал еще такого наглядного объяснения любой темы с помощью обычной консоли браузера. Но оказалось, что благодаря такой подачи схватываешь на лету все. А то, как реализовать в коде - дело каждого, в пределах разумного, конечно)
    В общем, спасибо. Продвижения вам)🔥

  • @nilsen1879
    @nilsen1879 3 ปีที่แล้ว +7

    Крутой контент, спасибо! Да и вообще на канале нетривиальные todo list, это круто

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      Спасибо, приятно слышать :)

  • @user-gx9gq6fl7q
    @user-gx9gq6fl7q 7 หลายเดือนก่อน

    Парень, гигантское тебе спасибище, ты просто лучший!
    Дай Бог тебе здоровья и процветания твоему каналу 🙂

  • @kiwi9492
    @kiwi9492 3 ปีที่แล้ว +8

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

    • @wisejs
      @wisejs  3 ปีที่แล้ว +1

      спасибо, приятно слышать! в скором времени будет больше подобного контента)

    • @romandeveloper7720
      @romandeveloper7720 ปีที่แล้ว

      @@wisejs, ты большой молодец!

    • @beamway317
      @beamway317 10 หลายเดือนก่อน

      Лучше использовать нативный js

    • @melitopol_Russia
      @melitopol_Russia 7 หลายเดือนก่อน

      ​@@beamway317лучше не использовать нативный там, где это займёт намного больше времени, нежели с использованием библиотеки или фреймворка)

  • @АлинаЧередниченко-п9ъ
    @АлинаЧередниченко-п9ъ 3 ปีที่แล้ว +7

    Давно хотела написать видеочат. Спасибо 😉

  • @Luke-vd8es
    @Luke-vd8es 4 หลายเดือนก่อน

    Спасибо, за этот ролик!! Все максимально понятно и наглядно! После просмотра наконец-то понял как это работает WebRTC и смог реализовать видеозвонки в своем курсовом проекте.

  • @user-vm2db5cq1g
    @user-vm2db5cq1g 4 หลายเดือนก่อน +1

    Это крутой контент! Спасибо!! Очень подробно и понятно!! Ещё раз спасибо, продолжай в том же духе))

  • @xtapofficial6732
    @xtapofficial6732 2 ปีที่แล้ว +13

    Всем привет. Кто смотрит это видео в конце 2021 года - в новой версии вместо Switch нужно прописывать Routes.

  • @alexs7931
    @alexs7931 10 หลายเดือนก่อน

    Первое видео где подробно продемонстрирован код + процесс конекта пиров, я наконец смог увидеть сериализованеую строку подключения offer/answer , до этого просто гадал как это конектится.

  • @alexpresley8002
    @alexpresley8002 11 หลายเดือนก่อน

    Мен, спасибо тебе! Реально круто разложил все по шагам. По итогу действительно получается видео-чат, который может работать как Zoom.

  • @frostichekk
    @frostichekk 5 หลายเดือนก่อน +1

    Даже в 2024 году этот гайд еще актуален, спасибо огромное!
    Но у меня проблема, устройства которые не имеют камеры/микрофона не могут видеть других участников.
    Как сделать чтобы даже если у пользователя отсутствует камера/микрофон он все равно видел других участников?

  • @suslikest3708
    @suslikest3708 3 ปีที่แล้ว +3

    Интересная тема и подана не на 10 часов это лайк!

  • @yourtranquility667
    @yourtranquility667 3 ปีที่แล้ว +2

    Нереально крутой контент, не только актуальный, но и качественный. Спасибо!)

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      спасибо, что оценили!)

  • @МихаилТесля-б4д
    @МихаилТесля-б4д 2 ปีที่แล้ว +5

    Если кому интересно, чтобы пофиксить баг с рендером при подключении множества клиентов к комнате, стоит сделать отдельный компонент для видео, куда нужно прокинуть функцию, которая бы добавляла в useEffect srcObject к видео, подход предложенный автором с useStateWithCallback не всегда срабатывает

  • @user-fm8xw2bq3t
    @user-fm8xw2bq3t 3 ปีที่แล้ว +4

    Очень всё доступно.Спасибо

  • @dimamir1138
    @dimamir1138 3 ปีที่แล้ว +3

    Очень интересно и познавательно. Тут и теория и практика в и класная подача. Побольше бы таких видео!

  • @vana__f7570
    @vana__f7570 3 ปีที่แล้ว

    Ты самый крутой. Тебя обязательно благословят боги. Ты станешь круче чем IT-kamasutra

  • @SenomSnK
    @SenomSnK 3 ปีที่แล้ว

    Спасибо большое за видео, такого контента очень не хватает, продолжайте в том же духе!

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      спасибо за поддержку!)

  • @mprowebuz-zamonaviyvasifat7850
    @mprowebuz-zamonaviyvasifat7850 2 ปีที่แล้ว

    Доброго времени суток только что начал смотреть и сразу лайкнул и подписался удачи

  • @sergiistryzg9699
    @sergiistryzg9699 2 ปีที่แล้ว

    Спасибо) Для первого знакомства самое то) Если что писать --save не обязательно ибо по умолчанию он это делает, это если в девДепенденсис хочешь засунуть то там уже придется писать --save-dev

    • @JohnDoe-p1y
      @JohnDoe-p1y 2 ปีที่แล้ว

      -D тогда так уже чтоб еще короче

  • @user-du9bm5mv1o
    @user-du9bm5mv1o 3 ปีที่แล้ว

    Великолепно, отличные приложения. Спасибо за контент и знания!

  • @ArtemSopun
    @ArtemSopun 5 หลายเดือนก่อน

    просто вау! очень крутое видео!

  • @alexanderolshansky2411
    @alexanderolshansky2411 3 ปีที่แล้ว

    Спасибо большое. Отличная работа!

    • @wisejs
      @wisejs  3 ปีที่แล้ว +1

      Спасибо за ваш отзыв!

  • @RainbowBrilliance
    @RainbowBrilliance 3 ปีที่แล้ว +1

    Спасибо за труд.

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      спасибо, что смотрите!

  • @akezhanrakishev9304
    @akezhanrakishev9304 3 ปีที่แล้ว +5

    Классный урок! Но код с Github репозитория не работает. У меня React сервер и клиент запускается, но соединение не устанавливается и list комнат тоже не отображается. Можете пожалуйста сказать в чем может быть ошибка?

    • @wisejs
      @wisejs  3 ปีที่แล้ว +5

      Верно, там конфиг клиента настроен на хероку.
      В файле:
      /src/socket/index.js
      Нужно изменить:
      const socket = io('/', options);
      на
      const socket = io('localhost:3001', options);

    • @akezhanrakishev9304
      @akezhanrakishev9304 3 ปีที่แล้ว

      @@wisejs Большое спасибо!

    • @jetmix7097
      @jetmix7097 2 ปีที่แล้ว

      @@wisejs Подскажите, пожалуйста, что нужно поменять чтобы приложение располагалась не в корне, а например в папке /chat/ ?

    • @maksym7094
      @maksym7094 2 ปีที่แล้ว

      а есть еще камеры с меньшим разрешением. ставите в getUserMedia свойчтво video в true

  • @me4anika
    @me4anika 3 ปีที่แล้ว +2

    хороший туториал, правда нифига не понятно, но спасибо

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      спасибо! а что именно не понятно?)

  • @aleksandrmatyka3118
    @aleksandrmatyka3118 3 ปีที่แล้ว

    Ты лучший, отличный контент

  • @karmahchannel
    @karmahchannel 3 ปีที่แล้ว +1

    Как получить экран рабочего стола у другого клиента?

  • @sengokusky1515
    @sengokusky1515 3 ปีที่แล้ว +1

    ну ты красава !

  • @mikhailreznichenko8035
    @mikhailreznichenko8035 ปีที่แล้ว

    Спасибо за ролик!

  • @romandeveloper7720
    @romandeveloper7720 ปีที่แล้ว +1

    Привет.
    А как сделать демонстрацию экрана в браузере?

  • @romanmelnichenko1365
    @romanmelnichenko1365 3 ปีที่แล้ว +2

    Спасибо за ваш труд!)
    Первый пример 5:00-10:00 работает как-то неправильно: из хрома в ФФ сообщения не приходят, а наооборот все работает. Ошибок нету. Два раза повторил по видео - результат один и тот же.
    Я один с такой проблемой?

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      Спасибо за коммент! Думаю что вы упускаете какой-то момент. Проверял неоднократно в разных браузерах, все было ок.

  • @maxim7603
    @maxim7603 3 ปีที่แล้ว +1

    Спасибо, годное видео

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      спасибо, дальше больше)

  • @elenap.7341
    @elenap.7341 4 หลายเดือนก่อน

    почему работает только на Локал хосте? может это я дурак...

  • @duoduoo6732
    @duoduoo6732 2 หลายเดือนก่อน

    пир ту пир будет работать если у пиров нет белых адресов?

  • @corvus278
    @corvus278 2 ปีที่แล้ว

    5:00 - 10:00 -- не работает в firefox, однако между браузерами на хромиуме норм. Если погуглить, вроде объясняется в чём дело, но я не очень понял)

  • @kihawi1627
    @kihawi1627 4 หลายเดือนก่อน

    как я могу получить https сертификат и использовать его?

  • @gamerecords_site
    @gamerecords_site 2 ปีที่แล้ว +1

    Классное видео, вопрос, можно ли сделать, чтобы подключаемый не транслировал свою камеру, а просматривал видео к кому подключается?

    • @melitopol_Russia
      @melitopol_Russia 7 หลายเดือนก่อน

      ну да, при подключении устанавливать значение false в настройках девайса камеры, либо просто пользоваться браузерной фичей

  • @xxcrypt234
    @xxcrypt234 ปีที่แล้ว

    Спасибо!

  • @ЭминШахабов
    @ЭминШахабов 9 หลายเดือนก่อน

    привет. не запускается сервер, с чем может быть связано? выдает ошибку в терминале: Error: Cannot find module './src/socket/actions'

  • @studentkais
    @studentkais ปีที่แล้ว

    Ребят, Я хочу быть уверенным, чтобы все это работало, нужно ведь сервер, верно? Который надо покупать и каждый месяц оплачивать даже если сайт совсем не большой, правильно? Нельзя ли на локалке все это развернуть? Или тут все по-другому надо делать?

  • @NeoJohnSmit
    @NeoJohnSmit 2 ปีที่แล้ว

    Спасибо))

  • @GamerOneStrike
    @GamerOneStrike 2 ปีที่แล้ว

    Какой командой деплоится в хероку? У меня npm run start на локалке открывает 3001 порт, а на хероку вообще ничего, насколько я понимаю прослушивается другой порт.

  • @hpc832
    @hpc832 2 ปีที่แล้ว +1

    Здравствуйте, подскажите пожалуйста, что за среда разработки?

    • @nickolya00
      @nickolya00 2 ปีที่แล้ว

      PyCharm вроде

  • @JohnDoe-ru9yp
    @JohnDoe-ru9yp 2 ปีที่แล้ว

    Как убрать эхо если с двух устройств говорят по громкой связи и стрим идёт немного с задержкой?

  • @BbKk224
    @BbKk224 3 ปีที่แล้ว +1

    Видео то годное, но вот на телефоне подсоединится не получается. Странно что оно вообще все работало два месяца назад без HTTPS

    • @wisejs
      @wisejs  3 ปีที่แล้ว +1

      Проверял на iphone, все работало норм. Что и показал в превьюшке. Да и сейчас все ок.

    • @BbKk224
      @BbKk224 3 ปีที่แล้ว

      @@wisejs на Андроиде не работает к сожалению

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      @@BbKk224 В Хроме открываете?

    • @BbKk224
      @BbKk224 3 ปีที่แล้ว

      @@wisejs Да

  • @vladosononame6376
    @vladosononame6376 3 ปีที่แล้ว

    Очень круто, спасибо за информацию

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      Спасибо, круто что понравилось!

    • @vladosononame6376
      @vladosononame6376 3 ปีที่แล้ว

      @@wisejs попытался подключиться от браузера к браузеру заработало, раздаю интернет с телефона, попробовал с другом подключиться с другого города обменялись токенами но не получилось подключиться) что может быть? изза того что у меня не 4g?

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      @@vladosononame6376 Скорее всего да. Через 3g невозможно установить p2p соединение. Нужен дополнительно сервер, который будет проксировать трафик.

    • @vladosononame6376
      @vladosononame6376 3 ปีที่แล้ว +1

      Wisejs Frontend это видео - лучшее что я видел по вебу на ютубе, ты настоящий молодец как ты собрал всю эту информацию и переварил и выдал в видосе я не понимаю) это настоящий тяжелый труд который никто не замечает

  • @danissimo757
    @danissimo757 11 หลายเดือนก่อน

    в каком текстовом редакторе ты работал?

  • @MRratatyq
    @MRratatyq 2 ปีที่แล้ว

    Я что то не совсем понял как соединить 3-его человека....

  • @cryptoclubchannel
    @cryptoclubchannel ปีที่แล้ว

    Можешь помочь доработать чат? Есть некоторые нюансы, которые пока не могу поправить сам

  • @ЕвгенийЖ-н6м
    @ЕвгенийЖ-н6м 2 ปีที่แล้ว

    Всем привет, если делать то, что автор в начале видео в двух браузерах почему-то не срабатывает обработчик onmessage, в чем может быть причина? chanel.send("text") не работает , как исправить? Кто пробывал ?

  • @pavel2702
    @pavel2702 ปีที่แล้ว

    Ребят если есть какой-то проект, где есть кнопка общения по видеосвязи, скажите как встроить данный проект, по нажатию на эту кнопку, есть вариант по роутерам, но как ссылаться на весь проект?

  • @andranikhakobkekhvyan868
    @andranikhakobkekhvyan868 ปีที่แล้ว

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

  • @uggarshorts
    @uggarshorts 2 ปีที่แล้ว

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

    • @wisejs
      @wisejs  2 ปีที่แล้ว

      Выполняйте команды под sudo или с Правами Администратора на Windows.

  • @ТвойДруг-н7и
    @ТвойДруг-н7и 2 ปีที่แล้ว

    А как сделать не видео чат, голосовое p2p соединение?

  • @user-iy2hd6ix9j
    @user-iy2hd6ix9j 2 ปีที่แล้ว

    Спасибо! Автор подскажи, при JOIN к созданной комнате поймал ошибку 'Error getting userMedia: DOMException: Could not start video source', код из хуков копипастил) если подключаться с одного браузера работает, а с разных вот падает) не встречал кто ?

    • @wisejs
      @wisejs  2 ปีที่แล้ว

      Не встречал.
      Попробуй моё приложение поднять и посмотреть воспроизводится ли ошибка.

  • @svetlanasmirnova5623
    @svetlanasmirnova5623 2 ปีที่แล้ว

    Спасибо за видео! Присоединяюсь к вопросу Yusenka: при команде npx nodemon server.js запускается не наш сервер через порт 3001, а дефолтный сервер Реакта через 3000. Почему так происходит и как это исправить?

    • @wisejs
      @wisejs  2 ปีที่แล้ว

      Запускайте Команды из package.json, а не на прямую. И server по дефолту запускается на 3001.

  • @jetmix7097
    @jetmix7097 2 ปีที่แล้ว

    Подскажите, пожалуйста, что нужно поменять чтобы приложение располагалась не в корне, а например в папке /chat/ ?

    • @wisejs
      @wisejs  2 ปีที่แล้ว +1

      В роутер path везде добавить префикс /chat

  • @muxa258
    @muxa258 3 ปีที่แล้ว

    У меня тут вопросик? А как сделать чтоб это все работало через и на другом домене я про доступ к камере и микрофону?

    • @wisejs
      @wisejs  3 ปีที่แล้ว +2

      В айфрейме нужно указать атрибут: allow="display-capture".

  • @ОлександрТищенко-в3щ
    @ОлександрТищенко-в3щ 3 ปีที่แล้ว

    ні в кого CORS не блокував роботу додатку?

  • @sergeinosachyev5320
    @sergeinosachyev5320 2 ปีที่แล้ว

    да да)) это же самое малое что можно показать, есть куча опций которые должны быть реализованы

    • @wisejs
      @wisejs  2 ปีที่แล้ว

      Суть видеочата в видеосвязи. Остальное не так важно.

  • @arrurp
    @arrurp 2 ปีที่แล้ว

    Спасибо за видео.
    Запускаю сервер и клиент коммандами из packages.json, в хроме в 1й вкладке создаю комнату.
    Во второй хочу посмотреть ее айди в списке, но она не появляется.
    Может у кого-то было подобное?

    • @arrurp
      @arrurp 2 ปีที่แล้ว

      Решилось так:
      const socket = io(':3001/', options);

  • @lynnpelly2277
    @lynnpelly2277 2 ปีที่แล้ว

    In app please

  • @NeoJohnSmit
    @NeoJohnSmit 2 ปีที่แล้ว

    Вау

  • @lisofsky8151
    @lisofsky8151 2 ปีที่แล้ว

    синтаксис устарел роутер реакт

  • @bad4iz
    @bad4iz ปีที่แล้ว

    хероку сервер сдох?

  • @user-wn2fh3oe1l
    @user-wn2fh3oe1l 3 ปีที่แล้ว

    Спасибо!

    • @wisejs
      @wisejs  3 ปีที่แล้ว

      Спасибо за коммент!