Archive for October, 2010

Convertire un file m2t in avi con Avidemux

Dopo aver provato a convertire in avi i file m2t, prodotti dalla registrazione del digitale terrestre (DVB) con Kaffeine, il miglior risultato è stato ottenuto usando Avidemunx, in quanto mencoder desincronizzava l’audio e ffmpeg produceva una bassissima qualità video.

Per ottimizzare a riga di comando Avidemux, basta creare il seguente script bash con:

sudo nano /usr/bin/avidemux2avi

copiarci dentro il seguente codice:

#!/bin/bash
avidemux2_gtk --video-codec "XVID4" --video-conf cbr=br,mbr=4800 \
--audio-codec "MP3" --audio-delay -1000 --output-format AVI --autoindex \
--nogui --load "$1" --save "$(echo $1 | awk -F"." '{print $1}').avi" --quit
rm "$1".idx

e renderlo eseguibile con:

sudo chmox +x /usr/bin/avidemux2avi

A questo punto basta dare il seguente comando per convertire un file:


avidemux2avi nomefile.m2t

Togliere “a capo” da una lista

Poniamo di avere un file chiamato “elenco.txt” contenente la seguente lista:

[INSTALLATO, DIPENDENZA] gcj-4.3-base
[INSTALLATO, DIPENDENZA] gij-4.2
[INSTALLATO, DIPENDENZA] gij-4.3

In questo caso ad esempio una parte copiata dal file /var/log/aptitude

Per estrarre solamente i nomi dei file, togliendo tutti gli “a capo” è possibile usare la seguente sequenza di comandi:

cat elenco.txt | awk -F" " '{print $3}' | tr "\n" "&" | sed -e 's/&/ /g' > elenco2.txt

Il risultato dentro a elenco2.txt sarà come segue:

gcj-4.3-base gij-4.2 gij-4.3

Questo file sarà comodo per poterlo passare ad un eventuale aptitude con:

sudo aptitude purge $(cat eleco2.txt)

Installare digitale terrestre USB CE9500 DVB-T

Questa periferica non è riconosciuta dal sistema per cui bisogna aggiungere manualmente un modulo esterno al kernel. Non esiste un firmware apposito per il 9500 ma fortunatamente il firmware del 6230 funziona perfettamente.

Installare il pacchetto build-essential, nel caso non lo abbiate ancora, con:

sudo aptitude install build-essential 

quindi scaricare il firmware dal sito http://linuxtv.org tramite il comando:

hg clone http://linuxtv.org/hg/v4l-dvb

Una volta scaricato il tutto entrare nella cartella v4l-dvb e lanciare i seguenti comandi:

make
sudo make install

(la compilazione richiede qualche minuto).

A questo punto installare Kaffeine, e tramite il menu “DVB > Canali” fare una scansione e aggiungerli al programma.
Volendo è anche possibile registrare i programmi tramite Kaffeine, il risultato sarà un file di tipo m2t.
Per convertire un file m2t in un file avi usare il seguente comando:

mencoder file_sorgente.m2t -ofps 25 -ovc xvid -oac mp3lame -lameopts abr:br=192 -srate 48000 -vf scale=720:576 -xvidencopts fixed_quant=4 -o file_destinazione.avi

Sincronizzare dei file VCARD con un cellulare Win Mobile

Per sincronizzare dei file VCARD con un cellulare Windows Mobile si devono usare installare i seguenti programmi:

aptitude install multisync0.90 opensync-plugin-evolution opensync-plugin-file opensync-plugin-synce synce-kpm synce-multisync-plugin synce-sync-engine

Una volta installati si devono usare in questa sequenza:

Avviare il motore che permette la connessione tra computer e cellulare/palmare con:

synce-sync-engine

Avviare l’interfaccia grafica del motore con:

synce-kpm

Una volta avviato, nella terza linguetta si trova l’opzione per creare una friendship tra computer e cellulare/palmare.

Avviare il programma per la sincronizzazione con:

