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 ;)
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
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…
in effetti non c’e’ bisogno, sono stato disattento 🙂 quindi stasera modificherò mencoder….grazie 😉
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.
Appena provato. Ottimo 🙂
Funziona benissimo, grazie 😉
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
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!!
Quoto Edmond.
Con l’interfaccia, recordmydesktop è veramente inutilizzabile
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).
@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ù.
comunque, prova a fare uno screencast con il parametro che ti ho passato, mettendolo in avanzate > varie, noterai un miglioramento ed una fluidità maggiore.
@c.realkiller
sì, in effetti si notano dei miglioramenti di fluidità 😉
@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
si, ho fatto un po’ di confusione io, e pensare che lo avevo scritto su LQH 🙂
https://www.linuxqualityhelp.it/supporto/viewtopic.php?f=39&t=2801&start=20#p37082
solo che mi ricordavo solo del parametro da passare e non del flag 🙁
chiedo venia 😀
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