FFmpeg Live Streaming – Lo que necesitan saber los profesionales de la radiodifusión [2022 Update]

ffmpeg video streaming software

Muchas emisoras profesionales utilizan software de transmisión de vídeo en directo además de sus plataformas de vídeo en línea. El software de streaming de vídeo suele ofrecer herramientas para codificar, transcodificar, añadir efectos en pantalla y mucho más.

Si buscas una herramienta ligera y sin complicaciones para la producción de transmisiones en directo y otras tareas de vídeo, FFmpeg puede ser el software que necesitas. Puedes utilizar FFmpeg para crear flujos rtmp.

Esta herramienta repleta de funciones está diseñada principalmente para locutores avanzados. Para ayudar a reducir la curva de aprendizaje, hemos elaborado esta guía para desglosar algunos de los códigos y funciones disponibles en FFmpeg. Este tutorial de FFmpeg te ayudará a entender cómo funciona.

En este artículo, veremos cómo configurar FFmpeg en Linux, Mac y Windows, y cómo utilizar FFmpeg para emitir en directo. También ofreceremos un breve recorrido sobre cómo utilizar el software con nuestro propio plataforma de retransmisión en directo. Este tutorial FFmpeg cubrirá lo que necesita saber para utilizar FFmpeg para streaming.

Vamos a entrar de lleno en los fundamentos de FFmpeg live streaming y sus útiles herramientas.

Índice:

  • ¿Qué es FFmpeg?
  • ¿Qué se puede hacer con FFmpeg?
  • Cómo funcionan las herramientas de transmisión en directo de FFmpeg
  • Cómo descargar e instalar FFmpeg
  • Cómo utilizar FFmpeg para la transmisión en directo
  • Cómo transmitir en directo con FFmpeg y Dacast
  • Conclusión

¿Qué es FFmpeg?

ffmpeg stream
FFmpeg es una utilidad de línea de comandos gratuita y de código abierto con herramientas para la transmisión en directo.

¿Qué es FFmpeg? FFmpeg es un software de streaming diseñado para convertir, grabar, empalmar, editar, reproducir, codificar muxing/demuxing y la transmisión de archivos multimedia. Funciona con audio, imágenes y vídeo en básicamente cualquier códec o formato utilizado en los últimos 20 años.

FFmpeg es gratuito y de código abierto, lo que significa que cualquiera puede descargar el software sin ningún coste. Los desarrolladores también podrán integrar FFmpeg en otros proyectos.

Este programa es una utilidad de línea de comandos, lo que significa que FFmpeg no está construido en torno a una interfaz gráfica de usuario (GUI). En su lugar, es una aplicación que acepta comandos a través de “interfaces de línea de comandos” (CLI)lo que significa que se requieren algunos conocimientos técnicos.

Si alguna vez ha utilizado un ordenador basado en Unix, como Linux o macOS, es posible que haya utilizado la aplicación “terminal”. En Windows, MS-DOS y el más moderno “Powershell” proporcionan una interfaz de línea de comandos.

Los usuarios avanzados, los administradores de sistemas, los desarrolladores y otras personas que trabajan con código complejo suelen preferir una CLI. A menudo, las herramientas de administración del sistema sólo están disponibles a través de la CLI. Las secuencias de comandos, la automatización y otras tareas avanzadas suelen ser más sencillas a través de la CLI. Así, FFmpeg sirve a este público proporcionando herramientas multimedia desde la línea de comandos. Los programas FFmpeg requieren unos pocos conocimientos de codificación.

¿Qué se puede hacer con FFmpeg?

FFmpeg dispone de una amplia gama de funciones para la transmisión de vídeo en directo. Con FFmpeg, los usuarios pueden hacer lo siguiente:

  • Conversión entre distintos formatos de archivo y códecs (es decir, codificación)
  • Ajustar la tasa de bits (tanto de audio como de vídeo)
  • Ajustar el volumen, eliminar el audio y/o fusionar un archivo de audio con un archivo de vídeo
  • Reasignar una fuente de audio mono a canales estéreo
  • Recortar, escalar o girar un archivo de vídeo
  • Entrada de grabación de una webcam u otra fuente de vídeo
  • Transmitir en directo una secuencia de vídeo

Cuando se trata de multimedia, no hay mucho que FFmpeg no pueda hacer. La transmisión en directo y la creación de vídeo con FFmpeg es muy variada, y te permite hacer casi todo lo que quieras a un vídeo.