multisync0.90

Creare quindi due nuove sincronizzazioni, una tra synce-opensync-plugin e evo2-sync che permette di sincronizzare i contatti con outlook, e una tra synce-opensync-plugin e file-sync che permette di sincronizzare i contatti con dei file VCARD presenti in una cartella.

Nella creazione di quest’ultima specificare la cartella all’interno della configurazione, ad esempio /home/utente/Rubrica/Sync inserito dentro il path.

Convertire CSV in VCARD e viceversa

Non trovando nessun programma che mi permetta questo, si possono usare i seguenti script per convertire un file CSV (separato da una virgola) in una serie di file VCARD, questi file possono essere sincronizzati all’interno di un cellulare.

csv2vcard.sh

#!/bin/bash

rm Sync -rf
mkdir Sync

sed -e's/\"//g' $1 > $1.old
mv $1.old $1

IFS='
'

for X in $(cat $1)
do

nome=$(echo $X | awk -F "," '{ print $1 }')
secondo=$(echo $X | awk -F "," '{ print $2 }')
cognome=$(echo $X | awk -F "," '{ print $3 }')
societa=$(echo $X | awk -F "," '{ print $4 }')
posizione=$(echo $X | awk -F "," '{ print $5 }')
ufficio=$(echo $X | awk -F "," '{ print $6 }')
cellulare=$(echo $X | awk -F "," '{ print $7 }')
email=$(echo $X | awk -F "," '{ print $8 }')

echo $nome $secondo $cognome

echo "BEGIN:VCARD" > ./Sync/$nome$secondo$cognome
echo "VERSION:2.1" >> ./Sync/$nome$secondo$cognome
echo "X-EVOLUTION-FILE-AS:$cognome, $nome $secondo" >> ./Sync/$nome$secondo$cognome
echo "FN:$cognome, $nome $secondo" >> ./Sync/$nome$secondo$cognome
echo "N:$cognome;$nome;$secondo;;" >> ./Sync/$nome$secondo$cognome
echo "NICKNAME:" >> ./Sync/$nome$secondo$cognome
echo "PHOTO:" >> ./Sync/$nome$secondo$cognome
echo "CATEGORIES:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-AssistantsName:" >> ./Sync/$nome$secondo$cognome
echo "EMAIL:$email" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-ManagersName:" >> ./Sync/$nome$secondo$cognome
echo "ORG:$societa" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-Department:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-Office:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-SpousesName:" >> ./Sync/$nome$secondo$cognome
echo "TEL;WORK:$ufficio" >> ./Sync/$nome$secondo$cognome
echo "TEL;CELL:$cellulare" >> ./Sync/$nome$secondo$cognome
echo "TITLE:$posizione" >> ./Sync/$nome$secondo$cognome
echo "URL:" >> ./Sync/$nome$secondo$cognome
echo "END:VCARD" >> ./Sync/$nome$secondo$cognome

done

rm ./Sync/Nome*

vcard2csv.sh

#!/bin/bash

cd Sync

echo Nome,Secondonome,Cognome,Società,Posizione,Ufficio,Cellulare,Email > ../$1

IFS='
'

for X in *
do

dos2unix $X

sed -e 's/,//g' $X > $X.old
mv $X.old $X

cognome=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $1 }')
nome=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $2 }')
secondo=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $3 }')
email=$(cat $X | grep "EMAIL:" | awk -F ":" '{ print $2 }')
societa=$(cat $X | grep "ORG:" | awk -F ":" '{ print $2 }')
ufficio=$(cat $X | grep "WORK:" | awk -F ":" '{ print $2 }')
cellulare=$(cat $X | grep "CELL:" | awk -F ":" '{ print $2 }')
posizione=$(cat $X | grep "TITLE:" | awk -F ":" '{ print $2 }')

echo $nome $secondo $cognome

echo $nome,$secondo,$cognome,$societa,$posizione,$ufficio,$cellulare,$email >> ../$1

done

cd ..