Cómo crear un Screencast en Linux

Una cámara web sentada en un teclado frente a la pantalla de una computadora.
Proxima Studio / Shutterstock.com

¿Quiere hacer un screencast en Linux pero se siente abrumado por la elección de herramientas y programas? Describimos tres formas de crear un screencast. La forma rápida y fácil, la forma estricta y granular, y la forma en que pensamos es la mejor todoterreno.

Cómo filmar un buen screencast

Para crear un screencast, debe registrar lo que está sucediendo en su escritorio, junto con los comentarios que está agregando. Eso requiere la capacidad de grabar video desde su escritorio y audio desde su subsistema de sonido Linux, y posiblemente también de otras fuentes.

Cuando veas un buen screencast, notarás que el comentario o la narrativa son precisos. Está pulido. La entrega tiene confianza y claridad. No hay lugar para «um y ah» cuando está produciendo un screencast. Son dolorosos de escuchar y hacen que su screencast se sienta como un aficionado. Eso es exactamente lo opuesto al efecto que estás intentando crear. Quieres que tu audiencia sienta que eres una autoridad en lo que sea de lo que estás hablando. Parecer que te estás abriendo camino no es la forma de hacerlo.

Debido a esto, muchos de los screencasts más elegantes tienen su pista de audio grabada y editada por separado y luego mezclada nuevamente en el video de la pantalla. Es un tema demasiado extenso para cubrirlo en un artículo pequeño, por lo que vamos a buscar formas de grabar el audio y el video de escritorio al mismo tiempo. Eso no significa que estés condenado a parecer un aficionado. Existen técnicas sencillas que puede utilizar para mejorar la calidad de su presentación verbal.

Los más elementales, pero los más impactantes, son un guión y una práctica. Ejecute su screencast varias veces antes de intentar grabarlo. Tome notas para saber lo que quiere decir y los puntos sobre los que quiere llamar la atención. No se deje intimidar por la palabra «guión». No es necesario que sea un documento sofisticado. Una página o dos de viñetas fáciles de leer serán de gran ayuda. Paradójicamente, no querrás distraerte tratando de leer el guión cuando se supone que debes estar hablando.

Dedique tiempo a los ensayos en seco. Hay una razón por la que los profesionales tienen ensayos. Es muy difícil avanzar paso a paso por el tema que desea describir, controlar el software que está utilizando para hacer screencasts y aun así ofrecer una buena interpretación verbal.

Elija un buen micrófono (y cámara, si lo desea)

Vas a necesitar algo para grabar tu voz. Eso significa comprar un micrófono si aún no tienes uno. Sería un pequeño milagro si el integrado en su computadora portátil fuera lo suficientemente bueno. No tiene por qué costar una fortuna, pero un micrófono externo razonable que le permita hablar con naturalidad y grabar a un buen volumen es absolutamente imprescindible. Y defenderlo pagará dividendos.

Si quieres filmarte a ti mismo para aparecer en tu screencast, necesitarás una cámara. Si todo lo que va a grabar es su cabeza y hombros para que pueda ser visto en una pequeña ventana en una esquina de su screencast, no necesita una cámara de calidad cinematográfica. Pero necesitará algo un paso más allá de la cámara web incorporada básica que vino con su computadora portátil. Una cámara separada significa que puede colocarla donde la necesite.

El enfoque automático, el ajuste automático de la luz y un sensor de buena resolución son factores importantes. No es descabellado que una cámara de buena calidad tenga un micrófono suficiente para sus necesidades. Entonces, si está buscando una cámara y un micrófono, obtenga la cámara primero y vea si el micrófono está a la altura.

Clips cortos y sencillos: utilice la grabadora incorporada de GNOME

Vale la pena mencionar de pasada que si usa el entorno de escritorio GNOME  (DE), tiene acceso a una sencilla grabadora de pantalla integrada en su DE, pero sin audio. Si necesita un videoclip corto y silencioso, esto será suficiente. Por ejemplo, sería perfecto crear un pequeño clip para enviar a alguien y mostrarle los pasos necesarios para reproducir un error.

Para comenzar a registrar la actividad en su escritorio, simplemente presione:

Ctrl + Mayús + Alt + R

La grabación de pantalla comenzará inmediatamente. Aparecerá un indicador circular rojo en el área de notificación de la herramienta, cerca de los íconos de red, sonido y energía.

Relacionado:  Cómo pausar un script Bash con el comando de suspensión de Linux

Indicador rojo de "grabación" en el área de notificación

Para detener la grabación, use la misma combinación de teclas:

Ctrl + Mayús + Alt + R

El indicador de grabación se elimina del área de notificación cuando se detiene la grabación.

El indicador de grabación se elimina del área de notificación. Su grabación se almacena en su ~/Videosdirectorio con un nombre de archivo con marca de tiempo. El archivo tendrá una extensión «.webm», lo que indica que se ha grabado en formato de vídeo WebM .

Screencast con nombre de archivo con marca de tiempo en el directorio de videos

Si desea cargar su grabación en YouTube , deberá convertirla al formato MPEG-4 (MP4) . Veremos cómo hacerlo en breve, utilizando otra herramienta que veremos llamada  ffmpeg.

Tenga en cuenta que, de forma predeterminada, la duración máxima de grabación es de 30 segundos. Puede ajustar eso usando el dconf-editor . El escenario se encuentra debajo org > gnome > settings-daemon > plugins > media-keys. Se llama a la configuración para ajustar max-screencast-length.

dconf-editor con la longitud máxima de screencast resaltada

Rápido y fácil: Grabe con recordMyDesktop

recordMydesktop es una herramienta de grabación de audio y pantalla sencilla y directa . Le permite grabar su escritorio, una sección del escritorio o una ventana de aplicación específica.

Para instalar recordMyDesktop en Ubuntu, use este comando:

sudo apt-get install recordmydesktop gtk-recordmydesktop

sudo apt-get install recordmydesktop gtk-recordmydesktop en una ventana de terminal

Para instalar recordMyDesktop en Fedora, use este comando:

sudo dnf instalar recordmydesktop gtk-recordmydesktop

sudo dnf instala recordmydesktop gtk-recordmydesktop en una ventana de terminal

Para instalar recordMyDesktop en Manjaro, use este comando:

sudo pacman -Syrecordmydesktop gtk-recordmydesktop

/home/dave/Documents/Development/how-to-geek/screencast/images/borders/40.png en una ventana de terminal

La interfaz de usuario es muy sencilla.

De forma predeterminada, recordMyDesktop registrará todo el escritorio. Para grabar una parte del escritorio, haga clic con el botón izquierdo y arrastre la miniatura de vista previa. Esto definirá una parte de la pantalla que se utilizará para grabar. Para grabar una sola ventana de aplicación, haga clic en el botón «Seleccionar ventana», luego haga clic en la ventana de la aplicación en su escritorio.

interfaz de usuario recordMydesktop

Cuando esté listo para grabar, haga clic en el botón «Grabar». Aparecerá un indicador rojo en el área de notificación cerca de los íconos de red, sonido y energía.

recordMydesktop indicador en el área de notificación

Haga clic con el botón izquierdo en el indicador y seleccione «Detener» en el menú para detener la grabación. RecordMyDesktop procesa la grabación para que se pueda guardar. Si cancela este proceso, perderá su grabación.

recordMydesktop diálogo procesando la grabación

Cuando se haya procesado la grabación, haga clic en el botón «Guardar como» para guardar su screencast. Un cuadro de diálogo «Guardar archivo» le permite elegir dónde guardar la grabación.

recordMydesktop cuadro de diálogo para guardar archivo

La grabación está en formato de video «.ogv» Ogg . Es el único formato proporcionado. Para convertir el archivo a un formato de video diferente, puede usar la siguiente herramienta que discutiremos, que es  ffmpeg.

Desde la línea de comandos: ffmpeg

El proyecto FFmpeg lanzó su primera versión de la ffmpegutilidad en el año 2000. Su visión original de un programa útil de conversión de gráficos y video ha sido superada con creces. ffmpeges ahora un conjunto de herramientas y códecs tremendamente capaz , y se utiliza en muchas otras aplicaciones conocidas como  VLC , Plex y Blender .

Si alguna vez necesita hacer alguna grabación de audio o video o conversión de formato, y se pregunta si ffmpegpuede hacerlo, puede dejar de preguntarse. Básicamente, la respuesta es «sí».

