Как разработать мультиплатформенное приложение для видеоконференций/чатов?

Я разработчик, который все еще учится. Я хочу разработать приложение, которое может позволить нескольким людям одновременно проводить видеоконференции/чаты, например, zoom . Я знаю, что могу разрабатывать собственные приложения, например, специально для Android и iOS, но я все еще изучаю разработку для Android и понятия не имею о коде iOS. Я искал и обнаружил, что у нас могут быть гибридные приложения с React, Node.js или с Angular. js, и они работают на разных платформах. Но, поскольку я новичок, мне нужны предложения, а также рекомендации. Я ожидаю в своем приложении следующие вещи:

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

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


person user716691    schedule 23.04.2020    source источник
comment
Вы хотите создать все с нуля или можете использовать существующего поставщика?   -  person Jitesh Shivnani    schedule 23.04.2020
comment
@JiteshShivnani Я предпочитаю иметь что-то с нуля, остальное я знаю, что есть что-то, называемое webRTC.   -  person user716691    schedule 23.04.2020


Ответы (1)


Хорошо, тогда у вас много работы. Я укажу вам на некоторые ссылки, которые должны дать вам хорошее начало. Я постараюсь сделать это как можно короче.

Как вы упомянули, WebRTC — это путь.

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

В этом блоге подробно объясняется, как работает WebRTC — https://medium.com/@anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f

В этом блоге объясняется, как создавать видеовызовы peer2peer в Android — https://medium.com/@anto.christo.20/understanding-web-real-time-communication-webrtc-d4cec5a43f2f

https://webrtc.org/ также содержит множество материалов для начального уровня, включая примеры кода.

После того, как вы это сделаете, вы можете добавить другие функции поверх него.

Теперь это позаботится о peer2peer, но если вы хотите создать многопользовательскую функциональность с нуля, требуется дополнительная работа, как указано в ответе - как создать многопользовательское веб-приложение для видеочата с использованием webRTC, node.js и сокета. ио

person Jitesh Shivnani    schedule 27.04.2020