He visto imágenes GIF animadas de transmisiones de pantalla (como la siguiente) promovidas varias veces en este sitio como una forma de mejorar las respuestas.

¿Qué cadena de herramientas se está utilizando para crear estos? ¿Existe algún programa que lo haga de forma automática, o las personas toman screencasts, los convierten en una serie de cuadros estáticos y luego crean las imágenes GIF?
screencast
andrewsomething
fuente
fuente

Respuestas:
Ojeada
Es una nueva aplicación que te permite grabar fácilmente GIF desde tu pantalla.
De todos modos, tenga en cuenta que los GIF tienen una paleta de colores muy limitada, por lo que no es una buena idea usarlos.
Desde Ubuntu 18.10 puedes instalar Peek directamente.
Para versiones anteriores de Ubuntu, puede instalar las últimas versiones de Peek desde su PPA .
Encuentra más información en el repositorio de GitHub .
fuente
Byzanz
Byzanz es el mejor software que he encontrado para grabar screencasts GIF.
Byzanz es excelente porque graba directamente en GIF, la calidad y el FPS es impresionante, manteniendo el tamaño de los archivos al mínimo.
Instalación
Byzanz ahora está disponible desde el repositorio del universo:
Uso
Cuando está instalado, puede ejecutarlo en una terminal.
Este es un pequeño ejemplo que acabo de hacer con
fuente
xwininfopara obtener las propiedades de la ventana.Primero instale esto:
esas son las cosas requeridas, ImageMagick, MPlayer y Desktop Recorder. Luego use Desktop Recorder para capturar una parte de la pantalla / aplicación para usar como screencast. Después de que Desktop Recorder haya guardado la grabación en un video OGV , MPlayer se usará para capturar capturas de pantalla JPEG, guardándolas en el directorio 'salida'.
En una terminal:
Usa ImageMagick para convertir las capturas de pantalla en gifs animados.
puedes optimizar las capturas de pantalla de esta manera:
fuente
gifsicle -O in.gif -o out.gifacabo de probar y obtuve una reducción de 100x en el tamaño del archivo.convertpasos en uno:convert output/* -layers Optimize output.gif. Para mí, esto aceleró el tiempo de procesamiento y redujo el tamaño del archivo de salida. No veo ninguna razón para hacer esos pasos por separado. (No probé el-fuzz 10%argumento.)convertdeclaración lo hizo más que horrible. Según los documentos ( imagemagick.org/script/command-line-options.php#layers ), laoptimizeimplementación puede cambiar con el tiempo. Pero unaconvertdeclaración ligeramente modificada con la-coalescebandera mejoró las cosas, pero aún no a donde era aceptable. Terminé teniendo que usar la-layers optimize-transparencyconfiguración para obtener mejores resultados:convert 'output/*.jpg' -coalesce -layers optimize-transparency optimised.gifVisión de conjunto
Esta respuesta contiene tres scripts de shell:
byzanz-record-window- Para seleccionar una ventana para la grabación.byzanz-record-region- Para seleccionar una parte de la pantalla para grabar.Introducción
¡Gracias Bruno Pereira por presentarme
byzanz! Es bastante útil para crear animaciones GIF. Los colores pueden estar apagados en algunos casos, pero el tamaño del archivo lo compensa. Ejemplo: 40 segundos, 3.7Mb .Uso
Guarde uno / todos los siguientes dos scripts en una carpeta dentro de su
$PATH. Aquí hay un ejemplo sobre el uso del primer script para hacer una transmisión de pantalla de una ventana específica.byzanz-record-window 30 -c output.gif$DELAY), en el que se prepara para la grabación.beepfunción),byzanzcomenzará.30paso 1),byzanzfinaliza. Se emitirá un pitido nuevamente.Incluí la
-cbanderabyzanz-record-windowpara ilustrar que cualquier argumento de mi script de shell se agrega abyzanz-recordsí mismo. La-cbandera le dicebyzanzque también incluya el cursor en el screencast.Ver
man byzanz-recordobyzanz-record --helppara más detalles.byzanz-record-windowbyzanz-record-regionDependencia:
xrectselde xrectsel . Clone el repositorio y ejecútelomakepara obtener el ejecutable. (Si protesta no hay un archivo MAKE, ejecute./bootstrapy./configureantes de ejecutar `make).Versión gui de
byzanz-record-window(comentario de MHC ): me he tomado la libertad de modificar el script con un simple diálogo GUI
fuente
notify-sendtambién en caso de que mi sonido esté apagado.ffmpeg
Una de las mejores herramientas que uso es
ffmpeg. Puede tomar la mayoría de los videos de una herramienta de screencast comokazamconvertirlos a otro formato.Instale esto desde el centro de software : se instala automáticamente si instala el excelente
ubuntu-restricted-extraspaquete.Kazam puede emitir en formatos de video
mp4owebm. En general, obtiene mejores resultados enmp4formato.ejemplo de sintaxis de creación de GIF
La sintaxis básica para convertir video a gif es:
GIF convertidos: especialmente aquellos con un estándar de 25/29 fotogramas por segundo pueden ser muy grandes. Por ejemplo, ¡un video web de 15 segundos de 800 Kb a 25 fps puede generar 435 Mb!
Puede reducir esto mediante varios métodos:
cuadros por segundo
Usa la opción
-r [frame-per-second]por ejemplo
ffmpeg -i Untitled_Screencast.webm -r 1 -pix_fmt rgb24 out.gifTamaño reducido de 435Mb a 19Mb
límite de tamaño de archivo
Usa la opción
-fs [filesize]por ejemplo
ffmpeg -i Untitled_Screencast.webm -fs 5000k -pix_fmt rgb24 out.gifNota: este es un tamaño de archivo de salida aproximado, por lo que el tamaño puede ser ligeramente mayor que el especificado.
tamaño del video de salida
Usa la opción
-s [widthxheight]por ejemplo
ffmpeg -i Untitled_Screencast.webm -s 320x200 -pix_fmt rgb24 out.gifEsto redujo el tamaño del video de ejemplo 1366x768 a 26Mb
bucle para siempre
A veces es posible que desee que el GIF se repita para siempre.
Usa la opción
-loop_output 0ffmpeg -i Untitled_Screencast.webm -loop_output 0 -pix_fmt rgb24 out.gifoptimizar y reducir aún más
Si usa
imagemagickconvertun factor de fuzz entre 3% y 10%, puede reducir drásticamente el tamaño de la imagenfinalmente
combine algunas de estas opciones para reducir a algo manejable para Ask Ubuntu.
ffmpeg -i Untitled_Screencast.webm -loop_output 0 -r 5 -s 320x200 -pix_fmt rgb24 out.gifseguido por
fuente
demo.mkvpuede ejecutar estos comandos:docker run --rm -v $(pwd):/tmp/video/ jrottenberg/ffmpeg -i /tmp/video/demo.mkv -framerate 1/2 -pix_fmt rgb24 -loop 0 /tmp/video/demo.gif,sudo chown $USER:$USER demo.gif-loop_output...ubuntu-restricted-extrases excelente?-loop. Así sería-loop 0. Aquí hay un comando de trabajo en Ubuntu 16.04.01ffmpeg -f x11grab -r 25 -s 100x100 -i :0.0+500,500 -pix_fmt rgb24 -loop 0 out2.gif.+500,500es la posición X, Y para comenzar el rectángulo de 100x100.xgrabtoma la pantalla como entrada.Silentcast
Silentcast es otra gran herramienta basada en GUI para crear imágenes animadas .gif. Sus características incluyen:
4 modos de grabación:
Pantalla completa
Ventana interior
Ventana con decoracion
La selección personalizada
3 formatos de salida:
.gif.mp4.webm.png(marcos).mkvNo es necesaria la instalación (portátil)
Directorio de trabajo personalizado
Fps personalizados
Instalación
Si desea una instalación regular y está ejecutando una versión compatible de Ubuntu, puede instalar Silentcast by PPA:
Si no está ejecutando una versión compatible de Ubuntu (¡realmente debería actualizar!), Deberá descargar la última versión de la página de GitHub y satisfacer manualmente las dependencias (puede adquirir yad y ffmpeg desde aquí y aquí, respectivamente) o, si está ejecutando una versión un poco más reciente, como la 13.10, puede intentar descargar el .deb directamente .
Si está utilizando Gnome, es posible que desee instalar la extensión Topicons para facilitar la detención de Silentcast.
Uso
Inicie Silentcast desde la interfaz gráfica de usuario de su entorno de escritorio o ejecute el
silentcastcomando en una terminal. Elija su configuración y siga las instrucciones en pantalla. Cuando termine de grabar, se le presentará un cuadro de diálogo para optimizar la salida final eliminando un cierto número de fotogramas.Para obtener pautas de uso más detalladas, consulte README, ya sea la versión en línea de GitHub o la versión local almacenada
/usr/share/doc/silentcastcon zless o su editor favorito.Notas:
Silentcast todavía está en la etapa de desarrollo y, aunque es bastante estable, puede encontrar algunos errores. Si lo hace, infórmelos en el rastreador de problemas de GitHub del proyecto . Si tiene problemas para instalar desde el PPA y está ejecutando una versión compatible de Ubuntu, deje un comentario a continuación o comuníquese con el mantenedor (yo) en Launchpad.
fuente
Hay todo tipo de formas complicadas y que funcionan bien (presumiblemente) para hacer esto enumeradas aquí. Sin embargo, nunca he querido pasar por ese proceso antes ni después. Entonces, simplemente uso un convertidor en línea que se adapta a mis necesidades las pocas veces que necesito hacerlo. He usado este sitio:
http://ezgif.com/video-to-gif
No es mi sitio y no estoy afiliado a ellos de ninguna manera. Son solo uno de mis marcadores y hay muchos más.
fuente
Creé
record-gif.shuna versión mejorada de Rob Wbyzanz-record-region:duration;save_asdestino;$HOME/record.again).Instalar en pc
También creé un script de instalación
fuente
sudo apt install autoconf byzanzDebe hacerlo antes de ejecutar este script. no está instalado por defecto en ubuntuautoconfybyzanz. ¿Podrías probarlo?imagemagickmplayergtk-recordmydesktopogv2gif.shdesde https://github.com/nicolas-raoul/ogv2gif./ogv2gif.sh yourscreencast.ogv100% inspirado en la respuesta de maniat1k .
fuente
Si quieres ser aún más elegante, puedes usar un método más sofisticado que los gifs animados usando el screencast de lienzo HTMl5. El proyecto x11-canvas-screencast creará una captura de pantalla animada de lienzo html5.
Es posible que haya visto algunos ejemplos famosos de esta tecnología en el sitio web de Sublime Text.
x11-canvas-screencastlleva este método un paso más allá al incorporar el seguimiento del cursor del mouse. Aquí hay una demostración de lo que produce x11-canvas-screencastEl resultado es mejor que un gif animado, ya que no se limita a la cantidad de colores que tiene y requiere menos ancho de banda.
fuente
De acuerdo, para capturar también los clics del mouse, lo único que encontré fue
key-mon(a través del archivo README descreenkey):https://code.google.com/archive/p/key-monhttps://github.com/critiqjo/key-monsudo apt-get install key-monEntonces yo:
key-monxrectselpara poner las coordenadas de la pantalla en unbyzanzcomandobyzanzcomando... y se ve más o menos así:
Tenga en cuenta que
key-mon --visible_clickdibujaría un círculo alrededor del puntero del mouse al hacer clic con el mouse, lo que preferiría, pero en Ubuntu 14.04.5 LTS esto está algo roto, ya que este círculo no aparece y desaparece lo suficientemente rápido para ilustrar correctamente los clics (es decir, prensas y lanzamientos de mouse).fuente
Recientemente creé una versión combinada de los scripts ya publicados aquí.
Básicamente, le permite grabar la región de la pantalla, pero con una GUI simple.
Gracias por Rob W por proporcionar esos scripts geniales
Aquí está el código (o lo esencial si lo desea):
fuente
Si también desea grabaciones visibles de clics del mouse o pulsaciones de teclas, entonces screenkey es su mejor opción: https://github.com/wavexx/screenkey
fuente
screenkeymanejaría los clics del mouse (parece ser solo para indicación del teclado), sin embargo, su README se refiere akey-monqué puede hacer eso, vea mi respuesta a continuación.Uso
gtk-recordmydesktopyffmpeg:apt-get install gtk-recordmydesktop ffmpegEjecute RecordMyDesktop para capturar una parte de la pantalla / aplicación para usar como screencast:
Crea
ogv2gif.shcon el siguiente contenido:Úselo:
Referencias
fuente
Pruebo todo el método anterior, encontré que el más simple es:
el fps es original y el tamaño de gif es menor que el archivo ogv.
fuente