Idea de crear un programa grabador de escritorio con FFmpeg en base a FFMPEGUI

Actualización.- Se me ha ocurrido una idea, de hacerlo funcionar por medio de una terminal usando unos scripts, vean en la siguiente dirección los avances: https://github.com/wachin/ffmpeg-screencast


Es posible grabar el escritorio en una terminal con FFmpeg pero no es posible tener la opción de pausa, solo con Ctrl + C es posible detener el video pero esto crea un video (luego varios videos al repetir esto) y para reanudar es necesario comenzar de nuevo la grabación y luego con otros comandos unir los archivos de video. Debido a esto, he estado buscando incansablemente en la Web en Github, Gitlab, fling.com, Google, buscando a alguien que haya hecho un programa GUI para usar FFmpeg en Linux para hacer Screencast y poder poner Pausa y encontré una GUI escrita en Go (https://golang.org/) llamada ffmpegui:


 
 
allí hay una explicación:
 

THE PAUSE OPTION FOR FFMPEG

La idea principal de este programa es unir todos los archivos de video en el botón de opción de Stop:
 

 
pero el desarrollador lo escribió en un MAC OS X y no puedo ejecutarlo en Linux, pero el desarrollador dijo que tiene soporte para Linux, pero no sé cómo.

XvidCap abandoned

Empecé a buscar esta idea porque conozco la aplicación xvidcap que se puede configurar para grabar un rectángulo + seguir el mouse, y es posible moverse dentro del cuadro y tener Pausa, pero la aplicación ha sido abandonada

XvidCap está disponible en:

https://sourceforge.net/projects/xvidcap/files/xvidcap/1.1.7/

La probé en MX Linux 19.3 x386 con la siguiente versión:

xvidcap 1.1.7jaunty i386.deb

y para lanzarla:

padsp xvidcap --audio yes --audio_bits 128 --cap_geometry 854x480[+200+200] --fps 30 --quality 100 --file "Su video.mpg"
aquí un video:




pero el programa graba video de muy mala calidad, y el audio suena muy mal cuando uno se mueve por la ventanita, y no es posible usarlo para hacer videotutoriales geniales (con FFmpeg si se puede)

Se que hay otras aplicaciones como: SimpleScreenRecorder, Vokoscreen-NG, etc pero ninguna es como XvidCap (pero FFmpeg es genial -si tan sólo tuviera pausa-)

No soy desarrollador, pero intenté leer el código y descubrí que los comandos que usó el desarrollador son para ffmpeg en MAC OS X así que creo que la solución es cambiar esos comandos a los comandos para ffmpeg en Linux

DEPENDENCES FOR FFMPEGUI

Es necesario instalar algunas dependencias para Ubuntu o Debian:
sudo apt-get install libgtk-3-dev golang ffmpeg
 

INSTALL ui

Es necesario también instalar ui (https://github.com/andlabs/ui), poner en la terminal:
go get github.com/andlabs/ui/...

Installing ui.png


entonces:

INSTALL ffmpegui

Ahora poner:
go get github.com/raviraa/ffmpegui/...
 
y será instalado

RUN
Para lanzar el programa poner allí o en cualquier instancia de una terminal:
$HOME/go/bin/ffmpegui


ffmpegui windown that appear only one second.png


 

MENSAJE DE ERROR

Aparece un error que dice:

INFO: 20:02:45 mainui.go:83: Starting in GUI mode
panic: OS not supported


entonces se deberían cambiar las instrucciones para:

MAC OS X ffmpeg option:

FFmpeg Devices Documentation - avfoundation
https://ffmpeg.org/ffmpeg-devices.html#avfoundation

por

FFmpeg Devices Documentation x11grab
https://ffmpeg.org/ffmpeg-devices.html#x11grab

pero yo no se cómo hacer eso

Para editar el programa

Este programa queda instalado en:

/home/youruser/go/src/github.com/raviraa/ffmpegui/

go path where is installed ffmpegui.png
 
allí uno lo puede editar

Pidiendo ayuda al desarrollador

Yo le escribí pero no hay ninguna información de contacto en:
 

En este momento estoy tratando de usar ffmpeg desde la terminal para hacer screencast, pero sin pausa, solo detengo con Ctrl + C y luego tengo que unir los videos en uno.

Una entrada en mi blog los comandos para terminal de FFmpeg:

[Screencast] Grabar pantalla con FFmpeg + seguir cursor + mostrar cursor + grabar rectangulo de 480p
https://facilitarelsoftwarelibre.blogspot.com/2021/03/screencast-ffmpeg-follow-mouse-linux.html

Ejemplo:

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"

 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

Hice un video:
 

Comandos para unir los videos

De momento es posible unir los videos con esto:
 
Primero crea una lista de todos los archivos para convertir

for f in *.mp4; do echo "file '$f'" >> milista.txt; done

luego unir todos los videos de la lista en uno solo:

ffmpeg -f concat -safe 0 -i milista.txt -c copy output.mp4
 
 

tal vez usted pueda ayudar a que esta idea funcione
 
o usted cree una GUI de alguna otra manera
 
si lo hace por favor escribame a: wachin.id@gmail.com

Dios le bendiga


Hice una versión en Inglés:

Idea of creating a desktop recorded program using FFmpeg with Pause option
https://facilitatingfreesoftware.blogspot.com/2022/04/idea-of-creating-desktop-recorded.html



Comentarios