ffmpegtiene muchas, muchas opciones. Aquí hay una lista de ffmpegopciones que se extiende a más de 4000 líneas . Esa riqueza de funciones enriquecidas plantea una gran curva de aprendizaje si desea hacer algo más allá de las simples conversiones de formato. No hay una interfaz bonita ffmpeg , pero lo que le falta en términos de interfaz lo compensa en potencia, velocidad y flexibilidad. Y como está controlado por línea de comandos, puede llamarlo desde scripts. Puede registrar la salida transitoria de comandos desatendidos o registrar la actividad de la pantalla de la GUI que no se puede redirigir a un archivo.

Durante nuestras pruebas,  ffmpegtuvo que estar instalado en Fedora 31 y Ubuntu 18.04. Ya estaba presente en Manjaro 18.1.0. Para instalar ffmpegen Ubuntu, use este comando:

sudo apt-get install ffmpeg

sudo apt-get install ffmpeg en una ventana de terminal

Para instalarlo en Fedora se requirió la adición de dos repositorios. Este comando registrará el primero:

sudo dnf -y instalar https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E% fedora) .noarch.rpm

sudo dnf -y instala https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E% fedora) .noarch.rpm en una ventana de terminal

Este comando registrará el segundo:

sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E% fedora) .noarch.rpm

sudo dnf -y install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E% fedora) .noarch.rpm

La ffmpegaplicación ahora se puede instalar con este comando:

sudo dnf -y instalar ffmpeg

sudo dnf -y instala ffmpeg en una ventana de terminal

Cómo grabar video y audio con ffmpeg

Para mantener las cosas (relativamente) simples, haremos una grabación directa de todo el escritorio con audio. Hay bastantes parámetros que debemos proporcionar ffmpegpara hacer esto. Podemos utilizar algunas utilidades que nos ayuden a encontrar los valores de algunas de ellas.

Para identificar las resoluciones de pantalla disponibles, podemos utilizar xrandr. No es necesario que proporcionemos ningún parámetro a este comando :

xrandr

xrandr en una ventana de terminal

La salida enumera todas las resoluciones de pantalla disponibles.

Relacionado:  Cómo usar el comando mkfs en Linux

Salida de la utilidad de pantalla xrandr en una ventana de terminal

La resolución actual, y la más alta disponible en esta máquina de prueba, es 1920 × 1080. Usaremos eso.

Ahora averiguaremos qué fuentes de sonido PulseAudio existen en esta máquina de prueba. Usaremos la pactlutilidad y le pediremos que enumere las fuentes. La sintaxis es refrescantemente simple:

fuentes de la lista pactl

pactl lista de fuentes en una ventana de terminal

Al desplazarse por la salida detallada, podemos ver que hay un source #0, que es una fuente de salida . Eso significa que produce salida de sonido.

salida pactl que muestra que hay una fuente # 0 que es una fuente de salida

Verificar el resto de la salida revela otra fuente llamada  source #1. Esta es una fuente de entrada .

salida de pactl en una ventana de terminal que muestra que hay una fuente n. ° 1 que es una fuente de entrada

Eso significa que la fuente # 1 acepta entrada de sonido. Esto vendría de un micrófono, por ejemplo. Entonces usaremos la fuente # 1 con ffmpegy grabaremos nuestra voz a través del micrófono.

Aquí está el ffmpegcomando completo .

ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i: 0.0 -f pulse -ac 2 -i 1 salida.mkv -async 1 -vsync 1

ffmpeg -video_size 1920x1080 -framerate 25 -f x11grab -i: 0.0 -f pulse -ac 2 -i 1 output.mkv -async 1 -vsync 1 en una ventana de terminal

Analicemos eso:

  • -video_size 1920 × 1080 : Establece el tamaño de la captura de video. Este es el valor que usamos xrandrpara encontrar.
  • -framerate 25 : establece el valor de fotogramas por segundo.
  • -f x11grab : Fuerza el formato de video a un tipo específico. Aquí estamos configurando el formato de entrada a la salida de su servidor X.
  • -i: 0.0 : Esto especifica que la entrada de video vendrá de la pantalla principal.
  • -f pulse : establece el formato esperado para que sea PulseAudio.
  • -ac 2 : establece dos canales de audio
  • -i 1 : toma la entrada de audio de la fuente PulseAudio n. ° 1. Este es el valor que solíamos pactldescubrir.
  • output.mkv : el nombre del archivo que deseamos crear.
  • -async 1 : establece el método de sincronización de audio. Este es un parámetro obsoleto, pero lo usamos aquí para evitar mensajes de error que pueden ignorarse.
  • -vsync 1 : establece el método de sincronización de video. Este es un parámetro obsoleto, pero lo usamos aquí para evitar mensajes de error que pueden ignorarse.

