https://esgeeks.com/?p=2990
FFMPEG: Grabar Pantalla en Linux desde Línea de Comandos
5 (100%) 11 votes

¿Necesita grabar su pantalla en un escritorio Linux pero no está satisfecho con los screen recorders que están disponibles? Considere esta poderosa herramienta de encoding:  FFMPEG.

FFMPEG es muy versátil y puede hacer muchas cosas, incluida la captura de pantalla en el escritorio de Linux.

La configuración de FFMPEG es un poco más compleja que presionar un botón “grabar” (“record”) en un programa, pero créeme, ofrece mucha potencia real, automatización y personalización que otras herramientas de grabación GUI en Linux no ofrecen.

1. Instalación de FFMPEG

Ubuntu

sudo apt install ffmpeg

Debian

sudo apt-get install ffmpeg

Arch Linux

sudo pacman -S ffmpeg

Fedora

sudo dnf install ffmpeg

OpenSUSE

sudo zypper install ffmpeg
Cómo instalar FFMPEG en Linux

Cómo instalar FFMPEG en Linux

Para otros Linux

La utilidad de codificación FFMPEG es una de las herramientas de video más utilizadas en Linux y en los sistemas operativos en general. Es por eso que la herramienta es compatible con casi todas las distribuciones de Linux.

Si por alguna razón, el sistema operativo Linux que utiliza no es compatible con FFMPEG con un paquete binario, lo mejor es instalar el software manualmente, desde el repositorio Github de FFMPEG.


Para hacer esto, primero, asegúrese de tener instalada la herramienta git. Una vez instalado, abra una terminal y haga lo siguiente:

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

Ingrese el directorio FFMPEG con el comando CD.

cd FFmpeg

Antes de comenzar a compilar el software, deberá crear un nuevo archivo de configuración. Esto es para que el software conozca su sistema y pueda compilarlo correctamente.

./configure

¿Tiene problemas con ./configure ? Intenter:

./configure --help

El siguiente paso en el proceso de compilación es usar el comando make.

make

Por último, instale el software en el sistema con el comando de instalación.

sudo make install

2. Grabar tu pantalla en Linux

El software FFMPEG es muy versátil y puede configurarse para hacer casi cualquier cosa, incluida la captura de video.

Dicho esto, el tipo predeterminado de captura visual funciona al capturar cada pantalla disponible. Es crudo, pero funciona.

Para usarlo, abre una ventana de terminal. Dentro de la terminal, antes de comenzar la captura, es una buena idea crear una carpeta especial para trabajar. De esta forma, todas las grabaciones van allí, en lugar de ir a lugares aleatorios.

Usando el comando mkdir para crear una nueva carpeta de captura dentro de ~/Videos.

mkdir -p ~/Videos/ffmpeg-capturas/

Luego, mueva la terminal al nuevo directorio, de modo que la captura se realice allí, en lugar de en otra ubicación.

cd ~/Videos/ffmpeg-capturas/

Ahora puede comenzar a grabar su pantalla. Aquí está el comando de captura básica:

ffmpeg -f x11grab -r 30 -s cif -i :0.0 record1.mp4

Cannot open display :0.0, error 1

Si le da el error 'Invalid MIT-MAGIC-COOKIE-1', escriba el comando 'echo $DISPLAY' y coloque el resultado al lado de '-i'. En algunos casos suele ser :1 y no :0.0
Grabar pantalla en Linux desde la terminal

Grabar pantalla en Linux desde la terminal

Arriba, el comando está configurado para grabar el escritorio a 30 fotogramas por segundo y enviarlo a un archivo llamado record1.mp4 .

Grabar pantalla Linux FFMPEG

Grabar pantalla Linux con FFMPEG

En su mayor parte, el casting de pantalla a 25 FPS está bien. Sin embargo, si está buscando grabar algo que requiera una alta velocidad de cuadros (como videojuegos o imágenes en movimiento), considere cambiar los 30 a 60.

Recomendación

Tenga en cuenta que cambiar el FPS de 30 a 60 dará como resultado un rendimiento más lento en computadoras más débiles. Antes de hacer esto, intente y descubra si su computadora Linux puede manejar el rendimiento de antemano.

Salga de la grabación en cualquier momento tocando la tecla q en el teclado.

3. Grabar pantalla y cámara web


Es posible capturar el escritorio en FFMPEG y grabar desde su cámara web al mismo tiempo. Para hacerlo, necesitarás usar dos comandos separados. El primer comando que usará mostrará la cámara web activa actualmente conectada a Linux. El segundo comando es la captura de pantalla.

Para el primer comando, abra una ventana de terminal e ingrese lo siguiente:

ffplay -f video4linux2 -i /dev/video0 -video_size 320x240 -fflags nobuffer

Esta configuración mostrará una ventana de cámara web con casi ninguna latencia directamente en la pantalla con una resolución de pantalla de 320 × 240.

No se preocupe por el tamaño, ya que se verá bien en la grabación. Siéntase libre de agarrar la ventana de la cámara y ponerla en el lugar que desee. Además, si su administrador de ventanas admite la ocultación, considere hacer desaparecer los controles de la ventana de la cámara para obtener un mejor efecto.

Nota

Si no le gusta la resolución de 320 × 240 , considere cambiarla a otra cosa. Consulte el manual de la cámara web para encontrar la resolución perfecta para usar, pero recuerde, no use una resolución superior a la que el dispositivo puede manejar.

Mientras el primer terminal está abierto, su cámara web se mostrará en el escritorio. A continuación, abra una segunda ventana de terminal para comenzar la grabación real:

cd ~/Videos/ffmpeg-capturas/
ffmpeg -f x11grab -r 30 -s cif -i :0.0 record2.mp4

Mientras estas dos ventanas de la terminal estén abiertas, grabará el escritorio a 30 FPS y mostrará una cámara web.

Para detener la grabación, vaya a la ventana de FFMPEG y presione “q” para salir, luego vaya al terminal FFPLAY (el que transmite la cámara) y presione Ctrl + Z.

FFMPEG en Linux

Directorio de Grabación FFMPEG

Finalmente, las grabaciones terminadas se guardan en ~/Videos/ffmpeg-capturas/. Si te ha gustado este artículo compártelo con los demás 😉

¡Mantente actualizado!

Suscríbete a nuestro boletín semanal...

Suscríbete a nuestro boletín electrónico para recibir artículos útiles y ofertas especiales. No te perderás absolutamente de nada!

Enviaremos solamente boletines al email y no compartiremos tu email.