Si has utilizado programas de edición de imágenes, vídeo o audio, probablemente ya hayas usado FFmpeg. Dado su carácter gratuito y de código abierto, muchos otros aplicaciones con GUI utilizar FFmpeg para proporcionar procesamiento backend. Ysted podría haber trabajado fácilmente con FFmpeg en línea sin saberlo.

Es importante destacar que FFmpeg NO es un codificador para principiantes que quieran emitir en directo. A las nuevas emisoras les convendría empezar con un codificador gratuito como Estudio OBS. También podrían plantearse invertir en opciones de software de codificación de pago, como Wirecast, vMix y VidBlasterX. FFmpeg es para personas con conocimientos más avanzados de codificación y emisión.

Cómo funcionan las herramientas de transmisión en directo de FFmpeg

FFmpeg rtmp stream
FFmpeg ofrece una impresionante colección de herramientas de transmisión en directo que funcionan con la mayoría de entradas y salidas.

En cuanto a transmisión de vídeo en directo FFmpeg ofrece una variedad relativamente amplia de herramientas. FFmpeg admite muchas entradas de vídeo y audio accesibles desde el ordenador. Entre ellas están las cámaras web, los micrófonos USB y las cámaras que se conectan mediante tarjetas de captura.

Además, puede especificar una salida como flujo RTMP dirigido a su splataforma de. FFmpeg aceptará su información de acceso para permitirle transmitir a este destino. Esto proporciona una sencilla interfaz de línea de comandos funcionalidad de transmisión en vivo. En este caso, FFmpeg actúa como el software de codificación en directo. Puedes utilizar FFmpeg para transmitir en directo.

Una aplicación importante de FFmpeg es la mezcla de una producción compleja en directo. Para esta función, es posible que desee tener un ordenador potente dedicado a capturar las señales de varias cámaras. Para mezclar complejas producciones en directo se necesita mucha potencia de procesamiento.

Un ingeniero situado en esta cámara mezcla el contenido de vídeo en tiempo real. A continuación, el ingeniero puede enviar una señal a otro ordenador que ejecute FFmpeg. Este ordenador, a su vez, puede retransmitir en directo el resultado final. FFmpeg ofrece transcodificación y streaming en tiempo real.

Esta configuración divide eficazmente la carga de procesamiento entre varias máquinas.

Cómo descargar e instalar FFmpeg

Para utilizar FFmpeg para la transmisión en directo, primero debes descargar el software.

La forma más fácil de descargar FFmpeg es desde directamente en el sitio web. La instalación tendrá un aspecto diferente según el sistema operativo que utilice.

Aquí tienes un breve tutorial para configurar FFmpeg en Linux, macOS y Windows.

1. Instalación de Linux

El sitio FFmpeg tiene paquetes Linux para Debian, Ubuntu, Fedora y Red Hat Enterprise Linux. Muchos otros distros deberían poder instalar FFmpeg fácilmente usando su variación de localización del comando install. Por ejemplo:

sudo apt-get install ffmpeg

Sin embargo, recomendamos compilar FFmpeg usted mismo porque este enfoque le permite transmitir vídeos RTMP a través de la biblioteca librtmp. Para ello, utilizaremos Ubuntu como distro de ejemplo.

Para empezar, ejecute los siguientes comandos:

$ sudo apt-get update

$ sudo apt-get install build-essential git libssl-dev

ffmpeg file logs

A continuación, recupera el código fuente de librtmp en el repositorio oficial de git.

$ git clone git://git.ffmpeg.org/rtmpdump

A continuación, navegue por la carpeta del repositorio local. Una vez allí, ejecute el proceso de compilación.

$ cd rtmpdump

$ cd librtmp

$ make

A continuación, instale la biblioteca en el directorio raíz de su sistema.

# DESTDIR=/usr make install

A continuación, deberá instalar y compilar manualmente libaacplus. También es necesario instalar otras dependencias. En este punto, ejecutarás los siguientes comandos:

$ sudo apt-get install libfftw3-dev pkg-config autoconf automake libtool unzip

$ wget https://tipok.org.ua/downloads/media/aacplus/libaacplus/libaacplus-2.0.2.tar.gz

$ tar -xzf libaacplus-2.0.2.tar.gz

$ cd libaacplus-2.0.2

$ ./autogen.sh –enable-shared –enable-static

