Building FFmpeg su Debian Squeeze con libavfilter e x264

 

Ho scoperto da poco che nell'installazione di default di ffmpeg, manca qualcosa, e che proprio questa cosa che manca ,mi serve per un "esperimento". Comunque andando per ordine e tralasciando a cosa mi serve la  "cosa mancante" ,ho deciso di compilare ffmpeg ex novo, con il supporto x264 e libavfilter. Quindi come primo procedimento ho disinstallato la versione installata dai repo.

 

# apt-get remove ffmpeg x264 libx264-dev

 

dopo di chè ho installato tutto quello che serve per una corretta compilazione:

 

# apt-get build-dep ffmpeg

 

servono anche:

 

# apt-get install build-essential subversion git-core checkinstall yasm texi2html libfaac-dev libfaad-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libx11-dev libxfixes-dev libxvidcore4-dev zlib1g-dev

 

Scaricare compilare ed installare  soc x264 e ffmpeg:

 

$ svn co svn://svn.ffmpeg.org/soc

$ cd soc/libavfilter

$ ./checkout.sh

$ cd ffmpeg

$ ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libtheora --enable-libgsm --enable-libvorbis --enable-filter=movie --enable-avfilter --enable-postproc

$ make

 

con ERROR: libx264 not found, oppue senza, bisogna installare x264:

 

$ cd ../../..

$ git clone git://git.videolan.org/x264.git

$ cd x264

$ ./configure

$ make

# checkinstall --fstrans=no --install=yes --pkgname=x264 --pkgversion "1:0.svn`date +%Y%m%d`-squeeze" --backup=no --default

 

tornare nella cartella di ffmpeg:

 

$ cd ../soc/libavfilter/ffmpeg

$ ./configure --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libx264 --enable-libxvid --enable-x11grab --enable-libtheora --enable-libgsm --enable-libvorbis --enable-filter=movie --enable-avfilter --enable-postproc

$ make

# checkinstall --pkgname=ffmpeg --pkgversion "5:0.7+svn`date +%Y%m%d`" --backup=no --default

 

adesso abbiamo una nuova installazione di ffmpeg con quel qualcosa che mi mancava, ma di cui scriverò la prossima volta 🙂

 

enjoy 😉

Googleearth su Debian Squeeze amd64

 

 

 

Come installare facilmente e senza errori googleearth su Debian Squeeze amd64, in soli tre step.

 

Step 1: installare googleearth-package più dipendenze varie:

 

# apt-get install googleearth-package lsb-core ia32-libs-gtk alien cups-bsd ed ia32-libs-gtk librpmbuild1 lsb-core pax rpm

 

Step 2: build pacchetto deb:

 

$ make-googleearth-package

 

Step 3: installazione pacchetto googleearth.deb:

 

# dpkg -i googleearth_6.0.1.2032+0.6.0-1_amd64.deb

 

enjoy 😉

Abilitare la voce elimina in Nautilus per Debian/Ubuntu

 

Quando si vuole eliminare un file in Debian o Ubuntu, Nautilus di default è settato con la voce " Sposta nel cestino", per poi successivamente dal cestino eliminarlo definitavamente. Per abilitare la voce "elimina" nel menu di Nautilus basta:

$ gconf-editor

e spostarsi in:

apps/nautilus/preferences/

ed abilitare:

enable_delete

 

enjoy 😉

Cambiare browser predefinito in Debian & Co

 

Io come browser uso Iceweasel, ma in una installazione standard di Debian, il browser predefinito è Epiphany, quindi quando si trovano dei link, anche se si sta usando Iceweasel, questi vengono aperti con  l'altro browser. Per cambiare si può usare update-alternatives. Per conoscere i browser installati nel sistema:

$ update-alternatives --list x-www-browser

per cambiare browser:

$ sudo update-alternatives --config x-www-browser

questa la mia lista:

edmond@Debianbox:~$ sudo update-alternatives –config x-www-browser
Sono disponibili 5 scelte per l'alternativa x-www-browser (che fornisce /usr/bin/x-www-browser).

  Selezione    Percorso                   Priorità  Stato
