wvp+zlmediakit implementa el intercomunicador estándar nacional 28181

wvp+zlmediakit implementa el intercomunicador estándar nacional 28181

I. Introducción

  • ZLMediaKit
  • WVP-GB28181
  • Dirección del código fuente del intercomunicador de voz
  • En primer lugar, me gustaría agradecer a los autores de wvp y zlmediakit por proporcionar un gran proyecto de código abierto. Mi ejemplo es una demostración de intercomunicador de voz estándar nacional basada en estos dos marcos. Si desea que alcance el nivel de producción, puede ampliar mi idea.
  • He querido desarrollar la función de intercomunicación estándar nacional desde 2022. Debido a que he estado involucrado en el desarrollo tradicional de Java, no tengo una comprensión completa del conocimiento subyacente, pero he estado expuesto a estos dos proyectos de código abierto durante más Más de un año, y mi conocimiento de la capa de red ha mejorado a pasos agigantados. Para el estándar nacional No hay mucha información sobre esta función de intercomunicador en Internet. Lo probé tres veces y me di por vencido a la mitad. Hice un plan de compromiso. antes, que consistía en grabar una pieza de audio en el front-end y enviarla (los datos PCM se escribieron primero en el local, luego usar el empaquetado rtp para enviar al dispositivo, ¿por qué no hacerlo en tiempo real? Porque implica el Problema de empaquetado rtp, que es difícil de hacer con Java), no se puede lograr el intercomunicador en tiempo real. Me inspiré viendo zlmediakit issuse recientemente, así que le di Esta demostración tiene capacidades limitadas, así que espero que pueda brindarle algunas ideas.

2. Ideas de implementación

  1. La interfaz usa webrtc para enviar la transmisión a zlmediakit
  2. Problema gb28181 señalización de intercomunicador de voz
  3. La cámara inicia activamente el intercomunicador de voz. Invite lleva el puerto de intercomunicador abierto por la cámara.
  4. Llame a zlmeidakit startSendRtp para enviar la transmisión desde webrtc a zlmedia en el primer paso al dispositivo, y se devolverá un puerto de inserción.
  5. Responder Invitar a la cámara y decirle a la cámara nuestro puerto push
  6. Iniciar intercomunicador
  7. Finalizar intercomunicador, enviar adiós
  8. No describiré el proceso de señalización de intercomunicadores estándar nacional, puede consultar el enlace de arriba.

3. Condiciones necesarias

1.HTTPS (tanto wvp como zlmediakit deben estar activados)

Usamos webrtc para implementar la función de intercomunicación. Debido a las características de seguridad del navegador, el sitio web debe ser https si desea llamar al micrófono de la computadora, por lo que debemos habilitar HTTPS;

Utilice openssl para generar una referencia de certificado autofirmado:

#使用openssl生成证书
#1.创建私钥
openssl genrsa  -out video.key 2048
#2.创建签名请求文件(这里需要输入一些信息)
openssl req -new -key video.key -out video.csr
-----
Country Name (2 letter code) [AU]:CN 
State or Province Name (full name) [Some-State]:SD
Locality Name (eg, city) []:JN
Organization Name (eg, company) [Internet Widgits Pty Ltd]:soft
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []: video.com #域名
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:aaaaa
An optional company name []:

#3.自签名生成公钥
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
#4.由于java只支持JKS或者pks证书我们需要转换一下
openssl pkcs12 -export -clcerts -in video.crt -inkey video.key -out video.pkcs12
#5.合并公钥私钥给zlmediakit使用
cat server.crt server.key > ./ssl.pem
  • Directorio de resultados
    Insertar descripción de la imagen aquí

1.1 configuración de java para habilitar ssl

2. Dado que es un certificado autofirmado, debes confiar en el certificado en el navegador.

2.1 Puedes confiar en el certificado para la primera visita

2.2 O configure el certificado en la lista de certificados confiables del navegador

Insertar descripción de la imagen aquí

3. El audio debe estar activado durante la reproducción.

4.Formatos de audio compatibles

  • UDP PCMA/8000 PS/9000 TCP PCMA/8000 PS/9000
  • Admite intercomunicador de red pública, el dispositivo requisito previo admite intercomunicador TCP, no se puede utilizar UDP

5.Modificación del archivo de configuración de ZLMedia

Insertar descripción de la imagen aquí

4. Código de implementación

3. Iniciar el intercomunicador

Insertar descripción de la imagen aquí

5. Finalmente

Póngase en contacto con el autor para obtener el código fuente: QQ 252657030

Supongo que te gusta

Origin blog.csdn.net/weixin_43162884/article/details/129681963
Recomendado
Clasificación