¿Qué teléfono webrtc es?
I) sipdroid
1) Arquitectura
La pila de protocolos sip se implementa mediante JAVA y el códec de audio se implementa mediante Skype's Silk (el códec Silk es Skype El codificador de audio de banda ancha Silk proporciona certificación (RF) libre de regalías a desarrolladores y fabricantes de hardware externos. La transferencia NAT admite el servidor stun.
2) Ventajas y desventajas:
NAT solo admite STUN y no tiene un marco ICE. Si necesita implementar completamente las videollamadas P2P, debe implementar un cliente que cumpla con el estándar ICE. Tecnologías como AEC no son visibles en el audio y el vídeo tampoco es perfecto. Actualmente, solo llama al MediaRecorder que viene con el sistema y no tiene su propia biblioteca de códecs de audio y video de terceros.
3) Pruebas reales:
Basándonos en la arquitectura sipdroid, haremos mucho trabajo (soporte ICE, agregar cancelación de eco, NetEQ y otras tecnologías de audio gips, y agregar video códecs de hardware), por lo que no se realizan pruebas.
2) imsdroid
1) Arquitectura:
Basado en doubango (Doubango es un marco de código abierto basado en 3GPP IMS/RCS y se puede utilizar para aplicaciones integradas). y sistemas de escritorio El marco está escrito en ANSCI-C y tiene buena portabilidad. Está diseñado para ser muy portátil y puede funcionar de manera efectiva en sistemas integrados con poca memoria y procesamiento. La función idoubs en los sistemas Apple está escrita en base a esto. marco de). Admite la mayoría de los formatos de codificación de audio y video (H264 (video), VP8 (video), ILBC (audio), PCMA, PCMU, G722, G729). NAT admite hielo (aturdimiento + giro).
2) Medición del efecto
Entorno de prueba: dos máquinas se comunican entre sí en la LAN de la empresa y el servidor utiliza sip2sip en la red externa.
La calidad del audio es buena, pero todavía se escucha algo de eco al encender AEC (esto debería ser reparable). El vídeo es muy mosaico, con un retraso de aproximadamente 1 segundo.
3) Ventajas y desventajas
Imsdroid es actualmente relativamente completo e incluye códec de audio y video, transmisión (RTSP, ICE), tecnología de procesamiento de audio, etc. Doubango utiliza la tecnología AEC de webrtc, pero la parte webrtc a la que llama no es de código abierto y utiliza una biblioteca webrtc compilada. Si quieres mejorar el sonido, no conviene. El efecto de audio de la demostración está bien, pero el efecto de vídeo aún no es el ideal.
3) csipsimple
1) La pila de protocolos SIP usa pjsip, y las bibliotecas de terceros utilizadas para la codificación y decodificación de audio y video incluyen FFMPEG (video), Silk (audio) y webrtc. De forma predeterminada, se utiliza el algoritmo de eco de WebRTC. Admite protocolo ICE.
2) Ventajas y desventajas:
Csipsimple tiene una arquitectura relativamente clara. El protocolo SIP se implementa en C y Java se llama a través de JNI, por lo que el protocolo SIP será más eficiente. También dispone de funciones VOIP, incluyendo transmisión NAT, códec de audio y vídeo. Además, el proyecto se adapta rápidamente a las nuevas tecnologías y la actividad oficial es relativamente alta. Si está realizando un desarrollo secundario, puedo recomendarlo.
3) Resultados de la medición
Entorno de prueba: dos máquinas se comunican entre sí en la LAN de la empresa y el servidor utiliza sip2sip en la red externa.
La calidad del audio es buena, no hay eco evidente y es necesario descargar el vídeo. El mosaico es más grave que el imsdroid.
4) Linphone
Este es un SIP antiguo que admite Windows, Mac, iOS, Android, Linux y otras plataformas, y la tecnología será más madura. Sin embargo, según los compañeros que lo han jugado, Linphone en Android tiene muchos errores. Debido al enorme tamaño del código, dejé de considerar Linphone por ahora. Pero si alguien necesita multiplataforma, puede considerar Linphone o imsdroid y el webrtc a continuación. . . Ahora parece que el software de código abierto es multiplataforma. . .
V) webrtc
IMS Droid, CSIP Simple y LINPhone intentan llamar a la tecnología de audio de webrtc. También probé la videollamada de intranet de webrtc en Android y los resultados fueron satisfactorios. Sin embargo, todavía queda un camino por recorrer antes de que webrtc pueda convertirse en un software de mensajería instantánea móvil, pero las tecnologías básicas de webrtc ya están disponibles, incluida la transmisión p2p, el códec de audio y video, la tecnología de procesamiento de audio, etc. Sin embargo, cabe destacar que sólo admite el formato de codificación de vídeo VP8 (también QQ), si deseas realizar videollamadas en alta definición. Existen pocas plataformas que admitan el códec de hardware VP8 en terminales móviles (RK puede admitir el códec de hardware VP8). Sin embargo, el código webrtc muestra que se pueden utilizar códecs externos y todavía hay esperanzas de que se puedan convertir a H264.
Resumen: sipdroid es relativamente liviano y se enfoca en el desarrollo basado en Java (excepto códecs de audio). Debido a sus ligeras deficiencias en la codificación de audio y vídeo y en la transmisión P2P, el desarrollo y la optimización personalizados no son fáciles. Desafortunadamente, Imsdroid es una biblioteca que llama directamente a webrtc. Recientemente, webrtc se ha actualizado con frecuencia y se está desarrollando activamente. Si desea actualizar webrtc en imsdroid usted mismo, pero le preocupan los problemas de compatibilidad, espero que imsdroid pueda empaquetar directamente el código fuente relacionado con webrtc requerido. Csipsimple tiene que ver con pjsip y webrtc se desarrolla en forma de complemento pjsip. Si hay una empresa de desarrollo con solidez técnica como gstreamer. Personalmente, creo que webrtc puede elegir esto, en primer lugar gracias a Google y, en segundo lugar, porque sus tecnologías clave relacionadas con las videollamadas son relativamente maduras. Personalmente, creo que si se puede hacer, el efecto será bastante bueno.