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:
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.
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.
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
Compile, tenga en cuenta que debe cambiar al directorio srs/trunk:
cd srs/trunk
./configure
make
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
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
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
Finalmente comenzó con éxito.
Para comprobar si SRS se inició correctamente, puede abrir http://localhost:9090/,
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
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.