¿Cómo podemos asegurarnos de que se trata de una emisión de vídeo? Debe ser 24/7, flexible, lo más autónoma posible y no depender en absoluto de tu ordenador. De esto hablaremos a continuación.
La solución ideal es alquilar un servidor virtual. Puede elegir VPS/VDS entre la gama de tarifas ofrecidas en nuestro sitio web. Los precios son democráticos. La calidad es alta.
Después de crear un servidor, lo primero que debe hacer es conectarse a él a través de SSH. Puede utilizar Secure Shell App, que se ejecuta en Google Chrome. Después de eso, es necesario cambiar el nombre de host, configurar la sincronización de tiempo, actualizar el sistema, configurar iptables
y realizar algunas otras acciones. Aunque estos pasos no son necesarios, me pareció interesante configurar el servidor y obtener la satisfacción de completar con éxito las tareas.
Hay algunos pasos específicos que hay que seguir:
EPEL
.(vsftp
).ffmpeg
.ffmpeg
es un conjunto de bibliotecas gratuitas y de código abierto que permite grabar, convertir y transferir grabaciones digitales de audio y vídeo en diversos formatos.
Con ffmpeg
se puede extraer sonido de un vídeo, cortar un fragmento de vídeo sin transcodificarlo, convertir de un formato a otro y muchas otras acciones. Por ejemplo, se puede convertir un archivo en un stream y redirigirlo a YouTube.
Es necesario seguir algunos pasos específicos y utilizar las herramientas adecuadas para configurar el servidor para transmitir y convertir el vídeo.
A continuación, vamos a crear una emisión en YouTube, para ello necesitaremos un enlace de emisión y una clave que tendremos que utilizar en el paso de configuración de la emisión. Lo más fácil es encontrarlos rápidamente en la página de YouTube donde se está creando la emisión.
A continuación, tenemos que subir al servidor los archivos de vídeo que queremos emitir. Si tienes una forma más cómoda de subir archivos, no necesitas configurar un servidor FTP.
Para iniciar la emisión, necesitamos ejecutar ffmpeg
con algunos atributos. Crear un comando corto para este propósito fue un proceso bastante complicado, pero si se hace correctamente, YouTube debería detectar con éxito el stream que se está emitiendo.
Una vez que YouTube haya detectado el flujo, haz clic en el botón "Iniciar emisión" del panel de control y la emisión se iniciará correctamente.
El script anterior te ayudará a crear una emisión 24/7 a partir de archivos de vídeo. Es importante ejecutar el proceso en segundo plano utilizando el comando nohup bash
. Ahora puedes personalizar tu emisión y dejar que se ejecute independientemente de tu presencia. No olvides que la clave de tu emisión debe estar escrita en el comando correspondiente.
Comando 1... (iniciar la emisión del archivo lecture1.mp4
)
Comando 2... (iniciar la emisión de la conferencia2.mp4
)
Comando 3... (iniciar la emisión de la conferencia3.mp4
) bash start.sh
Versión del script:
ffmpeg -re -i lecture1.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture2.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
ffmpeg -re -i lecture3.mp4 -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY% nohup bash start.sh $
Le deseamos una buena emisión.
Hagamos algunos ajustes para mejorar la emisión
ffmpeg -re -i lecture1.mp4 -vf "drawtext=text='Lecture 1':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
En este ejemplo, el texto "Lecture 1" se superpone en el centro del vídeo. El tamaño de la fuente es de 30 píxeles. El fondo del texto será transparente con un trazo negro.
Tendrá que cambiar el texto en el comando para cada conferencia. Y para automatizar este proceso y deshacerse de la entrada manual, tendrá que crear un archivo .sh
con una lista de todas las conferencias y sus nombres. Así:
lecture1.mp4
Clase 1 lecture2.mp4
Clase 2
lecture3.mp4
Lectura 3
A continuación, tenemos que escribir un script que lea este archivo y añada automáticamente texto al vídeo.
Aquí está el script:
while read line; do
file=$(echo $line | cut -d' ' -f1)
text=$(echo $line | cut -d' ' -f2-)
ffmpeg -re -i $file -vf "drawtext=text='$text':x=(w-text_w)/2:y=(h-text_h)/2:fontcolor=white:fontsize=30:box=1:boxcolor=black@0.5" -f flv rtmp://a.rtmp.youtube.com/live2/%BROADCAST_KEY%
done < lectures.txt
En este script, leemos cada línea del archivo lectures .txt
, resaltando el nombre del archivo y el título de la conferencia. A continuación, utilizamos el comando ffmpeg
para añadir el texto al vídeo.
Ahora tenemos una emisión con los títulos de las conferencias, lo que será más cómodo para los espectadores y les facilitará encontrar el contenido que necesitan.