{"id":48843,"date":"2025-11-13T23:40:44","date_gmt":"2025-11-13T22:40:44","guid":{"rendered":"\/es\/tutoriales\/?p=48843"},"modified":"2025-11-13T23:43:22","modified_gmt":"2025-11-13T22:43:22","slug":"como-configurar-un-servidor-de-streaming-de-video","status":"publish","type":"post","link":"\/es\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video","title":{"rendered":"C\u00f3mo configurar un servidor de streaming de video"},"content":{"rendered":"<p>Configurar un servidor de streaming de vIdeo en tu propio VPS te permite transmitir contenido en directo a tu audiencia sin las limitaciones de plataformas como YouTube, tanto en pol&iacute;ticas como en personalizaci&oacute;n.&nbsp;<\/p><p>En este tutorial aprender&aacute;s a crear paso a paso tu servidor de streaming de video en un VPS con Ubuntu, para que puedas controlar c&oacute;mo se emite, qui&eacute;n accede y qu&eacute; tecnolog&iacute;a utilizas.<\/p><p>Primero ver&aacute;s qu&eacute; necesitas para empezar y c&oacute;mo preparar tu servidor. Despu&eacute;s, configurar&aacute;s NGINX con el m&oacute;dulo RTMP para gestionar la transmisi&oacute;n, a&ntilde;adir&aacute;s una CDN para mejorar la estabilidad, conectar&aacute;s tu software de streaming y probar&aacute;s tu emisi&oacute;n.&nbsp;<\/p><p>Por &uacute;ltimo, aprender&aacute;s a habilitar otros protocolos de streaming como HLS y DASH y a hacer que tu servidor sea accesible desde navegadores web, adem&aacute;s de aplicar medidas b&aacute;sicas de seguridad para proteger tu plataforma de streaming.<\/p><figure class=\"wp-block-image size-large\"><a href=\"https:\/\/assets.hostinger.com\/content\/tutorials\/pdf\/Linux-Commands-Cheatsheet-ES.pdf\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" width=\"1024\" height=\"283\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/public\" alt=\"\" class=\"wp-image-26004\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2022\/12\/Linux-cheat-sheet-ES.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p>\n\n\n\n\n\n\n\n<div class=\"protip\">\n                    <h2 class=\"featured-snippet title\">&iquest;Qu&eacute; es un servidor de streaming de video?<\/h2>\n                    <p>Un servidor de streaming de video es un sistema intermediario que le permite transmitir contenido en directo desde su sistema local a audiencias en l&iacute;nea.<br>El proceso de transmisi&oacute;n en directo funciona codificando el contenido de video en tiempo real, dividi&eacute;ndolo en paquetes de datos m&aacute;s peque&ntilde;os y envi&aacute;ndolo al cliente. La transferencia de medios es continua, lo que significa que el servidor no almacena los medios localmente.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-por-que-crear-tu-propio-servidor-de-streaming-en-vivo\">&iquest;Por qu&eacute; crear tu propio servidor de streaming en vivo?<\/h2><p>Crear tu propio servidor de streaming te ofrece m&aacute;s flexibilidad y control que usar plataformas como YouTube y Twitch.&nbsp;<\/p><p>Por ejemplo, puedes elegir diferentes protocolos para codificar tu v&iacute;deo, como <strong>RTMP<\/strong>, <strong>HLS <\/strong>o <strong>DASH<\/strong>.&nbsp;<\/p><p>Tambi&eacute;n te permite transmitir cualquier contenido o usar opciones de monetizaci&oacute;n que esas plataformas pueden restringir.<\/p><h2 class=\"wp-block-heading\" id=\"h-requisitos-previos-para-configurar-un-servidor-de-streaming\">Requisitos previos para configurar un servidor de streaming<\/h2><p>Para configurar tu propio servidor de streaming de video, necesitas un VPS que ejecute un sistema operativo Linux, como <strong>Ubuntu 24.04<\/strong>.&nbsp;<\/p><p>Lee el tutorial que explica <a href=\"\/es\/tutoriales\/que-es-un-vps\">qu&eacute; es un VPS<\/a> si necesitas m&aacute;s informaci&oacute;n sobre c&oacute;mo funcionan los servidores privados virtuales. Tambi&eacute;n debe ser compatible con el <a href=\"\/es\/tutoriales\/que-es-nginx\">servidor web NGINX<\/a>, ya que utilizaremos su m&oacute;dulo de transmisi&oacute;n de datos.<\/p><p>Adem&aacute;s, tu servidor debe admitir la conexi&oacute;n SSH para ejecutar comandos de forma remota. Tu sistema local tambi&eacute;n debe tener instalado un cliente SSH como PuTTY para acceder al VPS. Para Linux y MacOS, utiliza el terminal integrado.<\/p><p>La configuraci&oacute;n de tu propio servidor de streaming multimedia tambi&eacute;n requiere conocimientos b&aacute;sicos de administraci&oacute;n de servidores Linux.&nbsp;<\/p><p>Si no est&aacute;s familiarizado con ello, te recomendamos leer nuestro tutorial de <a href=\"\/es\/tutoriales\/linux-comandos\">comandos de Linux<\/a> para obtener m&aacute;s informaci&oacute;n sobre las utilidades esenciales.<\/p><p>Ahora s&iacute;, empecemos paso a paso a configurar tu servidor de streaming.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-1-consigue-un-servidor-privado-virtual\">1. Consigue un servidor privado virtual<\/h2><p>Dado que la configuraci&oacute;n de un servidor de streaming requiere un VPS, adquiere un plan de un proveedor de confianza si a&uacute;n no lo has hecho. Para elegir el mejor alojamiento VPS para la transmisi&oacute;n de contenido de video, ten en cuenta los requisitos previos que hemos explicado anteriormente.<\/p><p>Bas&aacute;ndonos en ellos, Hostinger es la opci&oacute;n ideal. Todas nuestras <a href=\"\/es\/servidor-vps\">planes VPS<\/a> cuentan con un <strong>terminal de navegador <\/strong>que te permite conectarte al sistema sin necesidad de un cliente SSH.&nbsp;<\/p><p>Esto ayuda a simplificar el proceso de configuraci&oacute;n del servidor de streaming en directo, ya que puedes hacerlo directamente desde tu navegador web.<\/p><p>Adem&aacute;s, <strong>Kodee<\/strong>, nuestro asistente de IA para VPS, te permite generar r&aacute;pidamente comandos para instalar y configurar el software del servidor de streaming multimedia.&nbsp;<\/p><p>Esto permite que el plan VPS de Hostinger sea especialmente adecuado para los nuevos usuarios de VPS que no est&aacute;n familiarizados con la administraci&oacute;n de sistemas Linux.<\/p><p>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Consejo profesional<\/h4>\n                    <p>Adem&aacute;s de ayudarte con diversas tareas de administraci&oacute;n del sistema, puedes pedirle a Kodee que gestione directamente varios aspectos de tu servidor, como reiniciar tu VPS, restablecer los servicios a su estado predeterminado y ajustar las reglas del cortafuegos. Solo tienes que introducir un mensaje y Kodee se encargar&aacute; del resto.<\/p>\n                <\/div>\n\n\n\n<\/p><p>Al elegir un plan de alojamiento VPS, aseg&uacute;rate de que tambi&eacute;n ofrezca una conexi&oacute;n de alta velocidad y un ancho de banda suficiente. Esto es importante, ya que la transmisi&oacute;n de v&iacute;deo necesita una transferencia de datos constante y continua.<\/p><p>El VPS de Hostinger proporciona una conexi&oacute;n de<strong> 1 Gb\/s <\/strong>y hasta<strong> 32 TB <\/strong>de ancho de banda. Nuestra red de alto rendimiento garantiza que tu plataforma de streaming en directo transmita v&iacute;deos de forma fiable y sin buffering.<\/p><h3 class=\"wp-block-heading\" id=\"h-cuanto-cuesta-crear-tu-propio-servicio-de-streaming\">&iquest;Cu&aacute;nto cuesta crear tu propio servicio de streaming?<\/h3><p>El coste de un servidor privado de streaming de v&iacute;deo var&iacute;a en funci&oacute;n de tu proveedor de alojamiento VPS. Por ejemplo, puedes configurar uno en Hostinger a partir de 4,99 &euro; al mes.&nbsp;<\/p><p>Adem&aacute;s, ten en cuenta los precios de otros servicios, como CDN y suscripciones de dominio.<\/p><h3 class=\"wp-block-heading\" id=\"h-cuales-son-las-caracteristicas-clave-que-hay-que-buscar-en-los-servidores-de-streaming-de-video\">&iquest;Cu&aacute;les son las caracter&iacute;sticas clave que hay que buscar en los servidores de streaming de v&iacute;deo?<\/h3><p>Para elegir un VPS para streaming, aseg&uacute;rate de que proporcione suficiente ancho de banda y potencia de c&aacute;lculo para garantizar un rendimiento estable.&nbsp;<\/p><p>Adem&aacute;s, debe ser compatible con NGINX para habilitar el m&oacute;dulo RTMP y ofrecer acceso root completo para evitar problemas de permisos al configurar el software.<\/p><figure class=\"wp-block-image size-large\"><a href=\"\/es\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/public\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><h2 class=\"wp-block-heading\" id=\"h-2-configura-tu-vps\">2. Configura tu VPS<\/h2><p>Despu&eacute;s de comprar y <a href=\"\/es\/tutoriales\/configurar-servidor-vps\/\">configurar tu VPS<\/a>, debes preparar el entorno de alojamiento actualizando su repositorio e instalando el software del servidor de video.<\/p><p>Comienza conect&aacute;ndote a tu servidor a trav&eacute;s de <a href=\"\/es\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">SSH utilizando PuTTY<\/a> o el terminal del navegador. Puedes encontrar las credenciales de inicio de sesi&oacute;n en la secci&oacute;n de<strong> Vista general del VPS<\/strong>, en la parte inferior de hPanel. De forma predeterminada, se conectar&aacute; como <strong>root<\/strong>.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"578\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/public\" alt=\"Vista general de VPS en hPanel\" class=\"wp-image-48855\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vista-general-vps-scaled.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Sin embargo, crearemos otro superusuario, ya que ejecutar comandos como <strong>root <\/strong>puede causar graves problemas si no se tiene cuidado. Para ello, ejecuta lo siguiente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">adduser tu-nombre-de-usuario<\/pre><p>Introduce la informaci&oacute;n necesaria, como la contrase&ntilde;a, el nombre y otros datos. Pulsa <strong>Y <\/strong>y luego <strong>Intro <\/strong>para confirmar.<\/p><p>A continuaci&oacute;n, concede al nuevo usuario los privilegios de superusuario para permitir la ejecuci&oacute;n de comandos administrativos utilizando <strong>sudo<\/strong>. Para ello, introduce:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">usermod -aG sudo tu-nombre-de-usuario<\/pre><p>Cambia al nuevo usuario con este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">su tu-nombre-de-usuario<\/pre><p>Introduce la contrase&ntilde;a del usuario y deber&iacute;as ver los cambios en el shell de la l&iacute;nea de comandos. Ahora, preparemos el servidor actualizando los paquetes del sistema para asegurarnos de que obtiene las &uacute;ltimas versiones de software del repositorio local:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt update\n\nsudo apt upgrade<\/pre><p>Ten en cuenta que los comandos solo funcionan para sistemas operativos basados en Debian, como Ubuntu. Para otras distribuciones, sustituye <strong>apt <\/strong>por el gestor de paquetes correspondiente, como <strong>dnf <\/strong>o <strong>yum <\/strong>en CentOS:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo yum update\n\nsudo yum upgrade<\/pre><h2 class=\"wp-block-heading\" id=\"h-3-instala-nginx-y-el-modulo-rtmp\">3. Instala NGINX y el m&oacute;dulo RTMP<\/h2><p>En un servidor de transmisi&oacute;n multimedia, NGINX recibir&aacute; las solicitudes de los clientes, las procesar&aacute; y enviar&aacute; el contenido solicitado a los usuarios. Para instalarlo en Ubuntu, ejecuta:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install -y nginx<\/pre><p>Ahora, ejecuta el siguiente comando para iniciar NGINX cuando tu VPS se reinicie autom&aacute;ticamente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl enable nginx<\/pre><p>Comprueba si NGINX est&aacute; activo y configurado correctamente verificando su estado con este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo systemctl status nginx<\/pre><p>La aplicaci&oacute;n de terminal deber&iacute;a mostrar NGINX como activo y en ejecuci&oacute;n, similar a este ejemplo:<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1139\" height=\"353\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/public\" alt=\"estado de NGINX en el terminal\" class=\"wp-image-48856\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/w=1139,fit=scale-down 1139w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/nginx-status-in-terminal.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1139px) 100vw, 1139px\" \/><\/figure><p>Ahora, instala el m&oacute;dulo<strong> <\/strong>del<strong> protocolo de mensajer&iacute;a en tiempo real (RTMP)<\/strong>, que permite al servidor de streaming NGINX transferir contenido de v&iacute;deo a los equipos cliente con una baja latencia.<\/p><p>En un proceso de streaming de video en directo, este protocolo env&iacute;a los paquetes de datos que codifica su software de transmisi&oacute;n. A continuaci&oacute;n, el equipo del usuario recompilar&aacute; los datos para mostrar el v&iacute;deo solicitado.<\/p><p>Para instalar el m&oacute;dulo RTMP de NGINX, ejecuta el siguiente comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install -y libnginx-mod-rtmp<\/pre><p>Ten en cuenta que todos los comandos de instalaci&oacute;n anteriores recuperar&aacute;n el software del repositorio del gestor de paquetes de tu sistema, lo que significa que es posible que no sean la &uacute;ltima versi&oacute;n.<\/p><p>Si necesitas la &uacute;ltima versi&oacute;n, descarga NGINX y RTMP directamente desde sus repositorios de GitHub. Antes de hacerlo, instala las siguientes dependencias para compilar el paquete:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install build-essential git libpcre3-dev libssl-dev zlib1g-dev<\/pre><p>Ahora, obt&eacute;n ambos repositorios de software utilizando estos comandos de<strong> clonaci&oacute;n de Git<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo git clone https:\/\/github.com\/arut\/nginx-rtmp-module.git\n\nsudo git clone https:\/\/github.com\/nginx\/nginx.git<\/pre><p>Cambia al directorio NGINX y ejecuta el script del compilador. Para ello, ejecuta la siguiente serie de comandos de forma consecutiva:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">cd nginx\n\n.\/auto\/configure --add-module=..\/nginx-rtmp-module\n\nmake\n\nsudo make install<\/pre><h2 class=\"wp-block-heading\" id=\"h-4-configura-nginx-para-la-transmision-de-video\">4. Configura NGINX para la transmisi&oacute;n de video<\/h2><p>Una vez completada la instalaci&oacute;n del servidor RTMP, configura NGINX para habilitar la transmisi&oacute;n de video en directo. Para ello, abre el archivo <strong>nginx.conf <\/strong>con un editor de texto como <strong>nano<\/strong>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano \/etc\/nginx\/nginx.conf<\/pre><p>En la ventana del editor de texto, a&ntilde;ade el bloque de configuraci&oacute;n RTMP al final del archivo. Por ejemplo, insertaremos estos ajustes b&aacute;sicos:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">rtmp {\n\n&nbsp;&nbsp;&nbsp;server {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listen 1935;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chunk_size 4096;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application live {\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;live on;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;record off;\n\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n\n&nbsp;&nbsp;&nbsp;}\n\n}<\/pre><p>Aqu&iacute; tienes un desglose de cada par&aacute;metro para ayudarte a comprender qu&eacute; hace el c&oacute;digo de configuraci&oacute;n:<\/p><ul class=\"wp-block-list\">\n<li><strong>listen 1935<\/strong>: el n&uacute;mero de puerto que escucha su servidor RTMP, establecido en<strong> 1935 <\/strong>de forma predeterminada.<\/li>\n\n\n\n<li><strong>chunk_size 4069<\/strong>: el tama&ntilde;o de los fragmentos de v&iacute;deo que el servidor enviar&aacute; en <strong>bytes<\/strong>, establecido en<strong> 4096 bytes <\/strong>o<strong> 4 KB <\/strong>de forma predeterminada.<\/li>\n\n\n\n<li><strong>application live<\/strong>: la aplicaci&oacute;n de transmisi&oacute;n en vivo que estar&aacute; disponible en la URL <strong>\/live<\/strong>.<\/li>\n\n\n\n<li><strong>live on<\/strong>: el modo en directo que permite que varios usuarios se conecten a su transmisi&oacute;n simult&aacute;neamente.<\/li>\n\n\n\n<li><strong>record off<\/strong>: el modo de grabaci&oacute;n RTMP. Si se <strong>desactiva<\/strong>, el servidor no almacenar&aacute; el v&iacute;deo transmitido localmente.<\/li>\n<\/ul><p>La p&aacute;gina de GitHub de las directivas del m&oacute;dulo RTMP enumera otros par&aacute;metros para cambiar la configuraci&oacute;n de RTMP.&nbsp;<\/p><p>Por ejemplo, a&ntilde;ade lo siguiente en <strong>server{} <\/strong>para permitir que solo una direcci&oacute;n IP espec&iacute;fica transmita en su servidor y denegar el acceso a otras:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">allow publish 127.0.0.1;\n\ndeny publish all;<\/pre><p>Aunque tienes control total sobre tu propio servidor de video, utiliza estas directivas con cuidado, ya que pueden afectar al rendimiento de tu VPS. Para garantizar una transmisi&oacute;n fiable, establece el valor adecuado seg&uacute;n tus necesidades y los recursos de hardware del servidor.<\/p><p>A continuaci&oacute;n varios par&aacute;metros importantes de configuraci&oacute;n de la transmisi&oacute;n y su impacto en el rendimiento:<\/p><ul class=\"wp-block-list\">\n<li><strong>chunk_size<\/strong>: un fragmento de datos grande puede causar una alta latencia, mientras que establecerlo en un valor bajo causar&aacute; una sobrecarga debido a las transmisiones adicionales.<\/li>\n\n\n\n<li><strong>max_connections<\/strong>: el n&uacute;mero m&aacute;ximo de conexiones simult&aacute;neas a su servidor RTMP, que puede consumir un gran ancho de banda de transmisi&oacute;n de v&iacute;deo si se establece en un valor demasiado alto.<\/li>\n\n\n\n<li><strong>record<\/strong>: el interruptor para el modo de grabaci&oacute;n, que consumir&aacute; potencia de c&aacute;lculo y espacio de almacenamiento adicionales cuando est&eacute; habilitado.<\/li>\n\n\n\n<li><strong>max_message<\/strong>: el tama&ntilde;o m&aacute;ximo de los datos de entrada enviados como mensaje. Si se establece un valor demasiado alto, se consumir&aacute; m&aacute;s memoria y podr&iacute;a provocar inestabilidad en el servidor.<\/li>\n<\/ul><p>Te recomendamos utilizar el valor predeterminado y ajustarlo gradualmente para ver si la nueva configuraci&oacute;n afecta al rendimiento de tu servidor de video. Adem&aacute;s, recuerda que la difusi&oacute;n de contenido en varios canales consumir&aacute; recursos adicionales.<\/p><p>\n\n\n\n<div><p class=\"important\"><strong>&iexcl;Importante! <\/strong>Para evitar problemas, prueba los cambios en un &aacute;rea de pruebas antes de aplicarlos al entorno en vivo. Despu&eacute;s de aplicar la nueva configuraci&oacute;n, supervisa tu servidor para comprobar si hay inestabilidad.<\/p><\/div>\n\n\n\n<\/p><p>Despu&eacute;s de a&ntilde;adir el bloque RTMP al archivo de configuraci&oacute;n de NGINX, pulsa <strong>Ctrl + X <\/strong>&rarr; <strong>Y <\/strong>&rarr; <strong>Intro <\/strong>para guardar los cambios. Ejecuta lo siguiente para validar su configuraci&oacute;n y detectar errores de sintaxis:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nginx -t<\/pre><p>Los clientes de Hostinger VPS tambi&eacute;n pueden utilizar <strong>Kodee <\/strong>para verificar su configuraci&oacute;n NGINX y comprobar si hay errores como este:<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"574\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/public\" alt=\"Vista general de Kodee en hPanel\" class=\"wp-image-48857\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/kodee-hostinger-scaled.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Ahora, recarga la configuraci&oacute;n del servidor web NGINX para aplicar la configuraci&oacute;n utilizando este comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nginx -s reload<\/pre><h2 class=\"wp-block-heading\" id=\"h-5-configura-una-cdn\">5. Configura una CDN<\/h2><p>Una <a href=\"\/es\/tutoriales\/que-es-cdn\">red de distribuci&oacute;n de contenidos (CDN)<\/a> es una red de servidores que almacena temporalmente su contenido alojado en m&uacute;ltiples ubicaciones geogr&aacute;ficas. Permite a los usuarios recuperar los datos solicitados m&aacute;s cercanos a ellos, lo que reduce la latencia y la velocidad de carga.<\/p><p>Dado que los usuarios se conectan al servidor de almacenamiento en cach&eacute;, la CDN reduce la carga en tu VPS. Un servidor de transmisi&oacute;n de video requiere esta funci&oacute;n, ya que la distribuci&oacute;n continua del flujo de datos a m&uacute;ltiples dispositivos puede causar inestabilidad.<\/p><p>En un entorno de streaming, este software de almacenamiento en cach&eacute; almacena segmentos del v&iacute;deo emitido en tiempo real. A continuaci&oacute;n, servir&aacute; a los clientes el contenido de los datos temporales almacenados en la red CDN en lugar del servidor host.<\/p><p>La forma m&aacute;s sencilla de configurar una CDN es utilizando un proveedor de servicios como Cloudflare. Antes de hacerlo, aseg&uacute;rate de haber <a href=\"\/es\/tutoriales\/apuntar-dominio-vps\">apuntado un nombre de dominio a su VPS<\/a>, ya que lo utilizaremos para la configuraci&oacute;n.&nbsp;<\/p><p>A continuaci&oacute;n, sigue estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Abre el <a href=\"https:\/\/www.cloudflare.com\/es-es\/\" target=\"_blank\" rel=\"noreferrer noopener\">sitio web de Cloudflare<\/a>. Haz clic en <strong>&ldquo;Registrarse&rdquo; <\/strong>para crear una nueva cuenta y completa el proceso de verificaci&oacute;n.<\/li>\n\n\n\n<li>Inicia sesi&oacute;n en tu panel de control de Cloudflare y haz clic en <strong>&ldquo;A&ntilde;adir sitio&rdquo; <\/strong>en la parte superior derecha de la pantalla.<\/li>\n\n\n\n<li>Introduce tu dominio en el campo correspondiente y haz clic en <strong>&ldquo;Continuar&rdquo; <\/strong>para confirmar.<\/li>\n\n\n\n<li>Selecciona el plan que prefieras. Te recomendamos que elijas el gratuito que aparece en la parte inferior, ya que puedes actualizarlo m&aacute;s adelante en cualquier momento. Haz clic en <strong>Continuar<\/strong>.<\/li>\n\n\n\n<li>Se te mostrar&aacute; la p&aacute;gina de<strong> revisi&oacute;n de registros DNS<\/strong>. Aseg&uacute;rate de que todos los registros apuntan a tu nombre de dominio y haz clic en<strong> Continuar<\/strong>.<\/li>\n\n\n\n<li>En la siguiente pantalla, Cloudflare te proporcionar&aacute; los servidores de nombres para tu dominio. C&oacute;pialos y gu&aacute;rdalos en un lugar seguro.<\/li>\n<\/ol><p>No cierres el panel de control, ya que lo utilizaremos para comprobar la configuraci&oacute;n m&aacute;s adelante. Ahora, vamos a dirigir tu dominio a los nuevos servidores de nombres.&nbsp;<\/p><p>A continuaci&oacute;n te indicamos c&oacute;mo hacerlo en Hostinger:<\/p><ol class=\"wp-block-list\">\n<li>Inicia sesi&oacute;n en <strong>hPanel <\/strong>y haz clic en <strong>Portafolio de dominios <\/strong>en el men&uacute; lateral.<\/li>\n\n\n\n<li>Haz clic en<strong> Administrar <\/strong>en el dominio que deseas configurar y selecciona <strong>DNS\/Nameservers <\/strong>en la barra lateral.<\/li>\n\n\n\n<li>Haz clic en <strong>Cambiar nameservers <\/strong>y selecciona la opci&oacute;n <strong>Cambiar servidores <\/strong>de nombres.<\/li>\n\n\n\n<li>Introduce los servidores de nombres de Cloudflare en los dos primeros campos y luego haz clic en <strong>Guardar<\/strong>.<\/li>\n<\/ol><figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"573\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/public\" alt=\"Secci&oacute;n de DNS\/Nameservers en hPanel\" class=\"wp-image-48858\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/namerservers-hostinger-scaled.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Vuelve al panel de control de Cloudflare y haz clic en<strong> Comprobar servidores de nombres ahora<\/strong>. Si aparece un mensaje con tu nombre de dominio, haz clic <strong>en Continuar<\/strong>. Se te mostrar&aacute; una <strong>gu&iacute;a de inicio r&aacute;pido<\/strong>, pero seleccionaremos <strong>Finalizar m&aacute;s tarde<\/strong>.<\/p><p>&iexcl;Eso es todo! Tu transmisi&oacute;n de v&iacute;deo ahora se sirve a trav&eacute;s de Cloudflare CDN.&nbsp;<\/p><h2 class=\"wp-block-heading\" id=\"h-6-configura-el-software-de-streaming\">6. Configura el software de streaming<\/h2><p>Una vez que el servidor de transmisi&oacute;n est&eacute; listo, configura el software de transmisi&oacute;n de video en tu equipo local para transmitir el contenido. Dado que hay varias opciones, te proporcionaremos varias herramientas de transmisi&oacute;n populares para ayudarte a elegir:<\/p><ul class=\"wp-block-list\">\n<li><strong>Open Broadcaster Software (OBS)<\/strong>: un software de transmisi&oacute;n en directo de c&oacute;digo abierto con una interfaz f&aacute;cil de usar y funciones vers&aacute;tiles.<\/li>\n\n\n\n<li><strong>Streamlabs<\/strong>: una soluci&oacute;n de streaming basada en OBS con funciones adicionales, pero que consume m&aacute;s recursos y es menos fiable.<\/li>\n\n\n\n<li><strong>Wirecast<\/strong>: un emisor de video en directo premium con funciones de edici&oacute;n integradas y amplia compatibilidad con fuentes de streaming multimedia.<\/li>\n\n\n\n<li><strong>XSplit<\/strong>: una herramienta popular con funciones ampliables mediante complementos, pero complicada de configurar debido a la falta de ajustes preestablecidos.<\/li>\n<\/ul><p>Para elegir el mejor software de streaming, ten en cuenta el sistema operativo de tu ordenador, la capacidad del hardware y los requisitos de la herramienta. Para este tutorial, utilizaremos OBS, ya que es gratuito, ligero y f&aacute;cil de configurar.<\/p><p>Descarga OBS Studio desde la p&aacute;gina oficial y abre el paquete de instalaci&oacute;n. Sigue las instrucciones del asistente de instalaci&oacute;n para completar el proceso de configuraci&oacute;n. Una vez completado, abre la aplicaci&oacute;n <strong>obs64.exe<\/strong>.<\/p><p>Ahora, conecta OBS con tu servidor RTMP navegando a <strong>Configuraci&oacute;n <\/strong>&rarr; <strong>Transmisi&oacute;n<\/strong>. En el men&uacute; desplegable <strong>Servicio<\/strong>, selecciona <strong>Personalizado<\/strong>. En el campo<strong> Servidor<\/strong>, introduce la siguiente direcci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">rtmp:\/\/tu-ip-del-servidor\/live<\/pre><p>Reemplaza <strong>tu-ip-del-servidor <\/strong>por la direcci&oacute;n IP real de tu VPS. Adem&aacute;s, cambia <strong>\/live <\/strong>si modificas la ruta de la aplicaci&oacute;n en el bloque RTMP.<\/p><p>La<strong> clave de transmisi&oacute;n <\/strong>va al final de la URL de transmisi&oacute;n RTMP. Por ejemplo, si utiliza <strong>test<\/strong>, se conectar&aacute; al servidor utilizando esta direcci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">rtmp:\/\/tu-ip-del-servidor\/live\/test<\/pre><p>Tambi&eacute;n desmarcaremos la opci&oacute;n<strong> Usar autenticaci&oacute;n<\/strong>. Despu&eacute;s de introducir toda la informaci&oacute;n necesaria, haz clic en <strong>Aplicar <\/strong>y <strong>Aceptar<\/strong>.<\/p><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"413\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/rtmp-stream-url-setting-in-obs.png\/public\" alt=\"Ajustes del servidor de video\" class=\"wp-image-48861\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/rtmp-stream-url-setting-in-obs.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/rtmp-stream-url-setting-in-obs.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/rtmp-stream-url-setting-in-obs.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/rtmp-stream-url-setting-in-obs.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>A continuaci&oacute;n, configura las escenas, las fuentes y los ajustes de audio de tu transmisi&oacute;n. Haz clic en<strong> Iniciar transmisi&oacute;n <\/strong>para emitir tu video.<\/p><p>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Consejo profesional<\/h4>\n                    <p>Tambi&eacute;n puede transmitir contenido de video bajo demanda. Sin embargo, debe colocar el archivo de v&iacute;deo dentro del servidor de transmisi&oacute;n en directo.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-7-prueba-tu-streaming\">7. Prueba tu streaming<\/h2><p>Comprueba si tu video se transmite correctamente al servidor. Puedes hacerlo accediendo a la URL a trav&eacute;s de un reproductor multimedia como <strong>VLC<\/strong>. Estos son los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Descarga VLC desde la p&aacute;gina oficial e inst&aacute;lalo en tu ordenador local.<\/li>\n\n\n\n<li>Abre el reproductor multimedia, selecciona <strong>&ldquo;Medios&rdquo; <\/strong>en la esquina superior izquierda y haz clic en <strong>&ldquo;Abrir transmisi&oacute;n de red<\/strong>&rdquo;.<\/li>\n\n\n\n<li>En la ventana <strong>Abrir multimedia<\/strong>, selecciona la pesta&ntilde;a <strong>Red<\/strong>.<\/li>\n\n\n\n<li>Pega la<strong> URL de tu transmisi&oacute;n RTMP <\/strong>en el campo correspondiente y haz clic en <strong>Transmitir <\/strong>para comenzar a transmitir tu v&iacute;deo.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"633\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vlc-rtmp-streaming-settings.png\/public\" alt=\"Ajustes de VLC \" class=\"wp-image-48862\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vlc-rtmp-streaming-settings.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vlc-rtmp-streaming-settings.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vlc-rtmp-streaming-settings.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/vlc-rtmp-streaming-settings.png\/w=768,fit=scale-down 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><p>Puedes utilizar otro reproductor multimedia para comprobar si la URL funciona, siempre y cuando sea compatible con RTMP. Si se produce un error, aseg&uacute;rate de que la URL es correcta, especialmente si cambias la ruta de la aplicaci&oacute;n en la configuraci&oacute;n de NGINX y utilizas una clave de transmisi&oacute;n espec&iacute;fica.<\/p><p>Adem&aacute;s, comprueba si tu archivo de configuraci&oacute;n contiene ajustes que permitan o bloqueen las transmisiones desde una direcci&oacute;n IP espec&iacute;fica. Si es as&iacute;, cerci&oacute;rate de que tu VPS y el sistema que transmite el v&iacute;deo est&eacute;n incluidos en la lista de permitidos.<\/p><p>Comprueba tambi&eacute;n que la direcci&oacute;n es correcta utilizando una herramienta en l&iacute;nea como <a href=\"https:\/\/whatismyipaddress.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">whatismyipaddress<\/a> y comprueba si el valor coincide. Despu&eacute;s de cambiar el archivo de configuraci&oacute;n, recuerda recargar siempre NGINX para aplicar los cambios.<\/p><p>Adem&aacute;s, aseg&uacute;rate de que tu firewall permite la conexi&oacute;n NGINX a trav&eacute;s de los puertos<strong> 1935<\/strong>,<strong> 80 <\/strong>y<strong> 443<\/strong>. Puedes utilizar las herramientas integradas de Linux, como <strong>iptables <\/strong>o <strong>Uncomplicated Firewall<\/strong>. Tambi&eacute;n puedes usar la funci&oacute;n<strong> <\/strong>de<strong> configuraci&oacute;n del firewall<\/strong> de hPanel siguiendo estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Abre <strong>hPanel<\/strong>, selecciona <strong>VPS <\/strong>y haz clic en<strong> Administrar <\/strong>en el servidor de transmisi&oacute;n de v&iacute;deo.<\/li>\n\n\n\n<li>En la barra lateral, ve a <strong>Seguridad <\/strong>&rarr; <strong>Firewall<\/strong>.<\/li>\n\n\n\n<li>Haz clic en <strong>Crear configuraci&oacute;n de firewall <\/strong>e introduce su nombre. Haz clic en <strong>Crear<\/strong>.<\/li>\n\n\n\n<li>Haz clic en el <strong>icono de tres puntos <\/strong>de la nueva regla y selecciona <strong>Editar<\/strong>.<\/li>\n\n\n\n<li>A&ntilde;ade una regla que acepte conexiones desde <strong>cualquier <\/strong>fuente a trav&eacute;s del puerto<strong> 1935<\/strong>, similar a la siguiente.<\/li>\n<\/ol><figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1024\" height=\"235\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/public\" alt=\"Secci&oacute;n de Firewall en hPanel\" class=\"wp-image-48863\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=1536,fit=scale-down 1536w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2025\/11\/firewall-vps.png\/w=2048,fit=scale-down 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure><ol start=\"6\" class=\"wp-block-list\">\n<li>Haz clic en <strong>A&ntilde;adir regla<\/strong>. Vuelve a la p&aacute;gina principal de configuraci&oacute;n del cortafuegos y <strong>activa <\/strong>tu regla RTMP.<\/li>\n<\/ol><p>Ahora, vuelve a VLC e intenta transmitir el v&iacute;deo para comprobar si el problema se ha resuelto.<\/p><h2 class=\"wp-block-heading\" id=\"h-8-protege-tu-servidor-de-streaming\">8. Protege tu servidor de streaming<\/h2><p>Una vez que los usuarios en l&iacute;nea puedan acceder a tu servidor de transmisi&oacute;n, aplica las pr&aacute;cticas de seguridad recomendadas para permitir una transmisi&oacute;n de datos segura y minimizar los posibles puntos de entrada para los ciberdelincuentes.<\/p><p>Utiliza credenciales seguras para todos los usuarios, incluidas las cuentas root y de alojamiento. Adem&aacute;s, instale un certificado SSL (<a href=\"\/es\/tutoriales\/que-es-ssl\">Secure Sockets Layer<\/a>) para cifrar la conexi&oacute;n entre tu servidor y los clientes, lo que permitir&aacute; una transmisi&oacute;n de video segura.<\/p><p>SSL enmascara los datos transmitidos en caracteres indescifrables, lo que impide que los ciberdelincuentes obtengan informaci&oacute;n personal sin procesar, como la direcci&oacute;n IP del usuario.<\/p><p>Los pasos para configurar SSL en tu VPS var&iacute;an en funci&oacute;n del emisor del certificado.&nbsp;<\/p><p>Para este tutorial, configuraremos un plan gratuito de <strong>Certbot, <\/strong>que ofrece el mismo nivel de seguridad que los de pago.&nbsp;<\/p><p>Estos son los pasos:<\/p><ol class=\"wp-block-list\">\n<li>Con&eacute;ctate a tu VPS a trav&eacute;s de SSH y cambia a una cuenta de superusuario.<\/li>\n\n\n\n<li>Instala las dependencias utilizando el siguiente comando. Recuerda sustituir <strong>apt <\/strong>seg&uacute;n el gestor de paquetes de tu sistema:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo apt install python3 python3-venv libaugeas0<\/pre><ol start=\"3\" class=\"wp-block-list\">\n<li>Configura un entorno virtual Python ejecutando los siguientes comandos:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo python3 -m venv \/opt\/certbot\/\n\nsudo \/opt\/certbot\/bin\/pip install --upgrade pip<\/pre><ol start=\"4\" class=\"wp-block-list\">\n<li>Instala <strong>Certbot <\/strong>en NGINX utilizando este comando:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo \/opt\/certbot\/bin\/pip install certbot certbot-nginx<\/pre><ol start=\"5\" class=\"wp-block-list\">\n<li>Ahora, crea un enlace simb&oacute;lico, que es un acceso directo que te permite ejecutar Certbot desde cualquier ruta:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo ln -s \/opt\/certbot\/bin\/certbot \/usr\/bin\/certbot<\/pre><ol start=\"6\" class=\"wp-block-list\">\n<li>Instala y activa el certificado SSL con lo siguiente:<\/li>\n<\/ol><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo certbot --nginx<\/pre><p>&iexcl;Enhorabuena, tu plataforma de streaming en directo ya est&aacute; protegida! Recuerda actualizar el certificado SSL cada 90 d&iacute;as o habilitar la renovaci&oacute;n autom&aacute;tica con el siguiente comando:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">echo \"0 0,12 * * * root \/opt\/certbot\/bin\/python -c 'import random; import time; time.sleep(random.random() * 3600)' &amp;&amp; sudo certbot renew -q\" | sudo tee -a \/etc\/crontab &gt; \/dev\/null<\/pre><p>Adem&aacute;s de SSL, aseg&uacute;rate de a&ntilde;adir las directivas de<strong> denegaci&oacute;n <\/strong>a tu archivo <strong>nginx.conf <\/strong>para evitar que otros usuarios transmitan a tu VPS. De lo contrario, los hackers podr&iacute;an utilizar la conexi&oacute;n no autorizada para encontrar vulnerabilidades de seguridad.<\/p><p>Del mismo modo, configura correctamente las reglas del firewall en tu VPS para que solo escuche los puertos necesarios y cierre los dem&aacute;s. Dejar todos abiertos expondr&aacute; tu servidor a puntos de entrada adicionales que los hackers podr&aacute;n explotar.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-utilizar-otros-protocolos-de-streaming-nginx\">C&oacute;mo utilizar otros protocolos de streaming NGINX<\/h2><p>El servidor web NGINX ofrece dos protocolos de streaming de video adicionales, adem&aacute;s de RTMP, que puedes habilitar a trav&eacute;s del archivo <strong>nginx.conf<\/strong>.<\/p><p>Por ejemplo, el protocolo <strong>HTTP Live Streaming (HLS) <\/strong>es ideal para la transmisi&oacute;n multiplataforma debido a su compatibilidad con cualquier navegador web y reproductor de v&iacute;deo HTML5. Sin embargo, no es adecuado para juegos o transmisiones interactivas debido a su alta latencia.<\/p><p>Para habilitar HLS, a&ntilde;ade las siguientes directivas a <strong>application live {} <\/strong>en el archivo de configuraci&oacute;n de tu servidor de streaming de v&iacute;deo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hls on;\n\nhls_path \/var\/www\/html\/stream\/hls;\n\nhls_fragment 15;<\/pre><p>La configuraci&oacute;n <strong>hls on <\/strong>habilita el protocolo para la transmisi&oacute;n, mientras que <strong>hls_path <\/strong>define el directorio para almacenar los fragmentos de v&iacute;deo transmitidos. El directorio <strong>hls_fragment <\/strong>establece la duraci&oacute;n de cada secci&oacute;n de video enviada a los usuarios.<\/p><p>Otro protocolo es <strong>Dynamic Adaptive Streaming over HTTP (DASH)<\/strong>, que es de c&oacute;digo abierto y personalizable. Te permite habilitar la transmisi&oacute;n con velocidad de bits adaptativa para mantener una calidad de v&iacute;deo &oacute;ptima en una red inestable.<\/p><p>Sin embargo, DASH no es compatible con algunos reproductores y navegadores web. Adem&aacute;s, es un protocolo obsoleto que puede resultar poco fiable para un uso a largo plazo. Al igual que HLS, habilita DASH a&ntilde;adiendo las siguientes configuraciones:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">dash on;\n\ndash_path \/var\/www\/html\/tmp\/dash;\n\ndash_fragment 15;<\/pre><p>Puedes habilitar ambos protocolos, que el cliente elegir&aacute; autom&aacute;ticamente en funci&oacute;n de la compatibilidad de tu reproductor multimedia o los requisitos del encabezado de la solicitud. Para ello, simplemente a&ntilde;ade ambas directivas en tu archivo de configuraci&oacute;n.<\/p><h2 class=\"wp-block-heading\" id=\"h-haz-que-el-servidor-de-streaming-sea-accesible-a-traves-de-navegadores-web\">Haz que el servidor de streaming sea accesible a trav&eacute;s de navegadores web<\/h2><p>Dado que es m&aacute;s probable que los usuarios vean v&iacute;deos en streaming sin un reproductor multimedia espec&iacute;fico como VLC, haz que tus archivos multimedia sean accesibles a trav&eacute;s de navegadores web.&nbsp;<\/p><p>Antes de hacerlo, habilita los protocolos HLS y DASH, ya que el uso exclusivo de RTMP podr&iacute;a causar problemas de compatibilidad.<\/p><p>Puedes a&ntilde;adir la configuraci&oacute;n a <strong>nginx.conf<\/strong>, pero utiliza un archivo independiente dentro de <strong>\/sites-available <\/strong>para organizar el c&oacute;digo y simplificar el mantenimiento. Tambi&eacute;n puedes aplicar la configuraci&oacute;n solo a un sitio espec&iacute;fico para aislarlo.<\/p><p>Para crear el archivo de configuraci&oacute;n, ejecuta el siguiente comando. Ten en cuenta que puede que no tenga extensi&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo nano \/etc\/nginx\/sites-available\/rtmp<\/pre><p>En el editor de texto <strong>nano<\/strong>, a&ntilde;ade la siguiente configuraci&oacute;n:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">server {\n\n    listen 9000;\n\n    location \/ {\n\n        add_header Access-Control-Allow-Origin *;\n\n        root \/var\/www\/html\/stream;\n\n    }\n\n}\n\ntypes {\n\n    application\/dash+xml mpd;\n<\/pre><p>Guarda los cambios y cierra <strong>nano<\/strong>. Ahora, accede al men&uacute; <strong>Configuraci&oacute;n del cortafuegos de hPanel <\/strong>y permite que cualquier fuente se conecte al puerto<strong> 9000<\/strong>, que utilizaremos para servir el v&iacute;deo.&nbsp;<\/p><p>Puedes utilizar cualquier puerto excepto los que ya est&aacute;n reservados para otras aplicaciones, como <strong>el 80 <\/strong>y <strong>el 443 <\/strong>de NGINX.<\/p><p>Adem&aacute;s, cambia la ruta ra&iacute;z seg&uacute;n las directivas de ruta de tu protocolo. Si no has creado la carpeta, hazlo con el comando <strong>mkdir <\/strong>de la siguiente manera:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">sudo mkdir \/var\/www\/html\/stream<\/pre><p>Reinicia NGINX y deber&iacute;as poder acceder a la transmisi&oacute;n a trav&eacute;s de un navegador web utilizando tu URL. Ten en cuenta que, dependiendo del protocolo, la direcci&oacute;n es diferente.<\/p><p>Accede a la transmisi&oacute;n HLS a trav&eacute;s de <strong>http:\/\/tu_dominio:9000\/hls\/stream.m3u8<\/strong>. Mientras tanto, utiliza <strong>http:\/\/tu_dominio:9000\/dash\/stream.mdp <\/strong>para ver la transmisi&oacute;n DASH. Recuerda que es posible que tengas que insertar la URL en HTML para que los navegadores web puedan mostrarlas.<\/p><p>\n\n\n\n<div class=\"protip\">\n                    <h4 class=\"title\">Consejo profesional<\/h4>\n                    <p>Consulta nuestra pr&aacute;ctica <a href=\"\/es\/tutoriales\/generar-dinero-con-el-streaming\">gu&iacute;a sobre c&oacute;mo ganar dinero con el streaming<\/a> para obtener todos los detalles.<\/p>\n                <\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-como-llevar-tu-servidor-de-streaming-al-siguiente-nivel\">C&oacute;mo llevar tu servidor de streaming al siguiente nivel<\/h2><p>Crear tu propio servidor de streaming abre la puerta a una plataforma mucho m&aacute;s flexible que cualquier servicio externo.&nbsp;<\/p><p>Ahora que tienes la base configurada, puedes avanzar hacia funciones m&aacute;s completas: a&ntilde;adir transcodificaci&oacute;n para adaptar la calidad del v&iacute;deo, integrar reproductores HTML5 para mejorar la experiencia en navegadores o automatizar tareas de administraci&oacute;n desde tu VPS.&nbsp;<\/p><p>Tambi&eacute;n es un buen momento para optimizar la seguridad, explorar modelos de monetizaci&oacute;n y preparar tu infraestructura para audiencias m&aacute;s grandes.<\/p><p>Si est&aacute;s trabajando en m&aacute;s proyectos con VPS o quieres profundizar en protocolos como HLS o DASH, puedes seguir desarrollando tu entorno con configuraciones avanzadas.&nbsp;<\/p><p>Este tipo de mejoras te permitir&aacute; ofrecer transmisiones m&aacute;s estables, escalables y compatibles con cualquier dispositivo.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Configurar un servidor de streaming de vIdeo en tu propio VPS te permite transmitir contenido en directo a tu audiencia sin las limitaciones de plataformas como YouTube, tanto en pol&iacute;ticas como en personalizaci&oacute;n.&nbsp; En este tutorial aprender&aacute;s a crear paso a paso tu servidor de streaming de video en un VPS con Ubuntu, para que [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/es\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":353,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"Como configurar un servidor de streaming de video en 8 pasos","rank_math_description":"Configura tu VPS para streaming en vivo con NGINX, RTMP, HLS y DASH. Todo lo necesario para emitir video con control total.","rank_math_focus_keyword":"como configurar un servidor de streaming de video","footnotes":""},"categories":[5700],"tags":[],"class_list":["post-48843","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-configurar-un-servidor-de-streaming-de-video","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/48843","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/users\/353"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/comments?post=48843"}],"version-history":[{"count":6,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/48843\/revisions"}],"predecessor-version":[{"id":48866,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/posts\/48843\/revisions\/48866"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/media?parent=48843"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/categories?post=48843"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/es\/tutoriales\/wp-json\/wp\/v2\/tags?post=48843"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}