Videollamadas con WebView y PeerJS en Android | de Shaik Ahron | diciembre 2022
En este mundo digital, queremos estar conectados con nuestros amigos y familiares. La demanda de aplicaciones de videollamadas aumenta día a día. Podemos desarrollar aplicaciones que nos mantengan conectados WebRTC.El flujo del artículo:
- ¿Qué son WebRTC y PeerJS?
- Conceptos básicos de WebRTC.
- Desarrollo de una app de videollamadas con Peer.js y WebViews en Android.
WebRTC representa Comunicación web en tiempo real. La tecnología WebRTC lo ayuda a intercambiar video, audio y cualquier dato con colegas. WebRTC es compatible con navegadores web y dispositivos nativos para dispositivos nativos, debe agregar bibliotecas webrtc.PeerJS es simplemente un envoltorio alrededor de la implementación de webrtc del navegador, y con él podemos agregar soporte de transmisión de video y audio muy fácilmente. Abstrae todo el trabajo pesado que tenemos que hacer. Usaremos vistas web para llamar a nuestro propósito JavaScript código y renderizado HTML.WebRTC funciona estableciendo conexiones punto a punto utilizando una variedad de protocolos.
- señalización: El proceso de señalización ayuda a establecer y controlar la sesión de comunicación. señalización utilizada partido socialdemócrata(Protocolo de descripción de sesión) Protocolo que está en formato de texto sin formato y contiene datos sobre. a) Ubicaciones de los pares (dirección IP de los pares). b) tipo de medio
- Conectar: En WebRTC, las conexiones se realizan de igual a igual, no cliente-servidor. Puede ser difícil conectar dos pares debido a incompatibilidades. Este problema de conexión se puede solucionar utilizando los servidores ICE, TURN y STUN. a). HIELO representa Edificio de conectividad interactiva. Ayuda a encontrar la forma óptima de conectar dos pares para que la transferencia de datos pueda realizarse de manera óptima.b). ATURDIR representa Utilidades de cruce de sesión para NAT. Es un método estándar utilizado por NAT transversal. El cliente WebRTC le pide al servidor STUN que obtenga la dirección IP pública c). GIRO representa Transversal con relés alrededor de NAT. Si no es posible utilizar STUN. entonces los servicios deben enrutar los flujos de medios a través de ese servidor.
- Intercambio seguro de datos: Webrtc garantiza la seguridad. Encripta los datos intercambiados entre pares. Utiliza dos protocolos SRTP y DTLS.a). SRTP representa Protocolo de transporte seguro en tiempo real. Es una versión segura de RTP. El protocolo proporciona encriptación, confidencialidad, autenticación de mensajes y protección de reproducción para su tráfico de audio y video transmitido.b). DTL representa Seguridad de la capa de transporte de datagramas. DTLS es un protocolo utilizado para proteger las comunicaciones basadas en datagramas. La entrega ordenada no está garantizada y tiene menos latencia.
- intercambiar datos: Con WebRTC podemos transmitir flujos de datos, audio y video. usamos RTP y RTCP Protocolos para la transmisión de datos.a). RTP representa el Registro de transporte en tiempo real. Ayuda en la transmisión en tiempo real de flujos de medios.b). RTCP representa Registro de control en tiempo real. Los mensajes, que pueden controlar la transmisión y la calidad de los datos, también permiten a los destinatarios enviar comentarios a la fuente. Un protocolo desarrollado para este propósito es RTCP.
Comencemos a trabajar en ello.Aquí está el GitHub atajo.Paso 1: Cree un nuevo proyecto de Android.Paso 2: tienes que agregar 4 archivos a tu proyecto AndroidAquí está atajo.En este punto necesita agregar archivos.VideoCallDemo/app/src/main/assets/Paso 3: Debe agregar estos permisos Manifiesto.xml.