$ make

$ sudo make install

$ sudo ldconfig

# apt-get install yasm libfaac-dev libfdk-aac-dev libfreetype6-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libopenjpeg-dev libopus-dev libschroedinger-dev libspeex-dev libtheora-dev libvo-aacenc-dev libvorbis-dev libvpx-dev libx264-dev libxvidcore-dev

Ahora, recuperarás el código fuente de ffmpeg del repositorio oficial git:

$ git clone https://github.com/FFmpeg/FFmpeg.git

Vaya a la carpeta del repositorio local y ejecute el proceso de compilación:

$ cd FFmpeg

$ ./configure –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-libaacplus –enable-libfaac –enable-libfdk-aac –enable-libfreetype –enable-libmp3lame –enable-libopencore-amrnb –enable-libopencore-amrwb –enable-libopenjpeg –enable-openssl –enable-libopus –enable-libschroedinger –enable-libspeex –enable-libtheora –enable-libvo-aacenc –enable-libvorbis –enable-libvpx –enable-libx264 –enable-libxvid –prefix=/usr/local –enable-librtmp

$ make

Por último, utiliza este código para instalar ffmpeg en el directorio raíz de tu sistema:

# make install

2. Instalación de macOS

Al igual que con Linux, recomendamos macOS compilar una versión personalizada de FFmpeg. Puede hacerlo con la ayuda del gestor de paquetes Brew.

También necesitarás instalar herramientas de línea de comandos. Para configurar estas dependencias, utilice los siguientes comandos en la aplicación “Terminal” y, a continuación, siga las indicaciones que puedan aparecer:

xcode-select –install

/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”

Una vez que hayas configurado las herramientas de línea de comandos y Brew, estás listo para instalar FFmpeg.

Utilice los siguientes comandos en su terminal:

ffmpeg terminal

Primero, instala librtmp con brew:

brew install librtmp

A continuación, instale libx264 con brew:

brew install libx264

A continuación, instala libfdk-aac con brew:

brew install fdk-aac

Por último, instala FFmpeg con todas las librerías específicas:

brew install ffmpeg –enable-libfdk-aac –with-x264 –with-rtmpdump

3. Instalación en Windows:

Los usuarios de Windows pueden instalar FFmpeg utilizando paquetes preconstruidos en la página “Builds” del sitio web de sitio web de FFmpeg.

Cómo utilizar FFmpeg para la transmisión en directo

Para empezar a retransmitir en directo con FFmpeg, tienes que descargar e instalar el software en tu ordenador. Puedes elegir el método de instalación adecuado para tu sistema operativo entre las tres opciones anteriores en este tutorial de FFmpeg.

En este punto, también puedes crear un canal de streaming en tu plataforma de alojamiento de vídeos.

Una vez instalado FFmpeg en tu ordenador, es hora de conectarlo a tu solución de alojamiento de vídeo. Puedes conectar FFmpeg como codificador. Tu gestor de alojamiento de vídeo te proporcionará las credenciales para introducirlas en FFmpeg.

Estas credenciales se encuentran normalmente en la sección de configuración del codificador de tu canal de streaming en tu plataforma de alojamiento de vídeo, e incluyen el nombre de usuario, la contraseña, el nombre del stream y la URL del stream.

A partir de ahí, tendrás que introducir las credenciales en FFmpeg. Tendrás que pegar el siguiente fragmento de código en el editor de texto o CLI:

$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://p.ep246802.i.akamaientrypoint.net/EntryPoint flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=123456 pubPasswd=789123 playpath=dclive_1_1@246802”

Tendrás que sustituir el texto “rtmp://…” por el enlace URL de tu flujo, poner “pubUser” a tu nombre de usuario, “pubPasswd” a tu contraseña y “playpath” a tu nombre de flujo.

Al ejecutar este comando, comenzará una transmisión en directo x264 con una resolución de 480p (reducida de 1080p HD) a una tasa de bits de 1600 kbps, con un búfer de 900kb.

Notas importantes sobre FFmpeg Live Streaming

