NGINX + ffmpeg realiza la conversión de la pantalla de video de la cámara Dahua RTSP a RTMP o M3U8

1. Preparación
1. Entorno:
Windows
2. Herramientas de desarrollo:
ffmpeg, nginx (servidor proxy) nginx-rmtp-module (complemento de transmisión de medios del servidor nginx), vlc (reproductor de compatibilidad)
3. Principio:
nginx es proporcionado por el módulo rtmp servicio rtmp, ffmpeg envía un flujo rtmp a nginx, y luego el cliente accede a nginx para ver el flujo de video en tiempo real.

2. Inicie el servidor nginx
1. Ctrl + R e ingrese cmd en el cuadro de comando; // Ingrese a la consola
2.cd / d E: \ showwork \ FFmpeg_nginx \ nginx-1.7.11.3-Gryphon // Ingrese al directorio nginx
3.nginx. exe -c conf \ nginx-win-rtmp.conf // Ejecute el archivo de configuración rtmp
Nota: La línea de comando siempre estará en ejecución en este momento, no la cierre ni la cierre

Inserte la descripción de la imagen aquí
(Tenga en cuenta que el número de puerto de escucha del servidor se modifica en .conf. Si la máquina usa IIS al mismo tiempo, habrá un conflicto, lo cambié a 2000) SERVIDOR que no es RTMP RTSP También preste atención aquí.
Inserte la descripción de la imagen aquí
2. Operación FFMPEG
1 Ingrese el directorio donde se encuentra FFMPEG.EXE. Llame a CMD para abrir la ventana de operación
Inserte la descripción de la imagen aquí
. Dirección RTSP de Dahua:
Ejemplo:
rtsp: // admin: [email protected]: 554 / cam / realmonitor? Channel = 2 & subtype = 1

rtsp: // [nombre de usuario]: [contraseña] @ [ip]: [puerto] / cam / realmonitor? channel = 1 & subtype = 0
Descripción:
nombre de usuario: nombre de usuario. Por ejemplo, admin.
contraseña: contraseña. Por ejemplo, admin.
ip: es la IP del dispositivo. Por ejemplo, 10.7.8.122.
puerto: el número de puerto predeterminado es 554, si es el predeterminado, déjelo en blanco.
canal: número de canal, comenzando con 1. Por ejemplo, el canal 2 es el canal = 2.
subtipo: tipo de flujo, el flujo principal es 0 (es decir, subtipo = 0) y el flujo auxiliar es 1 (es decir, subtipo = 1).

Comando RTSP a RTMP:
ffmpeg -re -rtsp_transport tcp -i "rtsp: // admin: [email protected]: 554 / cam / realmonitor? Channel = 2 & subtype = 1" -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 "rtmp: //127.0.0.1: 1935 / live"
Inserte la descripción de la imagen aquí
RTSP es el RTSP de Dahua
RTMP: IP es la IP del servidor y el número de puerto es. Número de puerto en RTMP en CONF (mencionado anteriormente)
Inserte la descripción de la imagen aquí
Utilice VLC para probar la disponibilidad de direcciones RTSP y RTMP:
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

RTSP 转 M3U8:
ffmpeg -f rtsp -rtsp_transport tcp -i “rtsp: // admin: [email protected]: 554 / cam / realmonitor? Channel = 1 & subtype = 1” -strict -2 -c: v libx264 -vsync 2 -c: a aac -f hls -hls_time 4 -hls_list_size 5 -hls_wrap 10 D: /DHDEMO/nginx-1.7.11.3-Gryphon/html/168_1.m3u8
Inserte la descripción de la imagen aquí

El efecto después del éxito:
Inserte la descripción de la imagen aquí
Dirección de descarga de la DEMO: https://download.csdn.net/download/a523879907/12880534

Supongo que te gusta

Origin blog.csdn.net/a523879907/article/details/108733255
Recomendado
Clasificación