(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 😉
 

Download video con Movgrab su Debian

 

Movgrab è un utility a riga di comando che serve a scaricare video dai piu popolari hosting. I siti supportati sono i seguenti:

 

youtube              YouTube: https://www.youtube.com
metacafe             Metacafe: https://www.metacafe.com
dailymotion          Daily Motion: https://www.dailymotion.com
break                www.break.com
ehow                 www.ehow.com
vimeo                www.vimeo.com
5min                 www.5min.com
vbox7                www.vbox7.com
blip.tv              www.blip.tv
ted                  www.ted.com
myvideo              www.myvideo.de
clipshack            www.clipshack.com
mytopclip            www.mytopclip.com
redbalcony           www.redbalcony.com
mobango              www.mobango.com
yale                 Yale University: https://oyc.yale.edu
princeton            Princeton University: https://www.princeton.edu/WebMedia/
reuters              Reuters: https://www.reuters.com/
liveleak             Liveleak: https://www.liveleak.com
academicearth        Academic Earth: https://www.academicearth.org
photobucket          Photobucket: https://www.photobucket.com
videoemo             VideoEmo: https://www.vidoevo.com/
videosfacebook       Videos Facebook:
aljazeera            Aljazeera: english.aljazeera.net
mefeedia             mefeedia.com
iviewtube            iViewTube: www.iviewtube.com
washingtonpost       Washington Post: www.washingtonpost.com
cbsnews              CBS News: www.cbsnews.com
france24             France24: www.france24.com
euronews             Euronews: www.euronews.net
metatube             www.metatube.com
motionfeeds          www.motionfeeds.com
escapist             www.escapistmagazine.com
guardian             www.guardian.co.uk
redorbit             www.redorbit.com
scivee               www.scivee.tv
izlese               www.izlese.org
uctv.tv              University of California Television: https://www.uctv.tv/
royalsociety.tv      https://royalsociety.org/
britishacademy      
kitp                 KAVLI INSTITUTE: https://online.itp.ucsb.edu/plecture/
dotsub               dotsub.com
astronomy.com        astronomy.com
teachertube.com      teachertube.com
discovery            dsc.discovery.com
bloomberg            www.bloomberg.com (not bloomberg.tv)

 

Download movgrab_i386

Download movgrab_amd64

Download source:

 

$ tar -xzvf movgrab-1.1.8.tgz

$ cd movgrab-1.1.8

$ ./configure

$ make

$ sudo make install

 

Utilizzo:

 

$ movgrab https://www.youtube.com/watch?v=0YK417iwhtE

 

con il resume:

 

$ movgrab -r https://www.youtube.com/watch?v=0YK417iwhtE

 

sapere in quali formati è disponibile il video:

 

$ movgrab -T https://www.youtube.com/watch?v=0YK417iwhtE

 

apparirà un qualcosa di simile:

 

Formats available for this Movie: webm:854×480 flv-h264:854×480 webm:640×360 flv-h264:640×360 mp4:480×360 flv:400×240

 

quindi, scelta del formato:

 

$ movgrab -f webm:854x480 https://www.youtube.com/watch?v=0YK417iwhtE

 

movgrab con mplayer:

 

$ movgrab -o - https://www.youtube.com/watch?v=0YK417iwhtE | mplayer -

 

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 😉

(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 😉