Puede ver mucha información desplazándose en la ventana del terminal a medida que se realiza la grabación. Minimiza esta ventana de terminal o coloca la ventana principal de la aplicación de la que estás hablando encima para que no aparezca en tu screencast.

Mensaje de confirmación en una ventana de terminal que ffmpeg cerró normalmente

Para detener la grabación, ingrese Ctrl + C en la ventana del terminal. Si todo va bien, verá un mensaje de confirmación ffmpeginformando que está saliendo normalmente.

No pusimos una ruta en el nombre del archivo de salida en el ffmpeg comando, por lo que se creará en el directorio desde el que ffmpegse inició. En este ejemplo, ese era nuestro directorio de inicio.

archivo output.mkv creado en el directorio de inicio

Conversión de archivos de video con ffmpeg

Observamos anteriormente que el formato de video preferido para subir a YouTube es MPEG-4. Podemos convertir fácilmente el archivo “.mkv” a un archivo “.mp4” usando ffmpeg. Decimos «convertir», pero en realidad estamos creando un nuevo archivo. Su archivo original está intacto.

El comando es simple. Le decimos ffmpegque use el archivo original como entrada, usando la -iopción (entrada). La extensión de archivo del archivo de salida indica ffmpegqué tipo de archivo crear.

salida ffmpeg -i, salida mkv.mp4

salida ffmpeg -i, salida mkv.mp4 en una ventana de terminal

Se crea un nuevo archivo con una extensión de archivo «.mp4».

Un archivo mp4 creado por ffmpeg, en el directorio de inicio

Para convertir nuestro screencast que fue grabado con el Ctrl+Shift+Alt+Rmétodo al formato de video MPEG-4, use este comando:

ffmpwg -i "Screencast del 11-02-19 10: 47: 05.webm" output.mp4

Capaz pero fácil de usar: use OBS Studio

Si está buscando algo que tenga más capacidades que recordMyDesktop y sea más fácil de manejar que ffmpeg, Open Broadcaster Software Studio (OBS Studio) cumple todos los requisitos.

Instale OBS Studio en Ubuntu con este comando:

sudo apt-get install obs-studio

sudo apt-get install obs-studio en una ventana de terminal

Instale OBS Studio en Fedora con este comando:

sudo dnf instalar obs-studio

sudo dnf instala obs-studio en una ventana de terminal

Instale OBS Studio en Manjaro con este comando:

sudo pacman -Sy obs-studio

sudo pacman -Sy obs-studio en una ventana de terminal

Cómo usar fuentes y escenas en OBS Studio

OBS Studio tiene una gran área de trabajo y una colección de paneles en la parte inferior de la aplicación.

Ventana principal de OBS Studio

Por donde empiezas

Para poner el software a prueba, necesitaba un objetivo, un punto final que pudiera intentar alcanzar. Parecía sensato ver un buen screencast y luego intentar replicar su producción. El screencast que utilicé como plantilla mostraba un escritorio con varias aplicaciones abiertas. Había una pequeña ventana insertada que mostraba una vista del presentador. Ocasionalmente, la pantalla se cambiaba para mostrar una vista ampliada de una sola ventana. Esto permitió discutir un detalle particular. Una voz en off proporcionó la narrativa.

Relacionado:  Cómo verificar el uso de memoria desde la terminal de Linux

Todo eso fue sorprendentemente fácil de replicar en OBS Studio, debido a su concepto de escenas y fuentes . Una fuente en OBS es algo que produce sonido o video. Su escritorio, una ventana en el escritorio, una cámara web, una fuente de audio de salida y una fuente de audio de entrada, como un micrófono, son todas fuentes válidas.

Se puede combinar una colección de fuentes en una escena. Se pueden crear múltiples escenas que contengan diferentes combinaciones de fuentes. Saltar entre escenas se logra con un solo clic del mouse.

Para crear una escena, haga clic con el botón derecho en el panel «Escenas» y haga clic en «Agregar» en el menú contextual. Introduzca un nombre para la escena en el cuadro de diálogo «Agregar escena» y haga clic en el botón «Aceptar».

Ventana de diálogo de agregar escenas de OBS

Las escenas que crea se enumeran en el panel «Escenas».

Panel de escenas de OBS

