Construir Nginx Nginx +-RTMP-módulo de HLS servidor de streaming y un flujo de pistón OBS

Recientemente hacer proyectos en vivo, el acceso a información relevante sobre el servicio y construir luego con éxito, la ejecución y el hoyo pisaron organizada aquí registro siguiente.
I. Introducción acuerdo de emisión:

En primer lugar, antes de configurar el servicio para entender la corriente actual transmitido en varios protocolos:

1, RTMP:

     protocolo de mensajería en tiempo real, protocolo de mensajería en tiempo real, es de audio, vídeo y transferencia de datos de Adobe Systems entre Flash Player y el desarrollo del protocolo de servidor abierta. Basado en el protocolo TCP, un conjunto de protocolos, incluidos protocolos y RTMP sustancialmente RTMPT / RTMPS / RTMPE otras variantes. RTMP es un protocolo de red diseñado para la comunicación de datos en tiempo real, utilizado principalmente entre el streaming flash plataforma / AIR y el apoyo de interacción / protocolo de servidor RTMP para las comunicaciones de audio, vídeo y datos. Este enfoque en tiempo real es relativamente fuerte, básicamente garantizada tarde en 1-2s, es una de las formas en que el país ahora se utiliza en vivo sobre todo, sin embargo, el uso de este protocolo, debe tener instalado Flash, y H5, IOS, Android y no nativa soporte para flash, por lo que este acuerdo va a estallar el tiempo, no sé, después de todo, es la corriente actual del terminal móvil.

2, HLS:

     HLS es Apple lanzó el protocolo en vivo es a cortar a través de un fragmento de archivo de flujo de vídeo para vivir. El cliente solicitará primero un archivo M3U8, que tendrá un precio diferente del flujo, o directamente a los bene lista de archivos, ct del archivo a la dirección indicada en el turno de juego. En el momento de la emisión, el cliente continuará archivo M3U8 solicitud, revisar la lista de nuevos ts ts rodajas. Los verdaderos pobres de esta manera, pero la ventaja es H5, IOS, Android tiene soporte nativo.

3, HTTP-FLV:

      HTTP-FLV es el protocolo RTMP encapsulado, en comparación con RTMP, es un protocolo abierto. Así que tiene el desarrollo de tiempo real y RTMP RTMP no tienen, y con la flv.js aparece (estación gracias B), por lo que el navegador sin depender del flash, reproductor de vídeo FLV, que es compatible con el terminal móvil, por lo que ahora muchas plataformas de difusión, especialmente los teléfonos móviles plataforma de difusión, se elegirán
 
dos, HLS configuración en vivo

configuración del servidor nginx:

Nuevo directorio: nginx para el almacenamiento y el módulo de nginx-RTMP-moudle

mkdir / usr / local / nginx

Descargar archivo: Ir al directorio de descarga creada bajo nginx, aquí si no tiene éxito puede descargar https en lugar de HTTP, antes ha estado disponible para su descarga, de vuelta después de una nube por un servidor HTTPS no puede descargarlo, no sabe que no está siendo protegido razones, reemplazados después de http resueltos

    cd / usr / local / nginx
    wget http://nginx.org/download/nginx-1.12.2.tar.gz
    wget https://codeload.github.com/arut/nginx-rtmp-module/zip/master

Si no lo hace comando wget, a continuación, ejecute el siguiente comando para instalar

yum -y install wget

descompresión:

    tar -zxvf nginx-1.12.2.tar.gz
    descomprimir nginx-rtmp-module-master.zip

Del mismo modo, hacer comando no de descompresión para realizar el siguiente comando para instalar

yum -y install unzip

Antes de instalar Nginx Nginx e instalar el módulo, primero instalar algunas bibliotecas dependientes:

    yum -y install gcc-c ++
    yum -y install pcre pcre-devel  
    yum -y instalar zlib zlib-devel
    yum -y instalar OpenSSL openssl-devel

A continuación, instalar nginx-RTMP-módulo de módulo:

    CD /usr/local/nginx/nginx-1.12.2
    módulo completo # RTMP está instalado, la entrada de la espalda = ruta absoluta del paquete del módulo
    ./configure --add-module = / usr / local / nginx / nginx-RTMP-módulo -master
    la marca y la marca instalan

Utilice el siguiente comando para ver si nginx inició con éxito:

    cd / usr / local / nginx / sbin
    ./nginx -t

La siguiente figura impulsó configuración es exitosa

y un módulo de correlación instalado nginx

 

Configuración y puesta en servicio de los hl de apoyo

Dado que el apoyo nginx-RTMP-módulo para el acuerdo de HLS, por lo que se pueden configurar directamente en nginx.conf:

que /usr/local/nginx/conf/nginx.conf

RTMP añadir los siguientes módulos: (RTMP {contenido} y {} http está en el mismo nivel, no ponga en el lugar equivocado)

    RTMP {  
      
        servidor {  
      
            la escucha 1935; # puerto de escucha
      
            chunk_size 4000;  
            
            HLS aplicación archivo {
                en directo;
                HLS ON;
                hls_path / usr / / HLS locales / html; # Video Stream dirección de almacenamiento
                5S hls_fragment;
                15s hls_playlist_length;
                EN hls_continuous; el modo # continuo .
                Se suprimieron # de secciones adicionales; hls_cleanup sucesivamente.
                hls_nested en; modo anidada #.
            }
        }  
    }

Como se muestra en la figura.

Añadir dirección http en un recipiente transmisión en vivo:

    ubicación / hl {# dirección de complemento para el almacenamiento de la secuencia de vídeo.
            {tipos
                del M3U8 Aplicación / vnd.apple.mpegurl;
                Video / MP2T TS;
            }
            de acceso abierto #, o acceso a esta dirección serán reportados 403
            autoindex ON;
            Alias / usr / local / HTML / HLS; # dirección de transmisión de vídeo almacenados anteriormente la hls_path correspondiente a la diferencia entre este y el alias de raíz puede Baidu auto
            Expira -1;
            la add_header la Cache Cache-control-NO;
            # evitan problemas entre dominios
            del add_header 'Access-control-Permitir-origen' '*';
            la add_header 'Access-control credenciales - Permitir '' true ';
            la add_header' Access-control-Allow-los métodos 'del GET, POST, las opciones';
            add_header 'Access-Control-Allow-encabezados' 'DNT, X-CustomHeader, mantenimiento de conexiones, User-Agent, solicitada-X-Con, If-Modified-Since, Cache-Control, Content-Type';  
        }

Figura:

Después de configurar el archivo de salvar y reiniciar el servidor:

    cd / usr / local / nginx / sbin
    ./nginx -s recarga

configuración de flujo de pistón en Vivo

flujo de pistón se refiere al final de la secuencia de vídeo en directo al servidor empuja a la posición de ajuste. Estoy usando aquí es obs ser empujado corrientes:

En Ajustes -> Complete la información en la corriente: la URL es RTMP: // xxx: 1935 / hl , xxx es la dirección IP de su servidor, HLS se utiliza para almacenar los medios de transmisión ", que corresponde al archivo de configuración está establecido en la aplicación nombre, nombre de secuencia se puede personalizar, M3U8 generado por el servidor este archivo se denomina. después de la instalación se haya completado, haga clic en "Inicio de flujo de pistón", estableció el lado de flujo de pistón es completa.
En tercer lugar, la configuración de flujo de arrastre

Ver en vivo relativamente simple, sólo tiene que utilizar la etiqueta h5 se puede ver el vedio.

Puede visitar http: // xxx: 80 / hl / abcd.m3u8 a ver en vivo, donde xxx es la dirección IP de su servidor, éste se encuentra en un flujo de pistón abcd teclas cuando se usa, es personalizable. o el uso

    <video>  
        <source src = "http: // xxx: 80 / hl / abcd.m3u8" />  
        . <p class = "warning"> Su navegador no soporta vídeo HTML5 </ p>  
    </ video>

Aquí se encontró con un hoyo, dicha información en línea de acceso se basa en mi dirección de escritura, pero no encontró la clave utilizada para empujar el servidor genera automáticamente un directorio de flujo, a continuación, los archivos de flujo de contenedores al interior cuando en realidad el uso no generar directamente abcd.m3u8, siguiendo la Fig.

Así que utilizo la dirección de acceso es http: // xxx: 80 / hl / ABCD / index.m3u8, a continuación, tirado en el éxito de la transmisión en vivo.
----------------
Aviso: Este artículo es la versión original bloggers CSDN "Ricartu", y siga CC 4.0 BY-SA acuerdo de derecho de autor, reproduce, por favor adjuntar el enlace de la fuente original y esta declaración. .
fuente original: https: //blog.csdn.net/Ricardo18/article/details/89359623

Publicados 117 artículos originales · ganado elogios 4 · Vistas a 80000 +

Supongo que te gusta

Origin blog.csdn.net/qq_36266449/article/details/104363764
Recomendado
Clasificación