Trasformare un comando in una immagine

 

 

 

Ultimamente ho scritto qualcosa su imagemagick e nell'utilizzo di convert. Aggiungo anche, la possibilità di trasformare velocemente l'output di un comando in un'immagine:

 

sfondo bianco:

 

$ df -h | convert -resize 400 label:@- immagine.jpg

 

sfondo nero:

 

$ df -h | convert -resize 400 -background black -fill white label:@- immagine.jpg

 

 

enjoy 😉

 


Update-grub da chroot

 

Installando Debian quasi sempre da chroot, ho bisogno di fare un update-grub dalla partizione /dev/sda1 dove è installata Debian Squeeze con Grub (MBR). Chiaramente se sono su Squeeze non c'è nessun problema, ma se invece sono su un'altra partizione, ho bisogno di chroottarmi in Squeeze e dare un update-grub. Per non avere errori bisogna prima montare /dev /sys /proc: Quindi, montare la partizione principale, nel mio caso /dev/sda1, e poi procedere con il mount:

 

# mount /dev/sda1 /mnt/debian
# mount -o bind /dev /mnt/debian/dev
# mount -o bind /sys /mnt/debian/sys
# mount -o bind /proc /mnt/debian/proc
# chroot /mnt/debian /bin/bash
# update-grub
# grub-mkconfig

 

 

enjoy 😉

Concatenare immagini differenti con Convert

 

 

 

 

Per concatenare immagini con risoluzione diverse, si può usare convert. Quello a cui bisogna stare attenti, sono l'altezza e la larghezza, questo a secondo se l'immagine si vuole unire in maniera orizzontale o in maniera verticale.Quindi i passi saranno due:

 

  1. dare all'immagine la stessa altezza o larghezza
  2. unire i file

 

ipotizzando di avere 3 file in una cartella:

 

Concatenare orizzontalmente:

 

$ convert *.jpg -resize x400 image.jpg && convert +append *.jpg finale.jpg

 


Concatenare verticalmente:

 

 

$ convert *.jpg -resize 400 image.jpg && convert -append *.jpg finale.jpg

 

 

 

 

chiaramente il risultato finale avrà come risoluzione la somma dei tre file, quindi conviene scalarlo:

 

 

$ convert -scale 50% finale.jpg scalato.jpg

 

 

 

enjoy 😉

Trasformare tutte le foto in bianco/nero velocemente

 

 

Un modo veloce per trasformare una cartella piena di foto in Bianco/Nero è quello di usare mogrify, avendo cura di lasciare le originali inalterate, quindi:

 

$ mkdir bianco_nero && mogrify -colorspace GRAY -path bianco_nero/ *.jpg

 

 

enjoy 😉

Network-Manager VS Chattr 1 a 0

 

 

Sulla mia Debian ho voluto rimettere i dns di Opendns, e quindi sono andato a modificare direttamente /etc/resolv.conf, subito dopo mi sono accorto che le nuove impostazioni venivano perse. Allora mi sono detto, provo a bloccare la modifica del file usando chattr:

 

# chattr +i /etc/resolv.conf

# /etc/init.d/network-manager restart

 

a questo punto mi sentivo sicuro che il file non sarebbe stato modificato, ed invece mi sbagliavo, Network-Manager lo modifica ugualmente, e questo mi ha lasciato un'attimino spiazzato. Quindi il metodo più semplice per cambiare i dns, è quello grafico, come si vede nell'immagine, Network-Manager 1 Chattr 0 🙂

 

enjoy 😉

Cambiare il volume di un file audio/video con FFMPEG

 

A volte capita di avere un file audio/video con un volume troppo alto oppure troppo basso, per cambiarlo usando FFMPEG, può servire qualcosa di simile, e cioè inserire l'opzione -vol:

 

$ ffmpeg -i video.avi -vol 100  video_finale.avi

 

oppure:

 

$ ffmpeg -i file.mp3 -vol 100 -ab 128 file_finale.mp3

 

 

enjoy 😉

Unire video con risoluzione diverse usando FFMPEG e Mencoder (Solved)

 

 

 

Spesso e volentieri mi è venuta la voglia di fare un collage con più video, e ci ho sempre rinunciato, perchè mi scocciava settare uno per uno la stessa risoluzione, poichè se si cerca di unire video con differenti risoluzioni, ci si imbatte nell'errore seguente:

 

New video file has different resolution or colorspace than the previous one.
FATAL: Cannot initialize video driver.

 

quindi il passo è quello di settare nella cartella dei video .AVI, la stessa risoluzione per tutti, ed allo stesso tempo, convertirli tutti ad usare gli stessi codecs audio/video. Io ho preso 4 spezzoni di video differenti, con le seguenti risoluzioni:

 

320 × 240

384 × 288

320 × 136

480 × 360

 

quindi ho scelto di portarli tutti in hd720 (1280×720), ed ho usato il seguente comando:

 

 

$ for i in *.avi; do ffmpeg -y -i "$i" -f avi -vcodec mpeg4 -b 8000000 -acodec ac3 -ab 128000 -s hd720 $i.avi; done

 

 

a questo punto si possono unire i 4 video:

 

 

$ mencoder *.avi -oac mp3lame -ovc xvid -xvidencopts pass=1 -o video_finale.avi

 

 

ps: un omaggio alle più belle, Monica Bellucci, Sharon Stone. Charlize Theron 🙂

 

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

(Errore Apt) google-talkplugin.list.save

 

Dopo aver installato google-talkplugin si è verificato il solito errore:

 

N: Viene ignorato il file "google-talkplugin.list.save" nella directory "/etc/apt/sources.list.d/"

poiché ha un'estensione non valida

 

si risolve come al solito con:

 

 

# sh -c "echo 'Dir::Ignore-Files-Silently:: \"(.save|.distupgrade)$\";' > /etc/apt/apt.conf.d/99ignoresave"

 

 

enjoy 😉

Script "Invia a Dropbox"

 

 

 

 

Nel menu di Nautilus manca la voce relativa a Dropbox, quindi ho pensato a 3 semplici script che puntano alla cartella Dropbox e relative sottocartelle Photos, Private e Public. Siccome i 3 script sono uguali e quello che cambia è il nome affidatogli ed il percorso delle sottocartelle, posto solo 1 esempio.

 

$ nano foto-dropbox

 

ed incollare dentro:

 

#!/bin/bash
# inviare files nella cartella foto di Dropbox

cp -r $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS /Percorso_Dropbox/Photos

 

poi:

 

$ chmod +x foto-dropbox

$ cp ~/.gnome2/nautilus-scripts/

$ killal nautilus

 

adesso siamo pronti ad inviare i file a Dropbox direttamente da Nautilus, dall'interno del menu Script.

 

 

enjoy 😉