————————————————————
  0            /usr/bin/google-chrome      200       modalità automatica
  1            /usr/bin/chromium-browser   40        modalità manuale
  2            /usr/bin/epiphany-browser   85        modalità manuale
  3            /usr/bin/google-chrome      200       modalità manuale
* 4            /usr/bin/iceweasel          70        modalità manuale
  5            /usr/bin/opera              90        modalità manuale

Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:

 

enjoy 😉

LMDE 64 problemi al boot e fstab

 

 

Scrivo due righe per chi si trovasse ad avere lo stesso problema che ho avuto io in una fresca installazione di LMDE 64 bit. I problemi in /etc/fstab sono sempre più frequenti, anzi credo che siano gravemente proporzionali al numero di partizioni che si hanno su hard disk, ossia più partizioni più errori. Come già ho avuto modo di lamentarmi, non solo scambia /dev/sda1 windows con ext3 /, ma questa volta ha aggiunto una partizione inesistente e cioè /dev/sda2, più un kernel panic.

# / was on /dev/sda1 during installation
UUID=385ecae6-bd34-41c3-a524-974b8cd6d17f /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda2 during installation
UUID=c6876978-438f-4a1e-ae53-dacdf22d1e4a none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0
proc    /proc    proc    nodev,noexec,nosuid    0    0
/dev/sda12    /    ext4    rw,errors=remount-ro    0    0
 

Sopra si vede la partizione /dev/sda1 dove c'è Windows, identificata come / ext3, e la partizione /dev/sda2 con swap, errata sia nell'uuid, sia nella partizione. Comunque una volta finita l'installazione al momento di riavviare ho ottenuto una specie di kernel panic, dove in quelle poche righe l'unica cosa che si capiva era: UUID=xxxxxx-xxxx-xxxxx-xxxx inesistente. Quindi il passo successivo è stato avviare da un'altra distro e montare la nuova installazione, e controllare l'uuid, che da un controllo con blkid risultava esatto. Quali le stringhe incriminate?
 

menuentry "Debian GNU/Linux, with Linux 2.6.32-5-amd64 (on /dev/sda12)" {
    insmod part_msdos
    insmod ext2
    set root='(hd0,msdos12)'
    search –no-floppy –fs-uuid –set dc199cb8-c4ee-48e1-9e8c-69b304cd12d9
    linux /boot/vmlinuz-2.6.32-5-amd64 root=UUID=1f084bbd-a556-4e8b-9ab4-c9049cfda7e3 ro quiet
    initrd /boot/initrd.img-2.6.32-5-amd64
}
 

guardando più attentamente si nota che i due uuid sono diversi, il primo esatto il secondo errato, ecco da dove arrivava il kernel panic, infatti una volta modificato il secondo uuid, LMDE riesce a bootare. Successivamente si deve cambiare l'uuid anche in /etc/initramfs-tools/conf.d/resume. Quindi ho l'impressione che piu partizioni si hanno e più si può incorrere in errori, tutto questo in attesa della risoluzione. Una nota positiva dell'installer è che riconosce la partizione zfs 🙂 mentre quello Debian no.

 

enjoy 😉
 

Velocizzare boot e prestazioni su Debian Squeeze parte 2

 

 

Nella guida precedente ho iniziato a sperimentare la possibilità di velocizzare Debian Squeeze ed LMDE, partendo dalla fase di boot, fino ad arrivare in questa seconda parte ad aumentare, ove possibile, la reattività del sistema. Già con l'installazione di preload si cerca di aumentare la reattività dei programmi usati più spesso, ma per ottenere questo bisogna dare a preload alcune ore di utilizzo, affinche memorizzi le abitudini. Le modifiche successive io le ho testate sul mio sistema, senza problemi, ma ciò non toglie che è meglio stare attenti.

 

atime ed /etc/fstab:

la prima modifica riguarda  /etc/fstab e l'inserimento dell'opzione noatime e nodiratime. Linux di default tende a tenere traccia di tutto quello che si fà, non solo delle modifiche dei file, ma anche della solo lettura, e scrive tutto sul disco. Questo sicuramente è d'obbligo su un server, ma su un pc Desktop secondo me non è necessario. C'è da tenere conto che una minore scrittura, significa anche aumento della durata dell' hard disk. Quindi /etc/fstab dovrebbe essere così:

/dev/sdaxx    /    ext4    rw,noatime,nodiratime,errors=remount-ro    0    0

lo stesso discorso vale per la partizione di /home separata.

 

vm.swappiness:

un'altra modifica che si può fare riguarda /etc/sysctl.conf e cioè andare a modificare il file, ed inserire un valore  a vm.swappiness che andrà a dire al kernel se tenere tutto in Ram oppure nella cache su disco.  Oggi ci si ritrova ad avere tanta Ram che nemmeno si utilizza, quindi cerchiamo di sfruttarla. Di default questo valore in Debian è 60, e la modifica si può fare da 0 a 100, io ho optato per 20. Per chi ha un pc portatile, può essere utile diminuire la scrittura su disco, in quanto la durata della batteria ne gioverebbe.

# echo 'vm.swappiness=20' >> /etc/sysctl.conf

 

vm.vfs_cache_pressure:

anche questa opzione da inserire in /etc/sysctl.conf aiuta a velocizzare il sistema, il valore di default in Debian è 100, si può provare a dimezzarlo:

# echo 'vm.vfs_cache_pressure=50' >> /etc/sysctl.conf

 

per le mie esigenze queste opzioni vanno benissimo e mi ritrovo con un pc veloce e reattivo:

 

Boot=25 secondi circa

Halt=5 secondi circa

 

ps: in LMDE consiglio di rimuovere il mintMenu dal pannello, che è pesantissimo, ed aggiungere la classica Barra del menu di Gnome.

 

enjoy 😉

Velocizzare boot e prestazioni su Debian Squeeze parte 1

 

 

Questa guida si propone di rendere più veloce e performante Debian Squeeze, partendo dalla fase di boot. Allo stesso tempo ho voluto provare questi stessi passi anche su LMDE che di default, a mio avviso, è più lenta di Debian Squeeze. Questa guida è adatta chiaramente in ambito Desktop, io stesso sono alla ricerca di un compromesso accettabile, quindi è da considerarsi "sperimentale", di conseguenza da usare a proprio rischio e pericolo. Questa guida ho deciso di dividerla in due parti, nella prima parte si parlerà di come velocizzare  la fase di boot, mentre nella seconda parte di come aumentare le prestazioni del sistema. Quindi c'è la possibilità di provare singolarmente queste due guide e farsi un idea dei vantaggi e degli svantaggi.

 

Velocizzare Boot

 

Step 1 servizi:

Indubbiamente la base da cui partire è sempre l'eliminazione dei servizi di avvio che non si utilizzano, a questo proposito esistono nei repository degli strumenti come Bum è sysv-rc-conf. quest'ultimo molto potente, per ottenere uno snellimento dei servizi.

 

Step 2 insserv:

installare insserv se non già presente, ed abilitare l'esecuzione in parallelo dei servizi:

 

# echo 'CONCURRENCY=makefile' >> /etc/default/rcS

 

Step 3 preload:

installare preload che si occuperà di monitorare le applicazioni lanciate dagli utenti e dalle analisi di questi dati predice quali applicazioni potrebbero eseguire gli utenti, di conseguenza recupera e porta in memoria i relativi binari e le loro dipendenze in modo da velocizzarne l'avvio (programmi).

 

Step 3 readahead-fedora:

installare readahead-fedora, uno strumento che precarica file, in questo caso quelli usati durante il processo di boot, per accelerare l'avvio del sistema. Il file di configurazione è in /etc/readahead.conf, assicurarsi che readahead punti a preload:

 

RAC_EXECIGN="/sbin/readahead /usr/sbin/preload"

e passare da 300 a 100 in:

RAC_MAXTIME="100"

quindi:

# reboot

all'avvio di grub bisogna passare un parametro al kernel per avviare il processo:

init=/sbin/readahead-collector

 

Per concludere questa prima parte mi soffermo su dei numeri appena testati su LMDE, e ne ho fatto una media, il tempo è stato preso dal push del tasto invio fino alla comparsa del desktop (musichetta e compiz) il mio OS è settato senza password, quindi login automatico.

Boot in 23.8 secondi

Halt/Reboot in 10 secondi netti.

Certo ci sono i pro ed i contro con un boot veloce 🙂 Nei prossimi giorni la parte 2.

 

enjoy 😉

Debian Repository kernel 2.6.37 e 2.6.37-ck1

 

Nel mio nuovo Repository si trovano i kernel 2.6.37 sia per architettura i386 che amd64, inoltre si trovano le stesse versioni del kernel col ck1, ossia patchati Con Kolivas. Da aggiungere ad /etc/apt/sources.list il seguente indirizzo:

 

#### Edmond's repository
deb https://www.edmondweblog.com/repo/ binary/

 

Consiglio:

Per chi ha i driver Nvidia installati, almeno a me succede questo, consiglio dopo aver installato il nuovo kernel, quindi prima di riavviare, di modificare il file /etc/X11/xorg.conf, e sostituire sotto Device la voce Nvidia con nv, questo per evitare che avviando il nuovo kernel, il server X, si pianti e renda difficile il passaggio in tty1 (Ctrl-Alt-F1), dopo di chè si possono installare i driver Nvidia, col solito metodo del :

Ctrl-Alt-F1

# /etc/init.d/gdm3 stop

andare nel percorso dei driver Nvidia ufficiali:

# ./NVIDIA-Linux-x86_64-260.19.21.run

 

enjoy 😉

Edmond's Weblog Repository

 

 

Ho voluto creare un piccolo Repository dove poter condividere nuovi programmi o nuovi kernel, con qualche visitatore temerario di passaggio 🙂 Era un pò che ci pensavo se farne uno o meno, ed in questi giorni di festa, stando a casa dal lavoro, mi sono deciso ad abbozzarne uno. La mia titubanza stava nel fatto, che giustamente dopo aver fatto un  Repository qualcosa dentro bisogna mettere, e siccome il tempo che il lavoro mi prende è quello di un'intera giornata, la mia paura era quella di non riuscire a metterci nulla, ma poi riflettendo mi sono detto, scusa, ma in questi ultimi anni quello che hai fatto e scritto lo hai fatto di sera-notte ed il fine settimana, quindi finche la passione arde, andiamo avanti così 🙂  Ordunque l'indirizzo da aggiungere ad /etc/apt/sources.list è il seguente:

#### Edmond's repository
deb https://www.edmondweblog.com/repo/ binary/

al momento non c'è bisogno di chiave per l'autenticazione.

 

Ah….quasi dimenticavo….c'è già qualcosa di nuovo ed interessante all'interno 🙂

 

enjoy 😉

Wake on LAN (WOL) su Debian Squeeze

 

Wake on LAN (WOL) è uno standard Ethernet che consente di avviare un computer in standby da una postazione remota, a patto di conoscerne l'indirizzo MAC. Tutto questo è possibile dato che i computer recenti anche se spenti, continuano ad essere alimentati con una tensione di standby. Questa guida è stata testata su Debian Squeeze con dei pc in lan.

 

Requisiti:

Verificare che WOL sia attivato nel Bios dei pc che vogliamo accendere.

 

# apt-get install ethtool wakeonlan

 

verificare che sulla schede di rete sia abilitato WOL:

# ethtool eth0

 

il risultato nel mio caso è questo:

 

root@debian:/home/edmond# ethtool eth0
Settings for eth0:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Supports auto-negotiation: Yes
    Advertised link modes:  10baseT/Half 10baseT/Full
                            100baseT/Half 100baseT/Full
                            1000baseT/Full
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Speed: 100Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on
    Supports Wake-on: pumbag
    Wake-on: g
    Current message level: 0x00000001 (1)
    Link detected: yes
 

"g" significa che WOL è abilitato

nel caso fosse su "d" significa che è disabilitato, quindi per abilitarlo:

 

# ethtool -s eth0 wol g

 

creare uno script chiamato wol ed inserire:

 

## /etc/init.d/wol
#
# chkconfig: 2345 99 99
# description: Force NIC into WOL mode
#
ethtool -s eth0 wol umbg
exit

 

quindi:

 

$ chmod a+x wol

# cp wol /etc/init.d/

# update-rc.d wol defaults

 

adesso per svegliare il nostro pc, basta inviare i Magic Packet:

 

$ wakeonlan indirizzo_mac_pc

 

 

enjoy 🙂