NGINIX WINDOWS

NGINX WINDOWS | HLS Y HTTP, MANDANDO VÍDEO A IOS Y WEB

NGINX WINDOWS . Hola a todos, después de un largo tiempo de ausencia voy a retomar mis labores en el blog y en el canal de YouTube. Y que mejor manera que hacerlo con una petición de un suscriptor que me  pidió la forma de configurar NGINX para servir contenido HLS. Este servidor streaming está bajo la plataforma de windows 10 aunque se que Linux hubiera tenido un rendimiento muy bueno el desempeño que le voy a dar será meramente de aprendizaje. NGINX WINDOWS.

Antes de nada os tengo que decir que no soy nada bueno con la programación pero hago mis pinitos y me defiendo como puedo. Para lo que necesito voy servido así que si tengo algún fallo sed benevolentes conmigo.

Aquí os dejo el vídeo que realicé como apoyo.:

EL ARCHIVO NGINX.CONF
Pues bien, para empezar os dejo el contenido del archivo nginx.conf con la configuración necesaria para crear el servidor HTTP. Es decir ahora además de recibir y servir protocolo rtmp además nuestro NGINX podrá servir protocolo HLS.

Os dejo un enlace al archivo y el código.:

 

				
					worker_processes  auto;
events {
    worker_connections  1024;
}

# RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
        chunk_size 4000;

        application show {
            live on;
            # Turn on HLS
            hls on;
            hls_path /nginx/hls/;
            #hls_fragment 3;
            #hls_playlist_length 60;
            # disable consuming the stream from nginx as rtmp
            #deny play all;
        }
    }
}

http {
    sendfile off;
    tcp_nopush on;
    aio on;
    directio 512;
    default_type application/octet-stream;

    server {
        listen 8080;

        location / {
            # Disable cache
            add_header 'Cache-Control' 'no-cache';

            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';

            # allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }

            types {
                application/dash+xml mpd;
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root /nginx/;
        }
    }
}
				
			

EL PLAYER

Para conseguir visualizar nuestro streaming en un player solo vamos a invocar medianto un archivo HTML un player ya creado en una web de un tercero.

Crearemos el archivo .html en la carpeta /html de nuestro nginx con el siguiente código.:

				
					<!-- If you'd like to support IE8 (for Video.js versions prior to v7) -->
<script src="https://vjs.zencdn.net/ie8/ie8-version/videojs-ie8.min.js"></script>
<video id="my-video" class="video-js" poster="MY_VIDEO_POSTER.jpg" preload="auto" controls="controls" width="640" height="264" data-setup="{}">
<video preload="none">
<source type="application/vnd.apple.mpegurl" src="/hls/stream.m3u8" />
<p class="vjs-no-js">
To view this video please enable JavaScript, and consider upgrading to a web browser that
<a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
</p>
</video></video> <script src="https://vjs.zencdn.net/7.2.4/video.js">
				
			

Una vez configurado tanto NGINX y el player ya debería funcionar por lo menos en LOCAL apuntando a las IPs de los equipos. Si lo que queréis crear un servidor público que pueda recibir y servir streams desde el exterior tendréis que redirigir los puertos en vuestro router.

Para embeber este player a una web o una entrada de wordpres basta con usar la etiqueta IFRAME de la siguiente manera.:

<iframe src="https://www.danielcanto.es/video/embebido.html" name="iframe" width="670" height="320" align="center" scrolling="auto" frameborder="0" id="iframes" allowtransparency="true" border="0" ></iframe>

También puedes ver aquí un tutorial sobre como realizar un envío a varias plataformas al mismo tiempo en este enlace.

¿MERECE LA PENA INVERTIR TANTO TIEMPO EN ESTO?

SI TU TRABAJO DEPENDE DE MONTAR UN SERVIDOR, MI CONSEJO ES QUE NO PIERDAS MÁS EL TIEMPO. CONTACTA CON NOSOTROS Y EN UNOS POCOS CLICS TENDRÁS UN SERVIDOR PROFESIONAL PREPARADO Y LISTO PARA RECIBIR EL STREAM Y EMITIR.

[contact-form-7 id="3403" title="DATOS PARA SERVER STREAMING"]