FF Multi Converter su Debian

 

FF Multi Converter è una Gui utile alla conversione di vari formati, da quelli audio/video, a quelli che riguardono sia le immagini che il testo. Chiaramente questa Gui si appoggia a programmi esterni, come FFmpeg, unoconv, ed alla libreria PIL, Per provarlo:

 

$ sudo apt-get install python-qt4 ffmpeg unoconv

$ tar -xzf ffmulticonverter-1.2.0.tar.gz

$ cd ffmulticonverter-1.2.0

$ ./setup.py install

tutti i formati supportati, si possono vedere su questa pagina.

enjoy 😉

Downgrade da Debian Sid a Debian Squeeze No Problem

 

Ecco, oggi mi sono reso conto che un downgrade da Debian Unstable (Sid) a Debian Stable (Squeeze) si può fare. Detta così sembra come aver scoperto l'acqua calda, ma IO ero convinto che ciò potesse portare dei grossissimi problemi, e quindi era da considerarsi quasi una leggenda metropolitana. Siccome solo gli stolti non cambiano idea, oggi ho deciso di togliermi questa curiosità, ed anticipo di essere stato incredibilmente sorpreso da mamma Debian 🙂 . Sono partito da una Debian Sid aggiornata fino a stamattina 21/12/2011, l'obiettivo da raggiungere quindi non era semplice, dato che si trattava di fare un downgrade da Gnome 3.2 a Gnome 2.30, quindi con dei cambiamenti "epocali". Premetto che su Debian Sid, addirittura avevo un solo kernel, per chi ha due kernel, si troverà qualche problema in meno.

 

Start:

 

# echo 'deb https://ftp.it.debian.org/debian/ squeeze main' >> /etc/apt/sources.list

# nano /etc/apt/preferences

 

ed incollare:

Package: *
Pin: release a=stable
Pin-Priority: 1001

quindi:

# apt-get update && apt-get dist-upgrade -u

 

ad un certo punto ho avuto questi errori:

 

I seguenti pacchetti hanno dipendenze non soddisfatte:
 gnome-core : Dipende: dmz-cursor-theme ma non è installato
              Dipende: evolution (>= 2.30) ma non è installato
              Dipende: file-roller (>= 2.30) ma non è installato
              Dipende: gnome-about (>= 2.30) ma non è installato
              Dipende: gnome-themes (>= 2.30) ma non è installato
              Dipende: gstreamer0.10-alsa (>= 0.10.29) ma non è installato
 libnet-ssleay-perl : Dipende: libssl0.9.8 (>= 0.9.8m-1) ma non è installato
 wget : Dipende: libssl0.9.8 (>= 0.9.8m-1) ma non è installato
E: Dipendenze non trovate. Riprovare usando -f.

 

si risolve come suggerito con:

 

# apt-get update && apt-get dist-upgrade -u -f

# apt-get update && apt-get dist-upgrade -u -f

 

a questo punto mi ha avvertito che stavo eliminando il mio unico kernel, quindi mi sono parato il culo ed ho detto di NO.

 

# apt-get install -f

# apt-get update && apt-get install linux-image-2.6.32-5-amd64 linux-headers-2.6.32-5-amd64

# update grub

 

se tutto è andato bene, riavviare ed accedere in modalità ripristino, e ricordarsi di rimuovere i repo di Sid, quindi:


# apt-get update

# apt-get upgrade

 

ed inizierà di nuovo con il downgrade di un bel po di pacchetti, quindi, ancora una volta:

 

# apt-get update && apt-get dist-upgrade -u -f

 

che rimuoverà gli ultimi dieci pacchetti rimasti.

 

# apt-get install gnome-desktop-environment

# init 6

 

adesso abbiamo a tutti gli effetti una Debian Squeeze quasi perfetta, dico quasi perchè, molto sicuramente mancheranno i due pannelli, quindi vedremo solo il desktop senza poter accedere al Menu, ma fortunatamente col tasto destro del mouse, abbiamo la possibilità di aprire il terminale, quindi per riavere i due pannelli, eseguire:

 

# debconf gnome-panel

 

Finito, ed è proprio qui che mi sono meravigliato, perchè ho una Debian Squeeze originale funzionante al 100%, e considerando che da Sid a Stable di differenze attualmente ce ne sono molte, ho avuto per l'ennessima volta la riprova di quanto è "potente sicuro e flessibile" un sistema Debian (niente flame 🙂 ) quindi invito qualcuno a provare, ed a smentirmi, facendo la stessa cosa con un'altra distro, con un downgrade simile (niente flame ancora 🙂 )

 

ATTENZIONE:

il risultato che ho avuto funziona al 100%, ma chi si cimenta a fare una cosa del genere deve sapere come risolvere alcuni problemi, che io do per scontato. Un esempio pratico è che bisogna reinstallare i driver Nvidia, e nel caso non dovessero funzionare provare ad eliminare xorg.conf e poi riprovare, oppure passare provvisoriamente ai nouveau ecc. ecc.. Chi da Nvidia passa ai nouveau, deve ricordarsi di eliminare il file in blacklist dei nouveau che si trova in /etc/modprobe.d , lanciare X -configure, controllare xorg.conf che abbia i "nouveau" e non gli "nv" ecc. ecc. Nel caso (sicuramente) la connessione non va quando si cerca di aggiornare i repo dalla modalità di ripristino, bisogna inserire manualmente i parametri, tipo, ifconfig eth0 192.168.1.5 e poi anche dhclient, ecc. ecc. Se grub da errore, fare un apt-get install grub  In parole povere ognuno è responsabile delle proprie ca$$ate, e deve saper porvi rimedio. Credo di aver detto tutto…. quindi io non ho colpe 🙂

 

ps: il comando doppio in cima non è un errore.

 

enjoy 😉

Building pacchetto Debian da sorgenti

 

Questo è uno dei modi per costruire un pacchetto debian, partendo dai sorgenti.

 

# apt-get install dpkg-dev build-essential devscripts dh-make debhelper dpatch

$ apt-get source PACCHETTO

$ cd PACCHETTO-X.X.X

# apt-get build-dep PACCHETTO

# dpkg-buildpackage -us -uc

# cd ..

$ dpkg -i PACCHETTO.deb


 

enjoy 😉

Rimuovere dipendenze dopo apt-get buil-dep

 

Quando si ha bisogno di compilare un programma da sorgenti, si usa il comando apt-get buil-dep, che si occuperà d'installare le dipendenze necessarie. Una volta compilato ed installato il programma, abbiamo ancora tutte le dipendenze installate, se si volessero disinstallare, di seguito farò un esempio con il programma Pino:

 

 

root@Debianbox:/home/edmond# apt-get build-dep pino
Lettura elenco dei pacchetti… Fatto
Generazione albero delle dipendenze      
Lettura informazioni sullo stato… Fatto
I seguenti pacchetti NUOVI saranno installati:
  gir1.2-gtk-2.0 gir1.2-javascriptcoregtk-1.0 gir1.2-notify-0.7
  gir1.2-webkit-1.0 libdbus-glib-1-dev libdbusmenu-glib-dev libdbusmenu-glib3
  libenchant-dev libgee-dev libgtkspell-dev libgtkspell0 libindicate-dev
  libindicate5 libjavascriptcoregtk-1.0-dev libnotify-dev libunique-dev
  libvala-0.10-0 libwebkitgtk-dev valac-0.10
0 aggiornati, 19 installati, 0 da rimuovere e 1 non aggiornati.
È necessario scaricare 3380 kB/3811 kB di archivi.
Dopo quest'operazione, verranno occupati 15,8 MB di spazio su disco.
Continuare [S/n]?

 

sopra vengono mostrate le dipendenze necessarie per Pino.

 

root@Debianbox:/home/edmond# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')
I seguenti pacchetti saranno RIMOSSI:                
  cmake{u} cmake-data{u} gir1.2-gtk-2.0{u} gir1.2-javascriptcoregtk-1.0{u}
  gir1.2-notify-0.7{u} gir1.2-webkit-1.0{u} libdbus-glib-1-dev{u}
  libdbusmenu-glib-dev{u} libdbusmenu-glib3{u} libenchant-dev{u}
  libgee-dev{u} libgtkspell-dev{u} libgtkspell0{u} libindicate-dev{u}
  libindicate5{u} libjavascriptcoregtk-1.0-dev{u} libnotify-dev{u}
  libunique-dev{u} libvala-0.10-0{u} libwebkitgtk-dev{u}
  libxmlrpc-core-c3{u} valac-0.10{u}
0 pacchetti aggiornati, 0 installati, 22 da rimuovere e 1 non aggiornati.
È necessario prelevare 0 B di archivi. Dopo l'estrazione, verranno liberati 29,9 MB.

 

invece quà si vedono le dipendenze che non servono più e che quindi verranno disinstallate. Riepilogando quindi i comandi:

 

# apt-get build-dep pino

# aptitude markauto $(apt-cache showsrc pino | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')

 

enjoy 😉

(FFmpeg) Video in Slow Motion e Fast Motion

 

Un bel po di tempo fa, avevo fatto una guida su come rallentare un video con FFmpeg, dal titolo un po ambiguo :). Alla luce dei miei ultimi esperimenti sempre con FFmpeg, ho notato che esiste un modo molto più facile e veloce, per ottenere un video in Slow Motion oppure in Fast Motion.

Slow Motion:

$ ffmpeg -i input.avi -vf "setpts=5.0*PTS" output.avi

 

Fast Motion:

$ ffmpeg -i input.avi -vf "setpts=0.2*PTS" output.avi

ps: i video in fast motion non erano visivamente interessanti.

enjoy 😉

(FFmpeg) filtri ed effetti da "mutante"

 

Ho giocato un po con FFmpeg, e sono venuti fuori due video particolari…..uno con un effetto "mutante". Diciamo che non sono nulla di particolare, ma fanno capire la potenza e la flessibilità di questo strumento. Il video in originale, è quello che ho usato in una guida precedente.

$ ffmpeg -i input.avi -vf "[in] split [1], fifo, [2] overlay=0:H/280 [out]; [1] fifo, crop=iw:ih/2:2:ih/2, vflip [2]" output.avi

$ ffmpeg -i input.avi -vf "[in] split [1], fifo, [2] overlay=0:H/2 [out]; [1] fifo, crop=iw:ih/2:2:ih/32, vflip [2]" output.avi

 

enjoy 😉

(FFmpeg) Installare OpenCV 2.3.1 su Debian

 

OpenCV è una libreria orientata alla computer vision.Originariamente è stata sviluppata da Intel, mentre attualmente è sotto licenza open source BSD. Mi sto interessando da poco ad OpenCV, partendo dall'integrazione con FFmpeg, e quindi poter provare i filtri erode,dilate e smooth., anche se ho notato che il meglio lo fa da solo. Per farla breve ho deciso d'installare OpenCV su Debian Sid, per poi ricompilare FFmpeg con l'opzione –enable=libopencv.

 

 

# apt-get install libavformat-dev libgtk2.0-dev pkg-config cmake libswscale-dev bzip2

Download OpenCV

$ tar -xvf OpenCV-2.3.1a.tar.bz2

$ cd OpenCV-2.3.1

$ cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=OFF -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON .

 

alla fine del cmake se tutto è andato bene si avrà qualcosa del genere:

 

—   GUI:
—     GTK+ 2.x:                   YES
—     GThread:                    YES

—   Media I/O:
—     ZLib:                       YES
—     JPEG:                       TRUE
—     PNG:                        TRUE
—     TIFF:                       TRUE
—     JPEG 2000:                  TRUE
—     OpenEXR:                    YES
—     OpenNI:                     NO
—     OpenNI PrimeSensor Modules: NO
—     XIMEA:                      NO

—   Video I/O:
—     DC1394 1.x:                 NO
—     DC1394 2.x:                 YES
—     FFMPEG:                     YES
—       codec:                    YES
—       format:                   YES
—       util:                     YES
—       swscale:                  YES
—       gentoo-style:             YES
—     GStreamer:                  NO
—     UniCap:                     NO
—     PvAPI:                      NO
—     V4L/V4L2:                   FALSE/FALSE
—     Xine:                       NO

—   Other third-party libraries:
—     Use IPP:                    NO
—     Use TBB:                    NO
—     Use ThreadingFramework:     NO
—     Use Cuda:                   NO
—     Use Eigen:                  NO

—   Interfaces:
—     Python:                     YES
—     Python interpreter:         /usr/bin/python2.7 -B (ver 2.7)
—     Python numpy:               YES
—     Java:                       NO

—   Documentation:
—     Sphinx:                     NO
—     PdfLaTeX compiler:          /usr/bin/pdflatex
—     Build Documentation:        NO

—   Tests and samples:
—     Tests:                      YES
—     Examples:                   YES

—   Install path:                 /usr/local

—   cvconfig.h is in:             /home/edmond/OpenCV-2.3.1

 

dove si noterà la voce FFmpeg=YES …..continuando :

 

$ make

$ sudo make install

 

Configurare OpenCV:

 

$ sudo nano /etc/ld.so.conf.d/opencv.conf

 

ed incollare questo:

 

/usr/local/lib

 

poi:

 

$ sudo ldconfig

$ sudo gedit /etc/bash.bashrc

 

ed incollare alla fine questo:

 

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

 

ancora:

 

$ cd ~/OpenCV-2.3.1/samples/c

$ chmod +x build_all.sh

$ ./build_all.sh

 

adesso siamo pronti a ricompilare FFmpeg con l'aggiunta dell'opzione –enable=libopencv, ed usarlo con questa sintassi:

 

$ ffmpeg -i input.avi -vf ocv="dilate=5×5+2×2/cross:2" output.avi

 

per il filtro erode, vale quanto sopra.

 

$ ffmpeg -i input.avi -vf "ocv=smooth=blur_no_scale" -output.avi

 

smooth accetta "blur", "blur_no_scale", "median", "gaussian", "bilateral", di  default è "gaussian"

 

Questo è tutto per quanto riguarda OpenCV con FFmpeg.

 

 

enjoy 😉

(Errori) Synaptic "su-to-root" (No such file or directory)

 

Lanciando synaptic da gui, non si è avviato, segnalando l'errore:

 

Could not launch 'Synaptic Package Manager'
Failed to execute child process "su-to-root" (No such file or directory)

 

per risolvere installare il pacchetto mancante:


# apt-get install menu

 

per errori simili, per cercare il pacchetto mancante, fare riferimento a " Ricerca nel contenuto dei pacchetti "

 

 

enjoy 😉

(FFmpeg) Inserire un video in un video

 

Per ottenere un video come sopra entrano in gioco una serie di filtri con FFmpeg ( movie, scale, setpts, overlay ). La finestra con il video più piccolo ha un anticipo di 3.6 secondi sul video principale, settato dall' opzione seek_point. Le misure si riferiscono a questo video specifico. FFmpeg……J'Adore 🙂

 

$ ffmpeg -i input.avi -vf "movie=input.avi:seek_point=3.6, scale=120:-1, setpts=PTS-STARTPTS [movie]; [in] setpts=PTS-STARTPTS, [movie] overlay=330:220 [out]" output.avi

 

enjoy 😉