LINUX

Recterm – Grabe videos con audio en una terminal Linux

Generalmente grabamos el terminal con una grabadora de video, pero el video de salida generalmente es borroso y no de alta calidad. ASCIINEMA es una herramienta liviana que graba y comparte sesiones de terminal con video de alta calidad. Los inconvenientes del asciinema es que el video no incluye el audio. El recterm es una herramienta que puede grabar el terminal en un archivo mp4. No necesita ningún reproductor de video como vlc, mplayer para grabar en un mp4 con audio. Este artículo cubre la instalación de Recterm para grabar el terminal en un mp4 con audio usando asciinema, asciinema2gif y ffmpeg.

Instalar asciinema

ASCIINEMA es una herramienta ligera para registrar las actividades de la terminal. Una vez que se completa la grabación del terminal, proporciona una URL para compartir la sesión grabada. Los espectadores pueden simplemente pausar el video, resaltar el comando y copiarlo / pegarlo en su terminal. Instalar asciinema, ejecute el siguiente comando desde la terminal.

 # sudo curl -sL https://asciinema.org/install | sh
 Downloading asciinema v1.2.0 for linux-amd64...
 ########################################100.0%
 Installing to /usr/local/bin/asciinema...
 Success.

Instalar linuxbrew

Linuxbrew es una bifurcación de Homebrew, el administrador de paquetes de Mac OS. Se puede instalar en el directorio de inicio y no requiere acceso de root. Linuxbrew tiene pocas dependencias que instalaremos al principio. Necesitamos linuxbrew para instalar asciinema2gif.

 # sudo apt-get install build-essential curl git python-setuptools ruby

Ahora instale linuxbrew

 # ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install)"

==> This script will install:
 /home/ubuntu/.linuxbrew/bin/brew
 /home/ubuntu/.linuxbrew/Library/...
 /home/ubuntu/.linuxbrew/share/doc/homebrew
 /home/ubuntu/.linuxbrew/share/man/man1/brew.1
 /home/ubuntu/.linuxbrew/share/zsh/site-functions/_brew
 /home/ubuntu/.linuxbrew/etc/bash_completion.d/brew
 /home/ubuntu/.cache/Homebrew/
 .................................................
 .................................................

Agregue la ruta binaria linuxbrew a PATH, las páginas de manual a MANPATH y la ruta de información a la variable de entorno INFOPATH en ~ / .bash_profile.

 # echo 'export PATH="/home/ubuntu/.linuxbrew/bin:$PATH"' >>~/.bash_profile
 # echo 'export MANPATH="/home/ubuntu/.linuxbrew/share/man:$MANPATH"' >>~/.bash_profile
 # echo 'export INFOPATH="/home/ubuntu/.linuxbrew/share/info:$INFOPATH"' >>~/.bash_profile

Cargue el nuevo entorno.

 # source ~/.bash_profile

Linuxbrew recomienda instalar gcc. Lo necesitamos porque al instalar asciinema2gif, brew compilará las dependencias para él.

 # brew install gcc

Verifique la instalación de brew ejecutando el siguiente comando desde el terminal.

 # brew install hello

Instalar asciinema2gif

Instale asciinema2gif usando linuxbrew. Al instalar asciinema2gif, brew también instalará todas las dependencias y estas son gifsicle, xz, pkg-config, libtool, bzip2, jpeg, zlib, libpng, libtiff, freetype, imagemagick, gpatch, openssl, icu4c, libxml2, phantomjs.

 #  brew install asciinema2gif
 ==> Tapping homebrew/dupes
 Cloning into '/home/ubuntu/.linuxbrew/Library/Taps/homebrew/homebrew-dupes'...
 remote: Counting objects: 42, done.
 remote: Compressing objects: 100% (42/42), done.
 remote: Total 42 (delta 0), reused 3 (delta 0), pack-reused 0
 Unpacking objects: 100% (42/42), done.
 .....................................................
 .....................................................

Instalar ffmpeg / sox

Se necesita SOX para comenzar la grabación de audio por separado mientras comenzamos a grabar el terminal. FFMPEG es necesario para convertir todos los gif en archivos mp4 y combinar el audio (WAV) con el archivo MP4 final. Instale bc que es un lenguaje de procesamiento numérico de precisión arbitraria. Esto es necesario para cambiar el tamaño de mp4 y combinar correctamente mp4 y wav.

 # sudo apt-get install sox ffmpeg bc

Instalar recterm

Para instalar recterm, simplemente clone el repositorio de github y cambie el permiso de los scripts.

 # git clone https://github.com/rascoro1/recterm.git
 # cd recterm/
 # chmod +x recterm.sh 
 # chmod +x to_gif.sh

Ahora abra el script asciinema2gif en el editor vi y edite el número de línea 116. Puede encontrar la ubicación usando ‘which asciinema2gif’ desde la terminal. Esto es necesario porque asciinema2gif crea archivos gif / png en el directorio temporal que está configurado en la línea no 14, es decir

 readonly tempdir="$(mktemp -d -t asciinema2gif.XXXX)"

Edite el siguiente archivo y cambie la ubicación de los archivos png / gif. La ruta del archivo puede ser diferente si está utilizando una versión diferente de asciinema2gif.

 # vim /home/ubuntu/.linuxbrew/Cellar/asciinema2gif/0.5/libexec/bin/asciinema2gif

Por lo tanto, para encontrar los archivos gif / png en el directorio adecuado mediante el comando de conversión, cambie la ubicación del directorio de los archivos gif / png a / tmp /asciinema2gif* / marcos /*.png gif para que la línea final se vea así:

 convert -delay 5 -loop 0 /tmp/asciinema2gif*/frames/*.png gif:- | gifsicle --colors=256 --delay=6 --optimize=3 --output="asciicast.gif"

Al final del script asciinema2gif, agregue la siguiente línea para eliminar el directorio temporal.

 rm -rf /tmp/asciinema2gif*/

Al convertir a mp4 si la salida contiene ‘gifsicle: : archivos vacíos’, eso significa que el comando de conversión no puede encontrar los archivos png / gif o que no hay memoria suficiente para convertir png / gif a mp4. Debe haber al menos 2 GB de RAM si está intentando grabar un archivo grande, de lo contrario, el comando de conversión saldrá con el estado ‘eliminado’.

Ahora cambie al directorio recterm y ejecútelo.

 # ./recterm.sh new_term
 ~ Asciicast recording started.
 ~ Hit Ctrl-D or type "exit" to finish.

Habrá una carpeta con el nombre new_term desde donde se ha ejecutado el script recterm y el archivo mp4 final se puede encontrar aquí.

Conclusión

Recterm es una herramienta de grabación de terminal liviana junto con audio. Aprovecha las ventajas de asciinema, asciinema2gif y ffmpeg para realizar la tarea. Si tiene algún problema con la instalación, publíquelo en problema de recterm sección en github. Gracias por leer el articulo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar