venerdì 18 febbraio 2011

Posted by Picasa

lunedì 10 maggio 2010

Installare driver alsa da sorgente

Installiamo i pacchetti necessari alla compilazione dei driver


sudo apt-get install build-essential ncurses-dev linux-headers-`uname -r`


Creare la cartella dove scaricare i driver


mkdir alsa

cd alsa


Scaricare i seguenti pacchetti


wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.23.tar.bz2


wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.23.tar.bz2


wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.23.tar.bz2


wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.23.tar.bz2


Scompattiamo gli archivi


tar xvfj alsa-driver-1.0.23.tar.bz2

tar xvfj alsa-lib-1.0.23.tar.bz2

tar xvfj alsa-utils-1.0.23.tar.bz2

tar xvfj alsa-firmware-1.0.23.tar.bz2

Installiamo i sorgenti

cd alsa-driver-1.0.23

./configure && make

sudo make install

cd ..


cd alsa-lib-1.0.23

./configure && make

sudo make install

cd ..


cd alsa-utils-1.0.23

./configure && make

sudo make install

cd ..


cd alsa-firmware-1.0.23

./configure && make

sudo make install


riavviamo il PC é godiamoci il nuovo server audio

domenica 24 gennaio 2010

Ripristino del Master Boot Record di Windows 7

Può capitare di voler ripristinare Master Boot Record (MBR) di windows dopo l'installazione di un grub. L'operazione è molto semplice basta avviare il computer e fare boot col CD di windows 7, selezionare la voce risolvi problemi e poi Prompt dei comandi. Quindi per finire digitare i seguenti comandi


cd X:\Windows\system32\

bootrec .exe /fixmbr

bootrec.exe /fixboot


giovedì 21 gennaio 2010

Music Player Daemon

Music Player Daemon è un serve riproduttore di musica che permette la riproduzione audio agendo in background (demone).

MPD principalmente si occupa di creare un database di canzoni (chiamato “mpd.db”), e setta un utente mpd che possiede i diritti sul folder.
La configurazione del demone è semplice basta editare il file /etc/mpd.conf aggiustando le seguneti voci.
----------------------------------------------------------------------------------------------
music_directory "/home/tuo-utnente/Documenti/Musica"

playlist_directory "/home/tuo-utnente/.mpd/playlists"

db_file "/home/tuo-utnente/.mpd/mpd.db"

log_file "/home/tuo-utnente/.mpd/mpd.log"

pid_file "/home/tuo-utnente/.mpd/mpd.log"

state_file "/var/lib/mpd/state"

user "mpd"

bind_to_address "localhost"
bind_to_address        "/var/run/mpd/socket"

port "8000"
--------------------------------------------------------------------------------------------
Il path del demone “mpd” e /etc/init.d/mpd, per avviare il server si puo digitare il comando.
sudo /etc/init.d/mpd start
L'utilizzo di questo programma richiede in abinamento l'utilizzo di un programmia fronted che consente l'accesso al demone.Esistono diversi client compatibili con mpd, con interfaccia grafica, come ad esempio "Ario" e "Sonata", io comunque vi consiglio il progetto ncmpcpp che funziona in console ed ha un consumo molto ridotto ri risorse.
Adesso per configurare il client ncmpcpp copiamo il file "/usr/share/doc/ncmpcpp/examples/config.gz" e scompattiamolo nella directory ".ncmpcpp" quindi editiamo le seguenti voci
------------------------------------------------------------------------------------------------
user "mpd"
bind_to_address "localhost"
port "8000"
music_directory "~/Musica"
playlist_directory "~/.mpd/playlists"
db_file "~/.mpd/tag_cache"
log_file "~/.mpd/mpd.log"
error_file "~/.mpd/errors.log"
pid_file "~/.mpd/pid"
state_file "~/.mpd/state"
-----------------------------------------------------------------------------------------------


mercoledì 20 gennaio 2010

cron:automatizzare i processi

Problema: Avviare automaticamente l'esecuzione di un processo.

Soluzione: L'esecuzione automatica di programmi sulla base di una agenda stabilita può essere facilmente realizzata in ambiente “unix” grazie al comando “crontab”. Per esempio immaginiamo di aver a disposizione uno script “ backup.sh” per eseguire la copia di backup di una selezione di importanti documenti su di un disco esterno. Per cominciare creiamo una directory nascosta tipo “.cron.daily” nella nostra home, copiamoci il file “ backup.sh” dentro e rendiamolo eseguibile

  1. mkdir .cron.daily

  2. cp backup.sh /home/nome_utente (sostituire col vostro nome utente) .cron.daily/

  3. sudo chmod +x /home/nome_utente/.cron.daily/backup.sh


I processi che vengono eseguiti da cron sono elencati in appositi file. A livello di sistema i processi sono elencati nel file /etc/crontab, a livello utente è però possibile creare nella home un file crontab, per esempio possiamo creare un file nascosto .crontab

Ecco un crontab campione

# minuti ore mday month wday comando

15 03 * * * sh /User/nome_login/.cron.daily/backup.sh

15 03 1 * * sh /User/nome_login/.cron.daily/Sample1

15 03 * * 6 sh /User/nome_login/.cron.daily/Sample2

*/15 03 * * * sh /User/nome_login/.cron.daily/Sample3

Nella prima linea ci sono le intestazioni dei file che specificano il significato delle diverse entry che iniziano dalla seconda linea. Le voci sono raggruppate in colonne separate da un tab.

La seconda linea corrisponde all'esecuzione dello script di backup, lanciato alle 03:15 tutti i giorni della settimana (wday) per tutti i giorni (mday) di tutti i mesi (month). Gli asterischi significano sempre.

Ci sono anche altri esempi:

Linea 3: esegue il comando sample 1 alle 3:15 soltanto il 1 giorno di ogni mese.

Linea 4: esegue il comando sample 2 alle 3:15 de 6 giorno ogni della settimana.

Linea 5: Esegue il comando sample 3 ogni 15 minuti.

Alle variabili di cron tab è possibile assegnare i seguenti parametri

"minuti" 0-59, "ore"0-23, "mday2 1-31, "wday" 0-7 (0 e 7 = domenica), oppure con le prime 3 lettere del nome del giorno, (es. “Thu” per Thursday), month 1-12, oppure con le prime tre lettere del nome del mese (es. “Jan” per “January”).

É possibile settare anche intervalli o sequenze (separati da virgole). Per esempio, 8-11 nella colonna delle ore verrà associato l'esecuzione di un comando alle 8, 9, 10, e 11. Una sequenza come 1,2,5,9 nella colonna delle ore verrà associata alla esecuzione dello script alle ore 1, 2, 5, e 9.

Una volta creati e posizionati crontab e i relativi script non resta che avviare il processo digitando:

crontab /Users/nome_login/.crontab

per fermare cron basta eseguire il comando:

crontab -r

Mentre per stampare a schermo la lista dei processi gestiti da cron basta digitare

cronta -l

é importante periodicamente controllare quali processi sono in funzione dal momento che crontab può occasionalmente fermarsi ad esempio in occasione dell'aggiornamento del software.


sabato 19 dicembre 2009

mplayer



Siccome ho iniziato a studiare l'incredibile suite multimediale opensource mplayer/mencoder con questo articolo inizia una rubrica dove descrivo e annoto i miei progressi. In questo primo lavoro descrivo uno script che permette di registrare da un ingresso composito







mencoder tv:///2 -tv driver=v4l2:input=1:norm=pal:width=480:height=360:outfmt=yuy2:device=/dev/video0:adevice=/dev/dsp:audiorate=32000:forceaudio:forcechan=1:buffersize=80 -ovc lavc -lavcopts threads=3:vcodec=mpeg4:vbitrate=1200:keyint=30 -oac mp3lame -lameopts br=128:cbr:mode=3:vol=8 -ffourcc divx -endpos 120 -o VHS.avi

tv:/// setta l'input della scheda di acquisizione, il valore 2 restituisce l'ingresso composto, almeno per la mia scheda saa7134

driver=v4l2:input=1:norm=pal:width=480:height=360:outfmt=yuy2:device=/dev/video0:adevice=/dev/dsp:audiorate=32000:forceaudio:forcechan=1:buffersize=80

-tv questa opzione permette di gestire diverse proprietà della scheda di acquisizione

driver=v4l2 permette di scegliere il driver d'ingresso , nel nostro caso v4l2

input Specifica l'ingresso, default: 0 (TV), 1 sta per ???

norm=pal standard TV europeo, le alternative sono PAL, SECAM, NTSC

width=480:height=360 setta le dimensioni della finestra

outfmt=<value> Specifica l'output del tuner utilizzando un preset supportato dal driver V4L (yv12, rgb32, rgb24, rgb16, rgb15, uyvy, yuy2, i420)

device=/dev/video0 specifica il device video

adevice=/dev/dsp seleziona l'audio device, sebbene stando alla manpage di mplayer la formula /dev/xxx dovrebbe essere utilizzata con OSS nella mia esperienza funziona molto bene

forceaudio Cattura l'audio sebbene non sia rivelato nessun device audio da v4l (forse per questo funziona bene l'opzione precedente).

Forcechan=1 Questa opzione permette di forzare le registrazioni in stereo o mono (rispettivamente valori 1 e 2)

buffersize=80 Dimensione massima del buffer espressa in mb (default=dinamico)

audiorate=32000 setta la cattura audio al bitrate di 32000

-ovc lavc -lavcopts threads=3:vcodec=mpeg4:vbitrate=1200:keyint=30

ovc lavc (−lavcopts) Codifica video utilizzando le libreria libavcodec

threads=3 setta il numero massimo di “ threads” da utilizzare, il valore di default è 1 (1-8) potrebbe avere un leggero effetto negativo sulla valazione del motion

vcodec=mpeg4 indica lo specifico codec da utilizzare, l'opzione di default è mpeg4, ecco i vari codec utilizzabili

asv1 (ASUS Video v1), asv2 (ASUS Video v2), dvvideo (Sony Digital Video), ffv1 (FFmpeg’s lossless video codec), ffvhuff (nonstandard 20% smaller HuffYUV using YV12), flv (Sorenson H.263 used in Flash Video ), h261 (H.261), h263 (H.263), h263p (H.263+), huffyuv (HuffYUV), libtheora (Theora) libx264 (x264 H.264/AVC MPEG-4 Part 10), libxvid (Xvid MPEG-4 Part 2 (ASP)), ljpeg (Lossless JPEG), mjpeg (Motion JPEG), mpeg1video (MPEG-1 video), mpeg2video (MPEG-2 video), mpeg4 (MPEG-4 (DivX 4/5)), msmpeg4 (DivX 3), msmpeg4v2 (MS MPEG4v2), roqvideo (ID Software RoQ Video), rv10 (an old RealVideo codec), snow (also see: vstrict) (FFmpeg’s experimental wavelet-based codec), svq1 (Apple Sorenson Video 1), wmv1 (Windows Media Video, version 1 (AKA WMV7)), wmv2 (Windows Media Video, version 2 (AKA WMV8))

vbitrate=1200 imposta il bitrate a 1200 Kbit

keyint=30 setta il massimo intervallo fra gli IDR-frames (default=250). Valori più grandi salvano i bits cosi che migliorano la qualità al costo delle precisione di ricerca

-oac mp3lame -lameopts br=128:cbr:mode=3:vol=8

-oac mp3lame codifica in mp3 utilizzando la libreria lame

-lameopts serve a settare le opzione di lame

-br=128:cbr nel modalità CBR indica il bitrate/s in kbps, mentre nella modalità VBR indica il valore minimo per frame i valori permessi sono <32-384> per cbr e >112 per VBR.

mode=3 setta la modalità audio come mono, (mode=<0−3>, 0 stereo, 1 joint-stereo, 2 dualchannel, 3 mono)

vol=8 audio input gain range, vol=<0−10>

-ffourcc divx puo essere utilizzata per sovrascrivere il video fourcc del file output

-endpos 120 fine della registrazione dopo 120 secondi,

-o VHS.avi salva tutto nel file -0 VHS.avi




giovedì 17 dicembre 2009

esportare le mapage

Molto spesso quando si consultano corpose mapage di programmi complessi come ad esempio mplayer/mencoder si sente l'esigenza esportarle in formati più gestibili magari anche adatti alla stampa come il pdf. Questa operazione è in realtà molto semplice basta eseguire i seguenti comandi da shell

man -t mplayer> mplayer.ps

ps2pdf mplayer2.ps mplayer2.pdf

Lettori fissi