Aquí tienes otras cosas que debes tener en cuenta cuando retransmitas en directo con FFmpeg:

  • También debe sustituir “-f lavfi -i testsrc” por “-i” y, a continuación, la fuente de alimentación de su propia cámara u otro programa (-i /su_ruta_de_fuente). De lo contrario, no tendrás tu transmisión en directo, sino sólo la pantalla de prueba.
  • Un error tipográfico recurrente en el uso de fdk aac durante el proceso de instalación, es necesario introducir “-enable-fdk-aac” pero cuando se utiliza en el comando es “-c:a libfdk_aac”
  • Para mejorar la calidad, puedes cambiar el indicador “preestablecido” a “rápido” en lugar de “ultrarrápido”.
  • Si desea una latencia baja, puede añadir el indicador “-tune zerolatency” directamente después del indicador de preajuste. Ambos comandos requieren potencia de procesamiento adicional.
  • Para aumentar el tamaño del búfer y conseguir una reproducción más fluida, sustituye “-b 900k” por “-buffsize 3000k”.
  • Asegúrate de que utilizas la mejor configuración para ti. Por ejemplo, puedes ajustar la velocidad de bits de vídeo y audio en función de tu conexión a Internet, la resolución a esa velocidad y el intervalo entre fotogramas clave a 2 segundos.

Consulte nuestras guías dedicadas para utilizar FFMPEG con Dacast en Linux y Mac.

Cómo transmitir en directo con FFmpeg y Dacast

Solución de transmisión en directo Dacast FFMpeg
FFmpeg funciona perfectamente para la transmisión en directo con Dacast.

Una vez que hayas descargado y configurado FFmpeg, estarás listo para emitir en directo a través de Dacast. Ofrecemos carga segura de vídeos y muchas otras funciones para que la retransmisión en directo sea accesible a todo tipo de emisoras.

Veamos los tres pasos para configurar FFmpeg para transmitir en directo a través de Dacast. Este es un sencillo tutorial de FFmpeg para trabajar con Dacast.

1. Abrir Dacast’s Encoder Setup

En primer lugar, debe recopilar la información de configuración del codificador de su cuenta Dacast.

En un navegador web, visite el sitio web de Dacast e inicie sesión en su cuenta. Haga clic en (o cree) el canal en directo por el que desea transmitir y, a continuación, haga clic en “Configuración del codificador”.

Seleccione “Otro codificador RTMP” en la parte izquierda de la pantalla.

2. Encuentre sus credenciales

En la parte derecha de la pantalla, copie estos datos: Nombre de usuario, Contraseña, URL del flujo y Nombre del flujo.

3. Ejecute el siguiente comando

A continuación, copia el comando en un editor de texto o directamente en tu CLI como describimos anteriormente en el tutorial general de FFmpeg. Asegúrate de introducir correctamente la URL, el nombre de usuario, la contraseña y el nombre del canal.

De nuevo, el comando debería tener este aspecto:


$ ffmpeg -re -f lavfi -i testsrc -c:v libx264 -b:v 1600k -preset ultrafast -b 900k -c:a libfdk_aac -b:a 128k -s 1920×1080 -x264opts keyint=50 -g 25 -pix_fmt yuv420p -f flv “rtmp://


[STREAM URL]


flashver=FMLE/3.020(compatible;20FMSc/1.0) live=true pubUser=


[LOGIN]


Contraseña=


[PASSWORD]


playpath=
[STREAM NAME]

Una vez insertado ese comando, debería estar listo para transmitir.


Consulte nuestra


guía de configuración del codificador


para un tutorial más detallado sobre la configuración de FFmpeg y otros programas similares con Dacast.

Conclusión

FFmpeg es un poco complejo, ya que utiliza una interfaz de línea de comandos, pero no se puede negar que este potente software es muy útil en la situación adecuada y con los conocimientos adecuados. Esperamos que este artículo tutorial sobre FFmpeg te haya proporcionado las herramientas y la confianza necesarias para utilizar FFMPEG para emitir en directo flujos.

Si desea recibir regularmente consejos sobre retransmisiones en directo y ofertas exclusivas, le invitamos a unirse a nuestro grupo de grupo de LinkedIn.

¿Busca una plataforma de streaming en directo y alojamiento de vídeo para sus proyectos de retransmisión en directo? Si es así, ¿por qué no prueba Dacast? Ofrecemos una prueba gratuita de 14 días (sin necesidad de tarjeta de crédito) y nos encantaría ayudarte a probar todas nuestras funciones hoy mismo.

EMPIECE GRATIS

Gracias por leer y ¡suerte con sus emisiones en directo!

Max Wilbert

Max Wilbert is a passionate writer, live streaming practitioner, and has strong expertise in the video streaming industry.