Peek Screencast in Gif su Debian Stretch e Buster

Peek Screencast in Gif su Debian Stretch e Buster

Peek Screencast in Gif su Debian Stretch e Buster

Peek è un ottimo e semplice programma per la creazione di screencast direttamente in Gif. Per poterlo utilizzare su Debian Stretch o Debian Buster, bastano i passaggi sotto:

$ sudo apt-get install cmake valac libgtk-3-dev libkeybinder-3.0-dev libxml2-utils gettext txt2man git ffmpeg libsdl2-2.0-0 ffmpeg libsdl2-2.0-0
$ git clone https://github.com/phw/peek.git
$ mkdir peek/build
$ cd peek/build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DGSETTINGS_COMPILE=OFF ..
$ make package
$ sudo dpkg -i peek-*

troveremo il programma all’interno del menu Graphics in Mate.

Peek Screencast in Gif su Debian Stretch e Buster

enjoy 😉

(Mencoder) Convertire video ogv in avi

 

 

Convertire un video ogv in avi, usando mencoder. Di solito l'estensione ogv si trova quando si fa uno screencast usando recordMyDesktop.

 

$ mencoder file.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o file.avi

 

 

enjoy 😉

Screencast del terminale con Shelr ed upload su Shelr.tv

 

Shelr permette di registare il terminale e da la possibilità di upload su Shelr.tv. Come servizio di condivisione mi sembra ottimo, ed anche l'idea di raccogliere gli screencast dei comandi nel terminale, mi sembra un idea eccellente. Io mi sono iscritto ed ho fatto il mio primo upload. Per ottenere Shelr scaricare il tarball, scompattarlo entrare nella directory, e poi:



$ sudo apt-get install ruby rubygems

$ sudo gem install shelr

 

per iniziare la registrazione:

 

$ shelr record

 

per rivederla:

 

$ shelr play

 

per l'upload sul sito Selr.tv:

 

$ shelr push

 

e comunque ci sono altre opzioni:

 

  Usage: shelr command [arg]

  COMMANDS:

    Recording:

      record              – record new shellcast

    Publishing:

      push last           – publish last record
      push last –private – publish private record
      push RECORD_ID      – publish record with given id

    Getting record as json:

      dump last           – dump last record as json to current dir
      dump RECORD_ID      – dump any record as json to current dir

    Replaying:

      list                – print list of records
      play last           – play last local record
      play RECORD_ID      – play local record
      play RECORD_URL     – play remote record
      play dump.json      – play local file dumped with `shelr dump`

    Setup:

      setup API_KEY   – set your API key
      backend [ttyrec|script] – setup recorder backend

    Visit: https://shelr.tv/ for more info.
 

 

per poter fare l'upload, prima bisogna registrarsi sul sito, anche tramite account twitter o facebook.

 

enjoy 😉

(FFmpeg) Screencast seguendo solo il mouse

 

 

Modi per fare Screencast con FFmpeg, ce ne sono molti, e si possono trovare nella categoria dedicata a FFmpeg. Questo è diverso dal solito, in quanto, lo screencast viene fatto nella zona del mouse, con un'ampiezza che noi possiamo chiaramente indicare. Di seguito 2 comandi, il primo si riferisce al video sopra, il secondo invece crea una specie di box visivo intorno al mouse.

 

$ ffmpeg -f x11grab -follow_mouse 100 -r 25 -s vga -i :0.0 output.mpg

$ ffmpeg -f x11grab -follow_mouse centered -show_region 1 -r 25 -s vga -i :0.0 output.mpg

enjoy 😉
 

Screencast Perfetto (quasi) con Recordmydesktop e Mencoder

 

 

 

 

Ho già parlato altre volte per quanto riguarda gli Screencast, soprattutto adoperando FFMPEG, che scritto per inciso mi ha sempre soddisfatto in tutte le occasioni. Questa volta però vorrei scrivere due righe per quanto riguarda gtk-recordmydesktop, che non mi è mai piaciuto, in quanto ho sempre trovato scomodo il suo utilizzo quando si trattava di registrare una singola finestra, ed in più mi è sembrato lento nel salvataggio dello screencast. Comunque per farla breve, ho approfondito un pò di più la sua conoscenza, e per quanto mi riguarda ho trovato il giusto compromesso. L'idea di partenza quindi è quella di effettuare lo screencast di una singola finestra, e contemporaneamente di convertirlo in AVI, questa volta utilizzando mencoder.

 

Senza microfono:

 

$ recordmydesktop --no-sound -o "video.ogv" --windowid $(xwininfo | egrep 'Window id' | awk '{print $4}') && mencoder video.ogv -ovc xvid -xvidencopts pass=1 -o video.avi

 

Con Microfono:

 

$ recordmydesktop --device hw:0,0 -o "video.ogv" --windowid $(xwininfo | egrep 'Window id' | awk '{print $4}') && mencoder video.ogv -ovc xvid -oac mp3lame -xvidencopts pass=1 -o video.avi

 

per salvare Ctrl-Alt-S, per annullare Ctrl-C.

 

se non si indica il device, ed il microfono è configurato e funzionante, di default registra anche l'audio, quindi è indispensabile per uno screencast muto l'opzione --no-sound. Per chi invece usa pulseaudio, credo che basti inserire --device pulse al posto di --device hw:0,0

 


enjoy ;)

Nautilus script per un perfetto screencast

 

Volevo segnalare un ottimo script per Nautilus, che aiuta ad  eseguire in tutta comodità screencast video o audio/video, il tutto con una bella ed ordinata gui, fatta con zenity e sfruttando chiaramente ffmpeg. Questo script dal nome ZDesktopRecorder è stato creato da c2asr, in seguito ad un post da me fatto dal titolo "Screencast Perfetto di una singola finestra con FFmpeg", che dire, se non che questa è la classica ciliegina sulla torta 🙂 Quindi ringraziando per la collaborazione di nuovo c2asr invito a provarlo.

 

1) Download

2) Download

enjoy 😉

Screencast audio-video ad alta qualità con FFmpeg

 

Ed eccomi ancora quà con l'ennesima guida su FFmpeg, sì lo sò, sono fissato, ma come sapete è uno dei tools che amo di più, per questo ho deciso di scrivere il più possibile su ogni esperimento che faccio, sia per quanto riguarda l'utilizzo dello screencast, sia per quanto riguarda le opzioni di conversione in generale. Ho già dedicato diversi post allo screencast con FFmpeg, ma adesso ho voluto farne uno cercando la migliore qualità audio/video possibile. La base di partenza è sempre lo script record.sh del post precedente, ma modificato per migliorare sensibilmente la qualità dello screencast:

 

#!/bin/sh

INFO=$(xwininfo -frame)

WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+')
WIN_XY=$(echo $INFO | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/' )

ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -r 30 -s $WIN_GEO -i :0.0+$WIN_XY -acodec pcm_s16le -vcodec libx264 \
-vpre lossless_ultrafast -threads 0 -y screencast.mkv

 

per chi usa PulseAudio, sostituire:

 

-f alsa -ac 2 -i hw:0,0

con:

-f alsa -ac 2 -i pulse

 

c'è da dire che questa soluzione ha il "difetto" di creare screencast di grosse dimensioni, quindi nel caso di upload su youtube bisogna prepararsi all'ottimizzazione, cercando sempre di mantenere lo standard alto. Quindi il comando seguente oltre ad ottimizzare il file per youtube, ne riduce sensibilmente le dimensioni:

 

 

quello sopra anche se lunghino è un solo comando. Credo che il tutto sia ancora migliorabile, dato che ho notato delle piccole imperfezioni.

 

ps: il video sopra è volutamente muto.

 

enjoy 😉

Screencast Perfetto di una singola finestra con FFmpeg

 

Il titolo di questo post inizia con "Screencast Perfetto", e magari ad alcuni potrà sembrare un tantino esagerato, ma secondo me non lo è affatto. In Gnu/Linux esistono diversi programmi per fare uno screencast, ne cito uno per tutti, RecordmyDektop, anche se io ho sempre preferito utilizzare FFmpeg, Quello che ho notato in tutti i programmi è la "difficoltà" di centrare la finestra o il terminale in maniera precisa, certo nulla di grave, basta mettersi lì e perdere un pò di tempo per trovare il rettangolo perfetto. Però finalmente io ho trovato la soluzione che mi soddisfa completamente, e questo grazie a FFmpeg, che io amo molto, tanto è vero che gli ho dedicato una categoria esclusiva 🙂 Comunque andando al sodo la soluzione è la seguente:

$ xwininfo

digitando nel terminale xwininfo e successivamente toccando una finestra, avremo a disposizione molte informazioni:

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x2424585 (has no name)

  Absolute upper-left X:  274
  Absolute upper-left Y:  219
  Relative upper-left X:  274
  Relative upper-left Y:  219
  Width: 654
  Height: 439
  Depth: 0
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOnly
  Colormap: 0x0 (not installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: yes
  Corners:  +274+219  -352+219  -352-366  +274-366
  -geometry 654×439+274+219
 

io ho preso queste informazioni toccando la finestra che mi interessava, e come si può vedere ci sono molti dati utili, tra cui il posizionamento-Corners-geometry. Adesso non bisogna fare altro che darle in pasto a FFmpeg. Quindi per prima cosa bisogna creare lo script record.sh, ed incollarci dentro:

 

#!/bin/sh

INFO=$(xwininfo -frame)

WIN_GEO=$(echo $INFO | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+')
WIN_XY=$(echo $INFO | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/' )

ffmpeg -f x11grab -r 25 -b 2000k -s $WIN_GEO -i :0.0+$WIN_XY /tmp/screencast.avi

 

in caso di problemi di formattazione si può scaricare da quà:

settare i permessi:

$ chmod +x record.sh

e lanciare:

$ ./record.sh

adesso non dobbiamo fare altro che toccare la finestra da registrare e lo script si occuperà in automatico della posizione precisa, salvando lo screencast in /tmp. Attenzione: per registrare il terminale bisogna toccare la barra della finestra, altrimente lo script non riesce a determinare l'esatta posizione, non so il motivo, per quanto riguarda tutto il resto, basta cliccare in un punto qualsiasi delle finestre.

FFmpeg ti amo!!!

enjoy 😉