Llamada de audio y video WebRTC: la videollamada local WebRTC se crea utilizando el servicio ossrs

Desarrollo de iOS-servicio ossrs Construcción del servicio de videollamada local WebRTC

Ossrs se utilizó en el desarrollo anterior. Aquí hay un registro de la construcción del servicio local WebRTC respaldado por ossrs.

1. ¿Qué es ossrs?

que es ossrs
SRS (Simple Realtime Server) es un servidor de vídeo en tiempo real simple y eficiente que admite múltiples protocolos de medios de transmisión en tiempo real, como RTMP, WebRTC, HLS, HTTP-FLV y SRT.

Dirección del sitio web oficial: https://ossrs.net/lts/zh-cn/

2. Instale cmake para la computadora.

Dado que cmake no está instalado en la computadora, cmake se usará más adelante, así que instale este cmake primero.

Instalar mediante cerveza

brew install cmake

Al ejecutar el comando se encontró un error.

Ejecutando brew update --auto-update
fatal: no en un directorio git

Cuando uso brew update --auto-update aquí, todavía informo fatal: no en un mensaje de error del directorio git.

solución

brew -v

Vi dos mensajes de error:
inserte la descripción de la imagen aquí

necesitamos implementar

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core

y

git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

Después de ejecutar el comando, no se informa ningún error cuando se ejecuta brew -v y el software se puede instalar normalmente.

inserte la descripción de la imagen aquí

El siguiente paso continúa instalando cmake.

brew install cmake

Espere pacientemente el resultado de la instalación.

El resultado se muestra en la figura.
inserte la descripción de la imagen aquí

Después de instalar cmake, continuamos configurando el servicio WebRTC de SRS.

2. Configuración WebRTC de SRS

SRS es compatible con WebRTC y puede realizar conferencias o video chat.

Descargue el código fuente, se recomienda Ubuntu20:

git clone -b develop https://gitee.com/ossrs/srs.git

inserte la descripción de la imagen aquí

Compile, tenga en cuenta que debe cambiar al directorio srs/trunk:

cd srs/trunk

./configure
make

inserte la descripción de la imagen aquí

El mensaje también necesita instalar
trunk/objs, OS_IS_OSX: SÍ, OS_IS_X86_64: SÍ
Instale automake

implementar

 brew install automake

resultado

Para vincular esta versión, ejecute:
brew link automake

en ejecución

brew link automake

Continuar ejecutando después del éxito

./configure
make

Espere pacientemente el resultado de la compilación.

Próximo paso

ifconfig ver dirección IP 192.168.10.100

Utilizo el servicio HTTPS en WebRTC aquí

WebRTC usando HTTPS
Si necesita usar WebRTC en una máquina no local, como SRS ejecutándose en un servidor remoto, y usar WebRTC en una computadora portátil o teléfono móvil, debe habilitar la API HTTPS.

Inicie el servidor:

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

Nota: reemplace IP con la dirección IP de su SRS.

Nota: configure CANDIDATE como la dirección de red externa del servidor. Para obtener más información, lea WebRTC: CANDIDATE.

Encontré el resultado srs(49644,0x11bbcc600) malloc: nano zona abandonada debido a la imposibilidad de preasignar el espacio reservado de la máquina virtual.

como se muestra en la imagen

inserte la descripción de la imagen aquí

Vista de solución https://stackoverflow.com/a/70209891/17679565

Estoy usando la configuración de variables de entorno aquí.

open ~/.bash_profile

Agregue
export MallocNanoZone='0'
para ejecutar la configuración y que surta efecto

source ~/.bash_profile

Después de ejecutar, inicie el servidor.

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

El error es el siguiente
inserte la descripción de la imagen aquí

Busque troncal > conf > https.rtc.conf y modifique el puerto de escucha de http_server a 9090 (debido a que mi computadora tiene instalado nginx, el puerto 8080 está ocupado)

Volver a ejecutar

CANDIDATE="192.168.10.100"
./objs/srs -c conf/https.rtc.conf

inserte la descripción de la imagen aquí
Finalmente comenzó con éxito.

Para comprobar si SRS se inició correctamente, puede abrir http://localhost:9090/,
inserte la descripción de la imagen aquí

Nota: reemplace IP con la dirección IP de su SRS.

Nota: configure CANDIDATE como la dirección de red externa del servidor. Para obtener más información, lea WebRTC: CANDIDATE.

Observación: utilice su archivo de certificado en lugar de la clave y el certificado en la configuración anterior; consulte API HTTPS, devolución de llamada HTTPS y transmisión en vivo HTTPS; por supuesto, el proxy inverso HTTPS también puede funcionar bien con SRS, como el proxy Nginx para SRS.

http://localhost:9090/players/srs_player.html?schema=http&port=9090&api=9090

Utilice WebRTC para enviar la transmisión a SRS: WebRTC: Publicar

Abra la página para ver la transmisión WebRTC: WebRTC: Reproducir

https://192.168.10.100:8088/players/rtc_player.html?autostart=true&stream=livestream&api=1990&schema=https

inserte la descripción de la imagen aquí

Nota: Para el certificado autofirmado, ingrese thisisunsafe en el espacio en blanco (tenga en cuenta que no hay espacio).
Nota: Puede abrir diferentes páginas, enviar y extraer diferentes transmisiones y realizar videollamadas.

Después de eso, use la biblioteca GoogleWebRTC en el lado de iOS para implementar el servicio de llamada a ossrs.

Tres.Resumen

Servicio de desarrollo de iOS-ossrs Construcción de servicios de video local WebRTC y resolución de diversos problemas.

https://blog.csdn.net/gloryFlow/article/details/132257196
registros de aprendizaje, progresando todos los días.

Supongo que te gusta

Origin blog.csdn.net/gloryFlow/article/details/132257196
Recomendado
Clasificación