[Screencast] Grabar pantalla con FFmpeg 4.2 + seguir cursor + mostrar cursor + grabar rectangulo de 480p
Es posible usar FFmpeg (desde la terminal) desde la versión 4.2 en adelante para grabar la pantalla en un rectángulo (de un tamaño más pequeño que la pantalla) y además de que la grabación mueva el rectángulo hacia donde uno quiera ir, incluso que el cursor se mueva dentro del rectángulo para poder explicar con todo detalle lo que uno desee, solo que con FFmpeg no se puede poner pausa, sino que se puede detener el video con Ctrl + C y se creará un archivo de video, y al repetir este proceso se crearán varios a los cuales luego uno los puede unir con algún programa o con FFmpeg mismo, y he tenido una de idea sobre que haya un programa que pueda hacer eso, y esta idea que he tenido la he hecho realidad en un programa (por decirlo así), ya disponible en:
ffmpeg-screencast
https://github.com/wachin/ffmpeg-screencast
y así funcionando:
Bueno, sigamos con las instrucciones para usarlo desde la terminal:
Sistemas Operativos Linux con FFmpeg 4.2
Los siguientes tiene ya 4.2 en adelante:
Ubuntu 20.04
Además para Sistemas Operativos Linux basados en este como son Linux Mint como Ulyana en adelante. Puede revisar los paquetes en:
https://packages.ubuntu.com/ffmpeg
Debian 11 Bulleye
Y para Sistemas Operativos Linux como MX Linux 21 (a esta fecha 20210909 en Beta 2), antiX 21(a esta fecha 20210909 en Beta 2) y para otros basados en Debian 11. Puede revisar los paquetes en:
https://packages.debian.org/ffmpeg
Nota: Al final dejo unas instrucciones de cómo compilar FFmpeg 4.2.4 en MX Linux 19 (basado en Debian 10 Buster), y otro enlace para instalar en Ubuntu 18.04 y basados en este desde PPA.
¿Qué es la resolución 480p?
Una resolución a 480p significa:
854x480 pixeles
la cual se verá bien en Youtube al subir el video allí:
Resoluciones de vídeo y relaciones de aspecto - Ordenador - Ayuda de YouTube
https://support.google.com/youtube/answer/6375112?co=GENIE.Platform%3DDesktop&hl=es
REQUISITOS
sudo apt install ffmpeg
Esta caracteristica sólo funciona correctamente en Sistemas
Operativos Linux con FFmpeg 4 ejemplo Ubuntu 20.04 Focal que tiene la
version FFmpeg 4.2.4 (https://packages.ubuntu.com/focal/ffmpeg), o Debian 11 bullseye que tiene FFmpeg 4.3.2 (https://packages.debian.org/bullseye/ffmpeg), esto o que usted mismo compile desde código fuente una de las versiones 4 de FFmpeg, al final dejo las instrucciones para eso
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (FIJO EN MEDIO)
Instrucciones para seguir el cursor en medio del recuadro
Ponga en la terminal:
ffmpeg -follow_mouse centered -show_region 1 -video_size 854x480 -r 60 -f x11grab -i :0.0 \
-f alsa -ac 2 -i default \
-c:v libx264 -qp 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
Nota: Para grabar la pantalla en un rectángulo con el cursor fijo en medio se puede usar cualquier versión de FFmpeg
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (MOVER BORDE A LOS 100px)
ffmpeg -follow_mouse 100 -show_region 1 -video_size 854x480 -r 60 -f x11grab -i :0.0 \
-f alsa -ac 2 -i default \
-c:v libx264 -qp 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (MOVER BORDE A LOS 50px)
Las siguientes son instrucciones grabar en un rectángulo de 854x480 pixeles + seguir el ratón y el rectángulo solo se moverá siguiendo al ratón cuando el puntero llega dentro de los 100 píxeles hasta el borde dentro del recuadro
Ponga en la terminal:
ffmpeg -follow_mouse 50 -show_region 1 -video_size 854x480 -r 60 -f x11grab -i :0.0 \
-f alsa -ac 2 -i default \
-c:v libx264 -qp 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
pongo este ejemplo para que ustedes puedan entender cómo cambiar ese valor y poner el que ustedes deseen.
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (MOVER BORDE A LOS 50px) para ordenadores de bajos recursos del procesador
Si
tiene un ordenador con bajos recursos use el siguiente comando para
grabar en un rectángulo de 854x480 pixeles + seguir el ratón y el
rectángulo solo se moverá siguiendo al ratón cuando el puntero llega
dentro de los 50 píxeles hasta el borde dentro del recuadro
Ponga en la terminal:
ffmpeg -follow_mouse 50 -show_region 1 -video_size 854x480 -f 30 -f x11grab -i :0.0 \
-f alsa -ac 2 -i default \
-c:v libx264rgb -crf 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
Nota: Los videos creados con este último comando sólo los he podido unir con MP4Joiner.
Codec consultado en:
Capture/Desktop – FFmpeg
Lossless Recording
https://trac.ffmpeg.org/wiki/Capture/Desktop
Ver Video:
Aquí
explico que esta caracteristica funciona bien en Ubuntu 20.04 que tiene
la version FFmpeg 4.2.4, pero no funciona bien en antiX 19.3 que tiene
FFmpeg 4.1.5 (se escapa el cursor del recuadro)
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (MOVER BORDE A LOS 100px) en JACK
ffmpeg -follow_mouse 100 -show_region 1 -video_size 854x480 -r 30 -f x11grab -i :0.0 \
-f jack -ac 2 -i ffmpeg \
-c:v libx264 -qp 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
pero les explico que en las siguientes imagenes estaré usando las Conecciones antiguas (aproximadamente en el 2020 QjackCtl viene con una nueva interfaz para hacer las conecciones), para habilitar la que viene por defecto en:
"Setup"
y allí clic en "Otras" y desmarcar "Reemplazar conexiones con botón de Gráfico"
y Aplicar y Cerrar
Ahora si, una vez abierto el botón de las Conexiones:
como se ve en la siguiente imagen, primero expandir para ver bien, y hay que dar clic en "input _1" y luego en "capture_1":
y clic derecho en "capture_1" y clic en "Conectar":
y el micrófono del ordenador enviará audio a FFmpeg en esa entrada:
y hay que hacer los mismos pasos para el otro y debe quedar así:
Usando Patchbay para recordar la conección de FFmpeg
Recomiendo para no tener que estar a cada rato conectando (si es que van a hacer muchas pausas; y aun así se pueden olvidar y no les grabaría audio) usar patchbay:denlen clic al botón para abrirlo:
como ven en la imagen de arriba deben estar los puertos conectados y dar clic en "Nueva" y darle "Si":
y darle clic en Guardar
y ponerle un nombre y Guardar:
y darle clic en Activar:
y pueden cerrar esa ventana, y desde allí en adelante siempre y cuando Patchbay esté activado él conectará automáticamente los puertos
en la siguiente imagen, en la flecha azúl ese parentesis y que dice Activa significa que está activado patchbay:
Nota: También aunque es más dificil se puede instalar JACK en otra distribución LINUX como por ejemplo MX Linux o antiX aquí.
GRABAR RECTÁNGULO 480p + SEGUIR EL RATÓN (MOVER BORDE A LOS 100px) en JACK para Ordenadores de bajos recursos del procesador
ffmpeg -follow_mouse 100 -show_region 1 -video_size 854x480 -f 30 -f x11grab -i :0.0 \
-f jack -ac 2 -i ffmpeg \
-c:v libx264rgb -crf 0 -preset ultrafast \
"$HOME/Rec-$(date '+%Y-%m-%d_%H.%M.%S').mp4"
Grabar usando la terminal Tilda
Me parece bien el usar tilda para usar allí los comandos para FFmpeg
sudo apt install tilda
una vez instalado lo pueden lanzar desde alguna terminal o desde el lanzador de aplicaciones de su distribución
yo lo he configurado para que la ventana tenga un tamaño muy pequeño:
para configurarlo así en un rectángulo pequeño se debe hacer esto, le dan clic derecho y en preferencias:
allí le he puesto en alto 96 y ancho 203:
así la ventana es muy pequeña y allí pego el comando de ffmpeg:
Para que Tilda no esté siempre Visible
Desmarque esa opción en:
General / Siempre Visible
y desmarcar:
General / Mostrar en la barra de tareas
y cerrar (el botón está abajo a la derecha)
Para mover tilda de una lado a otro
es necesario hacer así como la siguiente imagen:
Pausa.- Y para poner pausa solo aplastan "Ctrl + C" cuando estén encima de tilda
Reanudar.- Allí en tilda en el teclado aplastar la flecha Arriba y aparecerá el último comando usado el cual es el para grabar
Unir videos.- Se puede hacer lo siguiente para unir los videos:
UNIR VIDEOS
Unir / Combinar videos MP4 (u otro formato como MOV, AVI, MPG, MKV, mp3) con ffmpeg en Linux sin recodificarlos (desde la terminal) - Cómo
https://facilitarelsoftwarelibre.blogspot.com/2021/09/unir-combinar-videos-mp4-u-otro-formato.html
Con Avidemux
Instalar repositorio deb-multimedia.org en MX Linux 19 para instalar ejem: Avidemux, mp4joiner, mp4splitter, mp4tools https://facilitarelsoftwarelibre.blogspot.com/2020/07/como-instalar-el-repisitorio-de.html
Cómo instalar Avidemux 2.7 en Ubuntu 16.04, 18.04, 20.04
https://facilitarelsoftwarelibre.blogspot.com/2017/11/como-instalar-avidemux-26-en-ubuntu.html
Cómo unir videos rápidamente con Avidemux sin necesidad de procesarlos, redenderizarlos
https://facilitarelsoftwarelibre.blogspot.com/2018/12/como-unir-videos-rapidamente-con.html
Con MP4Joiner
Cómo unir archivos de video sin recodificarlos con MP4Joiner en MX Linux 19
https://facilitarelsoftwarelibre.blogspot.com/2021/06/unir-videos-con-mp4joiner-en-mxlinux.html
CÓMO INSTALAR FFMPEG 4.2.4?
La versión 4.2.4 (donde funciona bien la característica de grabar con recuadro) la pude instalar en MX Linux 19 de 32 bits pero compilando desde código fuente, las instrucciones son las siguientes:
Cómo instalar FFmpeg 4.2.4 en MX Linux 19 (Basado en Debian 10) ~ Proyecto Facilitar el Software Libre en el Ecuador
https://facilitarelsoftwarelibre.blogspot.com/2021/06/como-instalar-ffmpeg-4.2.4-en-mx-linux-19.html
Cómo Instalar FFmpeg 4.2 en Ubuntu | Linux Mint con PPA
https://electronicssoftware.net/como-instalar-ffmpeg-en-ubuntu-linux-mint/
Dios les bendiga
BASADO EN:
x11grab
http://underpop.online.fr/f/ffmpeg/help/x11grab.htm.gz
Screen capture tools to record online tutorials / 2.1.2. Screen recording with FFmpeg / 2.1.2.2. Record screen and audio from your computer
https://twiki.cern.ch/twiki/pub/ELearning/WebHome/screen_capture_tools.pdf
wachin/FFMPEG-Jack: script to screencapture using ffmpeg and jack with an output-avi that contains the audio and video
https://github.com/wachin/FFMPEG-Jack
Comentarios
Publicar un comentario