FFmpeg su Debian Jessie

 

ffmpeg debian jessie

 

Per installare FFmpeg su Debian Jessie bisogna inserire i repository multimedia. Su questo blog c'è tutta una categoria dedicata a FFmpeg.

 

# sh -c 'echo "deb http://www.deb-multimedia.org jessie main" >> /etc/apt/sources.list'

# apt-get update

# apt-get install deb-multimedia-keyring

# apt-get install ffmpeg

 

enjoy ๐Ÿ˜‰

 

(FFmpeg) Convertire video da AVI a WebM su Debian Sid

 

Convertire video da AVI a WebM usando il solito FFmpeg. Nel caso specifico essendo su Debian Sid sto usando la versione 0.10.2.

$ ffmpeg -i input.avi -codec:v libvpx -quality good -cpu-used 2 -b:v 500k -qmin 10 -qmax 42 -maxrate 500k -bufsize 1000k -threads 4 -vf scale=-1:480 -codec:a libvorbis -b:a 128k output.webm

cpu-used da 0 a 5

enjoy ;

(FFmpeg) Error while opening encoder for output stream con video AVI

 

Mentre stavo convertendo con FFmpeg un file da AVI ad AVI, ho avuto questo errore che mi ha fatto perdere un po di tempo:

 

  Metadata:
    encoder         : VirtualDubMod 1.5.4.1 (build 2178/release)
    IAS1            : Italiano
  Duration: 01:24:35.04, start: 0.000000, bitrate: 1155 kb/s
    Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 608×256 [PAR 1:1 DAR 19:8], 25 tbr, 25 tbn, 25 tbc
    Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
[buffer @ 0x6d7f80] w:608 h:256 pixfmt:yuv420p
[scale @ 0x6d1460] w:608 h:256 fmt:yuv420p -> w:352 h:288 fmt:yuv420p flags:0x4
Output #0, avi, to 'Braveheart-cd1.avi':
    Stream #0.0: Video: mpeg4, yuv420p, 352×288 [PAR 171:88 DAR 19:8], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, 5.1, s16, 200 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1

Error while opening encoder for output stream #0.1 – maybe incorrect parameters such as bit_rate, rate, width or height

 

si risolve abbassando la frequenza, da 48000hz a 44100hz, e forzando per la scelta di 2 canali:

 

$ ffmpeg -i input.avi -acodec libmp3lame -ar 44100 -ac 2 -vcodec copy output.avi

 

la cosa interessante di questo downgrade audio, è che si ottiene un video più compresso, senza una significativa perdita, per un uso normale. Nel mio caso il film era di 1,5G ed è sceso ad 1,2G, e questo mi ha permesso di mettere i 4 film che volevo su un unico dvd, cosa che prima con i 4,8G totali, non potevo.

 

enjoy ๐Ÿ˜‰
 

(FFmpeg) Convertire video per Iphone da AVI a MP4-MOV

 

Utilizzando FFmpeg con questi parametri, per convertire il formato AVI in MP4-MOV, può risultare utile, in quanto si potrà utilizzare il video player di default dell' Iphone, senza quindi ricorrere a player esterni, anche se sarebbe meglio averne uno che leggesse tutti i formati video.

 

$ ffmpeg -i input.avi -f mov -acodec libmp3lame -ab 128k -ar 48000 -ac 2 -vcodec libx264 output.mov

$ ffmpeg -i input.avi -f mp4 -acodec libfaac -ab 128k -ar 48000 -ac 2 -vcodec libx264 output.mp4

 

enjoy ๐Ÿ˜‰

(FFmpeg) Filtro Frei0r per distorsioni e cambio prospettiva

 

Continuando con FFmpeg ed i suoi filtri, segnalo Frei0r, che da la possibilità di ottenere degli effetti interessanti. Nel caso specifico ho utilizzato gli effetti distorsione e prospettiva. Come al solito per poter utilizzare i filtri bisogna aver compilato FFmpeg con l'opzione –enable-filter=frei0r, oppure scaricare il pacchetto dal mio repository. Come video per l'esperimento ho usato una delle migliori interpretazioni di Salma Hayek nel film ideato ed interpretato da Quentin Tarantino "Dal Tamonto all' alba", credo che sia uno dei più sensuali table dance mai visto in un film. La performance è stata divisa in due video………consiglio la visione di tutti e due i "filtri" ๐Ÿ™‚

Comandi:

$ ffmpeg -i input_video -vf "frei0r=distort0r:0.1:0.01" output_video

$ ffmpeg -i input_video -vf "frei0r=perspective:0.2/0.2:0.8/0.2" output_video

 

 

 

enjoy ๐Ÿ˜‰

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 ๐Ÿ˜‰

(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 ๐Ÿ˜‰