Hemos creado dos escenas, una para la vista compuesta del escritorio y la cámara web, y otra para la vista ampliada de la ventana del terminal. Necesitamos agregar algunas fuentes a estas escenas. Usaremos la escena «Zoom en la ventana de terminal». Para agregar fuentes a una escena, selecciónela en el panel «Escenas» y luego haga clic con el botón derecho en el panel «Fuentes». Haga clic en «Agregar» en el menú contextual.

Menú de agregar fuentes de OBS

El menú le permite agregar imágenes, entradas y salidas de audio, ventanas de aplicaciones, fuentes de video y otros elementos que quizás desee incluir en el screencast. Vamos a capturar una ventana. Haga clic en la opción de menú «Captura de ventana (Xcomposite)».

En el cuadro de diálogo «Crear / Seleccionar fuente», cree un nombre para la fuente y haga clic en el botón «Aceptar».

OBS crear y seleccionar diálogo de origen para una ventana

En el cuadro de diálogo «Propiedades para captura de ventana», use el menú desplegable «Ventana» para seleccionar la ventana que desea agregar a la escena y haga clic en el botón «Aceptar».

Diálogo de propiedades de la fuente de OBS para una ventana

Repitamos eso y agreguemos una fuente para el micrófono. Haga clic con el botón derecho en el panel «Fuentes» y haga clic en «Agregar» en el menú contextual. La máquina de prueba utilizada para investigar este artículo utilizó PulseAudio . Si estuviera utilizando un esquema diferente como Advanced Linux Sound Architecture (ALSA), seleccionaría diferentes opciones. Elegimos “Captura de entrada de audio (PulseAudio)” en el menú.

En el cuadro de diálogo «Crear / Seleccionar fuente», asigne un nombre a la fuente y haga clic en el botón «Aceptar».

OBS crear y seleccionar el diálogo de origen para un micrófono

En el cuadro de diálogo «Propiedades para ‘Captura de entrada de audio (audio de pulso)'», use el menú desplegable «Dispositivo» para elegir el dispositivo de sonido al que está conectado su micrófono. Haga clic en el botón «Aceptar».

Diálogo de selección de hardware OBS para fuente de sonido

Su panel «Fuentes» ahora debería tener dos fuentes, para la escena actual.

Panel de fuentes OBS con dos fuentes configuradas

Hay muchos ajustes que puede aplicar a sus fuentes. Por ejemplo, en el panel «Mezclador de audio», al hacer clic con el botón derecho en el icono de configuración del micrófono, aparece un menú contextual.

Panel mezclador de audio OBS

Al seleccionar «Filtros» se muestra el cuadro de diálogo «Filtros para ‘Micrófono'».

Filtros OBS para diálogo de micrófono

Para agregar un filtro, haga clic con el botón derecho en el panel de la izquierda y seleccione «Agregar» en el menú contextual. Cada filtro tiene propiedades que se pueden ajustar.

Filtros OBS para el diálogo del micrófono agregando un filtro

Por ensayo y error, nos decidimos por una selección de filtros y configuraciones que funcionaron bien con el micrófono de prueba. Logramos un buen equilibrio entre claridad y volumen y una reducción del ruido de fondo.

Crear una segunda escena fue igual de fácil. El escritorio que estábamos grabando se estaba ejecutando en una máquina virtual. Eso se agregó fácilmente a su escena agregando en la ventana en la que se estaba ejecutando toda la máquina virtual. La cámara web se agregó como una fuente de video y se arrastró y dimensionó para ubicarse en la esquina de la pantalla. Esta es la vista que recibiría la audiencia:

Vista compuesta de screencast de OBS que muestra el escritorio con una ventana insertada que muestra la alimentación de la webcam

Moverse entre las dos escenas es tan simple como hacer clic en el nombre de la escena en el panel «Escenas». La escena de la terminal ampliada proporcionó una vista de pantalla completa del comando Superior en una ventana de terminal.

Aunque puede hacerlo, OBS Studio desaconseja la grabación en formato MPEG-4. Si algo sale mal, es probable que pierda su archivo. En cambio, le aconsejan que grabe en FLV o MKV .

Si necesita entregar su screencast en un formato de video diferente, OBS Studio puede hacer las conversiones por usted o, por supuesto, puede usar ffmpeg.

Luces, CAMARA, ACCION

Puede que nunca llegues a Hollywood, pero si necesitas entregar un screencast bien producido, Linux tiene todas las herramientas que necesitas.