141 - Screencast en Linux
Tienes muchas opciones para hacer screencast en Linux, vamos, para grabar un vídeo del escritorio. En este podcast te cuento sobre algunas de ellas.
En el episodio 137, en el que te comenté los objetivos de este proyecto para el 2020, te adelanté que uno de los mismos era iniciarme en YouTube. Pero, comenzar de verdad, no como hasta el momento, en el que he subido algún video de forma esporádica, o he subido los audios del podcast en formato de vídeo, para quien lo quiera consumir de esta forma. El objetivo es crear vídeos, eso si vídeos cortos. Se trata de producir pequeñas píldoras. Píldoras donde explicar de una forma visual, aquello que soy incapaz de explicar mediante el blog o el podcast. Se trata de series o monográficos temáticos. Como ya te puedes imaginar, en mi caso, es imprescindible grabar el escritorio, pero no se trata únicamente de grabar el escritorio, también quiero añadir algunos aspectos que considero realmente importantes, al menos para mi, y sobre todo para comunicarme contigo. Así en este nuevo episodio del podcast, te voy a comentar que opciones tienes para grabar el escritorio, vamos, para lo que se conoce como screencast en Linux.
Screencast en Linux
Requerimientos
Antes de comentarte las opciones que tienes para realizar screencast en Linux, me gustaría contarte cuales son mis requerimientos o que formato quiero darle al vídeo. Creo que es importante para lo que te voy a contar a continuación.
Así, además de realizar el screencast en Linux, básicamente grabar el escritorio, quiero que los vídeos cuenten con dos aspectos que considero importantes.
Como te he indicado se trata de hacer vídeos en el que te explico como hacer algo, o alguna característica particular. Evidentemente para esto necesito mostrar el escritorio y la aplicación que estoy utilizando, pero no solo esto. También considero, que es necesario, mostrarte que es lo que estoy escribiendo. Básicamente, que veas las teclas que estoy pulsando. No tiene ningún sentido que te hable sobre atajos de teclado, y que no los veas. ¿No te parece?
Por otro lado, quiero aparecer en el vídeo… no como protagonista de una película, sino como el que está detrás del teclado. Considero que es un aspecto muy importante, y en este sentido, estoy trabajando para hacerme la vida más fácil, a la hora de producir estos vídeos.
Por supuesto, la idea es grabar audio y vídeo, aunque no descarto grabar algún gif animado de una acción concreta. Sin embargo, esto será algo puntual y esporádico.
Indicarte que tengo varias pantallas, y solo quiero grabar una de ellas, utilizando otra para las notas de la grabación o para documentar lo que estoy haciendo en el vídeo.
Para finalizar con esto de los requerimientos para hacer screencast en Linux, están los atajos de teclado. Esto es fundamental. Tanto para iniciar, como para pausar o detener el vídeo, tiene que ser por atajo de teclado, no desplazando con el ratón hasta llegar al indicador de la aplicación.
Opciones para realizar screencast en Linux
A continuación te comento algunas de las opciones que he barajado para hacer screencast en Linux. Por supuesto, que te contaré cual es la opción elegida y porqué, y de la misma forma, me gustaría me indicaras si conoces alguna otra opción. Y lo que me parece mas importante, ¿que opción utilizas tu para hacer screencast en Linux?.
Sin utilizar software adicional
Ubuntu, te permite grabar por defecto el escritorio sin necesidad de recurrir a herramientas adicionales. Simplemente tienes que utilizar el atajo de teclado Ctrl+Alt+Mayúsculas+R
, tanto para iniciar como para detener la grabación.
Sin embargo tienes varios inconvenientes. El primero es que está limitado a 30 segundos. Este problema se puede soslayar, tan solo tienes que establecer este tiempo a 0. Para hacer esto, ejecuta la siguiente instrucción,
gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 0
¿Como sabes si estas grabando? En el área de indicadores verás un icono que te indica si estás grabando o no.
El problema de esta opción es que graba todo el escritorio. Graba todas las pantallas, y no puedes indicar que solo quieres una de ellas. Otro problema es que no puedes mostrar una webcam.
Kazam
Kazam es una herramienta que se adapta bastante a mis necesidades. Tiene algunas características interesantes,
- permite seleccionar la fuente de audio
- muestra una cuenta regresiva para indicar que empieza la grabación
- te permite establecer tanto la tasa de grabación, como el formato como realizar guardado de forma automática.
Aunque no aparece en la aplicación, lo cierto es que tiene atajos de teclado para realizar las operaciones básicas,
Super+Ctrl+R
para empezar la grabaciónSuper+Ctrl+P
te permite pausar la grabaciónSuper+Ctrl+F
es el que te permite detener la grabaciónSuper+Ctrl+Q
con el que podrás salir de Kazam
Está pendiente una nueva versión que incorpora interesantes características que me vendrían perfecto. Aunque por lo que he visto en el proyecto, esto está pendiente desde hace bastante tiempo, con lo que no tengo claro que en algún momento vea la luz.
- insertar una ventana con la webcam
- capturar vídeo directo de la webcam
- capturar los clics del ratón y las teclas pulsadas
- emisión directa en YouTube y otras plataformas.
Como ves cualquiera de estas opciones es perfecta… a ver si tenemos suerte. Y si no, a lo mejor, es necesario forzarla.
Simple Screen Recorder
Simple Screen Recorder es otra opción que he estado barajando porque cumple con bastantes de los requerimientos indicados anteriormente.
Así, permite seleccionar si quieres grabar todo el escritorio, o bien una pantalla en concreto o incluso una zona. Igualmente te permite seleccionar la tasa de fotogramas, o elegir si quieres grabar el cursor.
También te permite grabar el audio, y no solo esto, sino que también te permite seleccionar la fuente de origen del audio.
Puedes configurar el archivo de salida, tanto el formato del contenedor, como del audio como del vídeo.
Y por último, y como un imprescindible, te permite definir los atajos de teclado, que necesites para gestionar la aplicación sin que necesites utilizar el ratón.
OBS Studio
OBS Studio probablemente sea la herramienta perfecta e ideal para lo que estoy buscando. Cumple con todos los requisitos que he indicado al principio del podcast. Sin embargo, ahora mismo lo veo demasiado. Mi objetivo es grabar vídeos cortos de 5 o 10 minutos. Lo que no quiero es dedicar una hora para grabar 5 minutos. Esto sería todo un problema.
Dicho esto, no descarto utilizar OBS Studio en un futuro. Va a depender básicamente de lo que consiga con las otras herramientas.
OBS Studio es una historia completamente distinta a lo que has visto hasta el momento, y al resto de herramientas que te comentaré mas adelante. Es como mezclar churras con merinas. Se trata de una completa herramienta de grabación de vídeo y streaming en vivo.
Entre algunas características que mas me han llamado la atención, están las siguientes,
- Permite el uso de múltiples escenas. Una escena es una composición, donde puedes mostrar varias fuentes de vídeo, imágenes, etc. Las fuentes, puede ser desde una webcam, pasando por una captura de pantalla, una galería de imágenes, etc.
- Como ves, permite mostrar una webcam en el vídeo.
- Tiene atajos de teclado. Sin embargo, no están predefinidos, sino que los tienes que establecer tu.
- Permite el vídeo directo en YouTube y en otras plataformas.
En fin, que como ves se adapta perfectamente a mis necesidades y requerimientos, y como te decía no descarto utilizarlo, aunque me parece demasiado para lo que quiero hacer.
Otras herramientas
También he barajado otras opciones para hacer screencast en Linux como puden ser,
Sin embargo, por una razón u otra, estas cuatro opciones no se adaptan a mis requerimientos, aunque te las comento aquí por si tu quieres darles una oportunidad.
Mi elección
Al menos de momento me voy a quedar con Kazam para hacer screencast en Linux. Sin embargo, como sabes, no cumple con todos los requerimientos que he indicado en la introducción. Básicamente le falta, mostrar las teclas que pulso y la webcam. Para resolver estos dos problemas, te indico las alternativas que estoy barajando.
Teclas
Para mostrar las teclas utilizaré de momento, Screenkey, aunque no me termina de convencer la solución. Aunque el resultado es el que busco, echo en falta algún detalle. Pero esto ya lo solucionaré mas adelante.
Webcam
En el caso particular de la webcam tengo dos opciones. Por un lado utilizar directamente esta solución,
mplayer tv:// -tv driver=v4l2:width=400:height=300 -vo xv -geometry 100%:100% -noborder
Y la otra opción, que es por la que me voy a decantar es utilizar cameras. Una aplicación que desarrollé hace algo mas de tres años, y sobre la que estoy trabajando para actualizar, puesto que tengo ya las herramientas para que funcione perfecta, y se adapte justo a lo que necesito.
Esta es una herramienta que te permite tener en tu escritorio un widget con lo que se muestra en una cámara online o en una webcam, y que es precisamente lo que voy a utilizar en esta ocasión.
Conclusión
Mas o menos, lo tengo claro, la combinación Kazam con Screenkey aunque con visos a reemplazarlo, y la tercera Cameras de producción propia.
Y tu ¿como haces tu screencast en Linux?
Más información,
Imagen de portada de Clem Onojeghuo en Unsplash