Use c # .net core para desarrollar el servicio de medios de transmisión gb28181 sip + para completar el tutorial de ejemplo de videovigilancia y experimentar el proceso en persona

       En la actualidad, el núcleo de C # .net se utiliza para realizar la reproducción de cámara estándar gb28181 estándar nacional, el control de giro / inclinación ptz, la reproducción de video y otras funciones de monitoreo de video. El proyecto puede ejecutarse en el entorno central de linux / docker / .net, que también es muy raro en la actualidad para alcanzar el nivel de milisegundos El caso de transmisión de video de red pública gb28181 del estándar nacional también es un proyecto SIP completo de código abierto poco común que puede tener simultáneamente funciones de reproducción, control de giro e inclinación ptz y reproducción de video.

Plan de uso: sip (GB28181.Solution c # .net core) + servidor de medios de transmisión (srs / ZLMediaKit)

Use escenarios: transmisión en vivo, videovigilancia comunitaria, análisis de video AI y otros escenarios que necesitan usar la cámara desde adentro y afuera a la red externa para acceder

     También es difícil encontrar un tutorial completo en toda la red. Comencé a comprar una cámara en 2017 y volví a investigar por un tiempo, pero sin resultados. Recientemente, debido a que la empresa necesita usarla, después de más de medio año de recopilación de datos y aprendizaje continuo de prueba y error, encontré la correcta. El camino, no sea que todos se desvíen. Comparta para todos, y luego sorprenda a los desarrolladores de c #, ¡y contribuyan juntos al desarrollo de c #!

1. Mi preparación para la realización:

1. Compre un sistema centos 7 de servidor ces en Taobao como un probador de medios de transmisión, con una configuración baja de 2 núcleos y 2M, más de 1200 al año o alrededor de 300 al mes.

2. Compre equipo: necesita ver claramente que admita gb28181, más de 700 yuanes para una cámara PTZ Haikang

3. Durante la depuración, depure en las ventanas locales, y luego implemente en Linux, descargue el proyecto de código abierto c # en el que estoy involucrado actualmente.

https://gitee.com/GB28181/GB28181.Solution

Utilizado como un servicio de servidor sip, puede realizar operaciones relacionadas en la cámara a través de la señalización, el entorno de compilación vs2019 (en el proyecto de código abierto, el WeChat en el documento, puede ingresar al grupo de código abierto del proyecto y contribuir a este proyecto juntos, se recomienda unirse)

4. Descargue srs4.0, dirección de github en el servidor centos 7: 

https://github.com/winlinvip/srs   (rama de desarrollo)

5. Descargue la herramienta de captura de sorbos wirehark  

Enlace de descarga: https://www.wireshark.org/#download

Viene con una solución al gran uso de memoria que puede ocurrir durante el uso de Wireshark y la máquina de tarjetas.

https://blog.csdn.net/qq_16005627/article/details/105603395

 

2. Pasos de implementación

Configure la dirección y el puerto del servidor srs a través de GB28181.La solución , la herramienta de Windows del proyecto se está ejecutando, haga clic para reproducir el video, puede ver que la transmisión rtp se ha subido en el servidor srs, puede lograr rmtp, webrtc (baja latencia medida en 2 segundos ), flv, salida de hls (m3u8)

Entonces juega a través de vlc

1. Abra el proyecto GB28181.WinTool y configure Config / gb28181.xml para configurar lo siguiente:

<LocalID> 34020000002000000001 </LoclID> SIP 服务器 ID 34020000002000000001

<LocalIP> 127.0.0.1 </LocalIP> La IP local 127.0.0.1 (o mi IP local 192.168.197.108)

<LocalPort> 5061 </LocalPort> puerto de servicio local 5061

 Puerto de dispositivo <RemotePort> 5060 </RemotePort>

<MediaIP> 47.115.1.118 </MediaIP> Dirección del servidor de medios de transmisión (srs)

<MediaPort> 9000 </MediaPort> Puerto del servidor de medios de transmisión (srs)

 

 

2. La configuración correspondiente a la cámara es la siguiente:

è¾å ¥ å¾ç说æ

 

3. Verifique el método de ejecución de srs en el github de srs y ejecute srs. Las siguientes son instrucciones simples y comprensibles compiladas por mí

------------------------------------------

Paso 1: extraiga el código git y cambie a la rama de desarrollo

clon de git https://gitee.com/winlinvip/srs.oschina.git srs &&

cd srs / maletero &&

origen de la URL del conjunto remoto de git https://github.com/ossrs/srs.git &&

git pull

Paso 2: cambia a la rama de desarrollo

desarrollo de git checkout &&

./configure --with-gb28181 &&

hacer limpio && hacer

------------------------------------------------

Después de instalar los srs anteriores, modifique las dos configuraciones

Abrir tronco / conf / push.gb28181.conf

auto_create_channel on; // El off original se cambió a on

 host 47.XX.XXX.118; // El $ CANDIDATE original se cambia a la ip de su servidor

----------------------------------------------

correr

./objs/srs -c conf / push.gb28181.conf

4. Luego inicie el proyecto GB28181.WinTool 

è¾å ¥ å¾ç说æ

è¾å ¥ å¾ç说æ

 

 

5. En este punto, el impulso es exitoso.

Abrimos la  interfaz de interfaz de prueba de srs http://ossrs.net/players/srs_gb28181.html , que puede realizar rmtp, webrtc (baja latencia medida en 1 segundo), flv, hls (m3u8), e ingresar la IP del servidor de srs para la reproducción

 

 

Atención de todos : el último párrafo de la dirección de reproducción childxxxx (ssrc) es diferente para cada canal, entonces, ¿cómo asociar la dirección de reproducción con el dispositivo para que la dirección de reproducción se pueda guardar en la base de datos? La solución es la siguiente, personalice el valor ssrc de rtp, luego La dirección de reproducción también cambiará en consecuencia. Si desea conectarse a otras plataformas de medios de transmisión, este valor ssrc también se utiliza como dirección de reproducción:

6. Jugar

Pasos de juego

Un caso muy raro de transmisión de video en una red pública que puede lograr un retraso de milisegundos en el estándar nacional gb28181

è¾å ¥ å¾ç说æ

 

Tres, use gb28181.server server + método api para implementar

Lo anterior es el uso de la herramienta wintool para probar el método de transmisión push, si se usa en el entorno de desarrollo o producción , debe usar el servidor + grpc para api para realizar

Ejecute gb28181.Server

Ver que un dispositivo esté registrado

API de acceso de llamadas

Verifique srs y vea que rtp está subido, puede comenzar a jugar y el proceso de reproducción es el mismo que en el punto 5 anterior

-------------------------------------------------- ---------------------Final---------------------------- ---------------------------------------

Hay pasos de operación relacionados arriba, tengo hambre. En el seguimiento de este artículo, todavía tengo mucho contenido que necesita ser complementado, detallado y actualizado. Para obtener más información, consulte el proyecto de solución https://gitee.com/GB28181/GB28181.Solution para presentar el contenido. "WeChat" en China se une al grupo de código abierto, el propietario del grupo WeChat

¡Estudiantes que se sientan bien, recuerden que les gusta!

 

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/qq_16005627/article/details/105714572
Recomendado
Clasificación