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:
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.