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 ;)

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Administrator, Sys Admin Linux, Linux User, Consulente Informatico.

15 pensieri riguardo “Screencast Perfetto (quasi) con Recordmydesktop e Mencoder”

  1. Ottima trovata Edmond 😉
    Proverò anche questa alternativa visto che anche a me non è mai piaciut a la GUI offerta per recordmydesktop e, se funziona bene e ho del tempo a disposizione (mi sono imbarcato nella traduzione al italiano di una intera applicazione, un fork di ktoon), farò una semplice interfacia grafica come fece tempo fa con l’altro ottimo tuo script: Screencast Perfetto di una singola finestra con FFmpeg .

    Anche se, sinceramente, uso ancora quello script (con la mia interfacia grafica) per tutte le mie video-guide e sono più che sodisfato 🙂

    Ottimo post… come al solito

  2. Edmond, ti leggo sempre con sommo piacere, pero questa volta una domanda è d’obbligo:
    c’è bisogno di specificare il tipo di compressione audio nel caso di screencast senza microfono?
    Adesso faccio qualche prova…

  3. in effetti non c’e’ bisogno, sono stato disattento 🙂 quindi stasera modificherò mencoder….grazie 😉

  4. Proverò in questo modo per curiosità, visto che le precedenti esperienze con gtk-recordmydesktop sono state disastrose. Con ffmpeg invece gli screencast hanno una fluidità pazzesca anche sul 3d.

  5. Senza specificare il tipo di compressione audio, la grandezza dell’archivio prodotto non cambia, deve essere effetto di “recordmydesktop –no-sound”. Altra cosa que stavo notando, che è più rapido ed efficiente usare ffmpeg cambiando mencoder con “ffmpeg -i video.ogv video.{avi,mp4}”, quando facciamo webcasting o machinima non abbiamo bisogno di ultra qualità:
    Originale:
    Input #0, ogg, from ‘video.ogv’:
    Duration: 00:00:43.46, start: 0.000000, bitrate: 1024 kb/s
    Stream #0.0: Data: skeleton
    Stream #0.1: Video: theora, yuv420p, 1280×1024 [PAR 1:1 DAR 5:4], 15 fps, 15 tbr, 15 tbn, 15 tbc

    avi compresso con mencoder come da blog:
    Input #0, avi, from ‘video.avi’:
    Metadata:
    encoder : MEncoder SVN-r33367
    Duration: 00:00:30.46, start: 0.000000, bitrate: 1493 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 1280×1024 [PAR 1:1 DAR 5:4], PAR 65536:65535 DAR 16384:13107, 15 tbr, 15 tbn, 15 tbc

    avi compresso con ffmpeg senza nessun parametro aggiuntivo:
    Input #0, avi, from ‘video1.avi’:
    Metadata:
    encoder : Lavf53.4.0
    Duration: 00:00:43.73, start: 0.000000, bitrate: 601 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 1280×1024 [PAR 1:1 DAR 5:4], 15 tbr, 15 tbn, 15 tbc

    mpeg compresso con ffmpeg senza nessun parametro aggiuntivo:
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from ‘video1.mp4’:
    Metadata:
    major_brand : isom
    minor_version : 512
    compatible_brands: isomiso2mp41
    creation_time : 1970-01-01 00:00:00
    encoder : Lavf53.4.0
    Duration: 00:00:43.66, start: 0.000000, bitrate: 820 kb/s
    Stream #0.0(und): Video: mpeg4, yuv420p, 1280×1024 [PAR 1:1 DAR 5:4], 819 kb/s, 15 fps, 15 tbr, 15 tbn, 15 tbc
    Metadata:
    creation_time : 1970-01-01 00:00:00

  6. beh anche io preferisco ffmpeg, che non da problemi col 3d ed è piu veloce, comunque gtk-recordmydesktop
    in questo modo è usabile, con l’interfaccia grafica No!!

  7. Quoto Edmond.
    Con l’interfaccia, recordmydesktop è veramente inutilizzabile

  8. ma recordmydesktop con gtk-recordmydesktop cosa centra? cioè nell’articolo dici di spendere due parole per gtk-recordmydesktop ma in realtà ci parli del software a riga di comando (appunto recordmydesktop).
    comunque per ottenere una “buona fluidità con gtk-recordmydesktop basta mettere in avanzate > varie il valore di 2000000 , in questo modo il video risultante sarà molto fluido.
    (scusa la mia puntualizzazione ma va fatta).

  9. @c.realkiller
    la tua puntualizzazione ci stà eccome 😉
    comunque è vero che ho fatto riferimento a gtk-recordmydesktop, ma solo per mettere
    in evidenza l’usabilità di recordmydesktop rispetto all’interfaccia grafica nella gestione
    della singola finestra, Questo è uno dei motivi per cui, secondo me, gtk-recordmydesktop non soddisfa i più.

  10. comunque, prova a fare uno screencast con il parametro che ti ho passato, mettendolo in avanzate > varie, noterai un miglioramento ed una fluidità maggiore.

  11. @c.realkiller
    L’opzione a cui ti riferisci è –v_bitrate in “opzioni extra”. Mettere un valore senza specificare nulla, non dà alcun risultato
    Ho provato decine di combinazioni con gtk-recordmydesktop
    Disabilitando il 3d, abbassando il framerate, disabilitando l’audio, aumentando bitrate a palla, diminuendo la qualità video, disabilitando la compressione realtime.
    Risultati: disastrosi, se paragonati a ffmpeg o a recordmydesktop a linea di comando

  12. nell’articolo link che ho postato sopra c’è un errore di battitura, e non posso modificarlo, il comando corretto è:
    recordmydesktop --fps 25 --width 1024 --height 768 --v_quality 63 --v_bitrate 2000000 -o video.ogv

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *