Concatenare unire più file pdf audio video

 

 

 A me spesso e volentieri è capitato di avere bisogno di unire più file, a volte perchè avevo bisogno di unire due o tre spezzoni di audio, a volte piccoli video e addirittura qualche pdf. Per fare tutto ciò ci sono diversi programmi con gui di buon livello, ma io ho sempre risolto da terminale, con dei comandi semplici e veloci.

Unire più file video usando mencoder:

$ mencoder -oac copy -ovc copy parte1.avi parte2.avi -o finale.avi

Unire più file mp3 usando cat:

$ cat parte1.mp3 parte2.mp3 > finale.mp3

Unire più file pdf usando ghostscript:

$ gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=finale.pdf parte1.pdf parte2.pdf

 

enjoy 😉

Controllo remoto VLC con Iphone e Linux

 

 

Ho visto per caso sul web che è possibile controllare Vlc tramite iphone, ed ho voluto subito provare sulla mia Linuxbox. Funziona tutto a meraviglia ed è molto comodo, dato che si può creare una playlist ed ascoltarla sdraiati comodamente sul letto. Tutto quello che ci serve è installare VLC Remco sull'iphone e configurare VLC sulla nostra Linuxbox. Tutto è molto semplice basta guardare gli screenshoot:

 

Configurazione VLC:

 

Installare VLC Remco su iphone:

 

Pairing VLC Remco con VLC:

 

Controllo remoto:

 

enjoi 😉

Inserire audio in immagine statica con ffmpeg

 

 

 

 

 

 

 

Mi sono trovato nella situazione di voler inserire in una singola immagine una musica, e quindi come al solito senza pensarci troppo mi sono rivoltto a ffmpeg. La "difficoltà " sta nel fatto che essendo una singola immagine e volendo inserire una musica che dura 3 minuti, mi sono trovato di fronte al problema di ripetere l'immagine per gli stessi minuti dell'audio. Ho provato il tutto con un file.ogg ed un immagine.jpg, ma chiaramente funziona anche con altri formati. Le opzioni che ho usato sono le seguenti:

 

$ ffmpeg -i file.ogg -loop_input -f image2 -i file.jpg -t 188 file.avi

 

-loop_input:

indica di ripetere l'immagine in maniera indefinita.

-f image2 -i file.jpg:

indica di creare un video da un immagine statica .jpg

-t 188:

è la durata dell'audio in secondi che possiamo far coincidere con la fine del video.

enjoy 😉

Swftools su Debian Squeeze/Sid

 

 

 

 

 

 

 

Swftools include una serie di strumenti che servono per leggere file.swf  (Adobe Flash), e riesce a creare,  tra l'altro partendo da delle  immagini, o da pdf ,  un file in flash. Comunque qua c'è la documentazione dei vari tools. Io è un pò che lo conosco e se non ricordo male prima si trovava nei repo, ma adesso non so come mai, ma non esiste più…va bè. Comunque ho voluto installarlo e dopo qualche problema di librerie mancanti ed errori vari, sono riuscito a compilarlo.

Requisiti:

apt-get install libgif-dev xpdf libfreetype6 libfreetype6-dev libjpeg62 libjpeg8 libjpeg8-dev

verificare se manca qualcos'altro.

Scaricare compilare installare

$ wget https://www.swftools.org/swftools-0.9.1.tar.gz

$ tar -zvxf swftools-0.9.1.tar.gz

$ cd swftools-0.9.1

$ ./configure --prefix=/usr/local

$ make

se c'è un errore come questo:

jpeg.c:463: error: conflicting types for ‘jpeg_load_from_mem’
jpeg.h:15: error: previous declaration of ‘jpeg_load_from_mem’

risolvere editando il file jpeg.c e modificarlo da così:

int jpeg_load_from_mem(unsigned char*_data, int size, unsigned char*dest, int width, int height)

a così:

int jpeg_load_from_mem(unsigned char*_data, int _size, unsigned char**dest, int*width, int*height)

un altro errore che potrebbe verificarsi è il seguente:

make[2]: *** No rule to make target `xpdf-*tar.gz', needed by `xpdf/Gfx.cc'.  Stop.

si risolve con:

$ cd lib/pdf

$ wget

$ perl inject-xpdf.pl xpdf-3.02.tar.gz

se alla fine non ci sono errori siamo pronti per l'installazione, in caso di altri errori postare:

# make install oppure make checkinstall

a questo punto siamo pronti ad ottenere un immagine in flash come sopra ,creando un file.sc ed inserendo all'interno:

.flash filename="file.swf" version=5 fps=25
   
    .jpeg s1 "file.jpeg" quality=80%

    .put s1 x=50 y=50 scalex=110 scaley=110
    .frame 50
    .change s1 x=0 y=0 scalex=210 scaley=210 red=-1+255 green=-1+255 blue=-1+255 #invert
    .frame 100
    .change s1 x=100 y=50 scalex=110 scaley=110 red=0 green=+0 blue=+0 #remove red
    .frame 150
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=2 blue=-1+255 #amplify green, invert blue
    .frame 200
    .change s1 x=50 y=100 scalex=110 scaley=110 red=2-128 green=-2+255 blue=+0.7+40 #alien glow
    .frame 250
    .change s1 x=0 y=0 scalex=210 scaley=210 red=8-1024 green=8-1024 blue=8-1024 #palette reduce
    .frame 300
    .change s1 x=0 y=0 scalex=210 scaley=210 red=+0 green=+0 blue=+0 #back to normal
    .frame 350
    .change s1 x=105 y=105 scalex=0 scaley=0 luminance=0 #fadeout
.end

quindi diamo il comando: comando:

$ swfc file.sc

Invece se vogliamo convertire un file.pdf in file .swf utilizziamo l'utility pdf2sw:

$ pdf2swf file.pdf -o file.swf

 

Comunque sul sito si trovano vari esempi di utilizzo per i vari strumenti.

Scaricare video youtube e convertire in gif con mplayer

 

In passato avevo già accennato alla possibilità di usare mplayer per convertire un video o una porzione di esso in immagine nel formato gif. Adesso lo stesso procedimento viene unito in contemporanea al download di un video su youtube.

Requisiti:

# apt-get install youtube-dl mplayer

Comando: (tutto sulla stessa riga)

$ url=https://www.youtube.com/watch?v=ASxiRtkHA4Y; youtube-dl  $url; mplayer $(ls ${url##*=}*| tail -n1) -nolirc -nojoystick -ss 00:17 -endpos 25 -vo gif89a:fps=5:output=file.gif -vf scale=400:250 -nosound

Rallentare un video con ffmpeg e Sharon Stone

 

 

 

 

                                          Cocaine?  Have you ever fucked on cocaine, Nick?  It's nice!

 

Ci sono dei film che meritano di essere visti decine di  volte, e scene che meritano un approfondimento particolare, visto la difficoltà di afferrare alcuni particolari importanti 🙂 Comunque anche questa volta ci viene in aiuto FFMPEG, che utilizzeremo per rallentare il nostro video preferito:

# apt-get install ffmpeg mjpegtools

Per tagliare la sequenza che più m'interessava ho usato:

$ ffmpeg -vcodec copy -acodec copy -i Sharon_Stone.flv -ss 00:00:09 -t 0:0:16 file.flv

a questo punto bisogna rallentare i framerate, io da 30 li ho portati a 12, con questo comando:

$ ffmpeg -i file.flv -f yuv4mpegpipe - | yuvfps -s 12:1 -r 12:1 | ffmpeg -f yuv4mpegpipe -i  - -b 28800k  rallentato.flv

ed il risultato è questo:

 

 

con questo sistema si può anche velocizzare il video, basta aumentare i framerate.

 

enjoy 🙂

Driver nvidia module-assistant e Debian

 

 

Installare i driver Nvidia in maniera veloce con module-assistant:

# apt-get install nvidia-kernel-common module-assistant nvidia-glx nvidia-glx-dev nvidia-xconfig

# m-a -i prepare

passare in tty1 con Ctrl-Alt-F1

# m-a a-i -i -t -f nvidia-kernel

# depmod -a

# nvidia-xconfig

# /etc/init.d/gdm3 restart oppure /etc/init.d/gdm restart

Webcam virtuale con Webcamstudio

 

 

WebcamStudio è un ottima applicazione rilasciata sotto licenza GPL, che tra le tante caratteristiche ne ha una molto particolare, e cioè la possibilità di simulare una webcam, e quindi,  può riuscire ad ingannare la persona con cui stiamo interloquendo tramite amsn o skype, facendogli vedere un filmato ed ingannandola di conseguenza,  in quanto crede che quello che sta vedendo avviene in diretta. Sul sito si può scaricare il pacchetto .deb per chi usa Ubuntu, per gli altri, che usano distro diverse compreso me che sono su Debian Sid, bisogna prima verificare se sia presente il modulo vloopback, altrimenti compilarlo:

debianbox:/home/edmond# lsmod | grep vloopback
vloopback               9678  0
videodev               25211  4 vloopback,tuner,saa7134,v4l2_common

in caso negativo lo compiliamo con module-assistant:

# apt-get install module-assistant vloopback-source

# m-a prepare

# m-a a-i vloopback-source

# reboot

a questo punto verifichiamo che il modulo sia presente e poi avviamo WebcamStudio:

tar zxvf WebcamStudio_0.53.tar.gz

cd webcamstudio

java -jar "WebcamStudio.jar"

Top 20 comandi per ffmpeg

 

 

Per correttezza preciso che sono i miei Top 20 comandi 🙂 Io sono un utilizzatore assiduo di ffmpeg ed ho pensato di mettere nero su bianco i comandi che uso frequentemente, del resto credo di non essere il solo a cui piace usare prevalentemente la shell. Inizio con il menzionare alcuni comandi semplicissimi per poi successivamente passare ad alcuni più complessi, come al solito il punto di partenza da consultare è sempre il man o il web 🙂 La base da cui partire, anche se sembra banale è la conoscenza dei formati e dei codec, quindi:

Base:

ffmpeg -formats

ffmpeg -codecs

Video:

per ottenere info su un video:

ffmpeg -i video.avi

convertire da .avi a .mpg e viceversa:

ffmpeg -i input.avi output.mpg

convertire da .avi a .flv:

ffmpeg -i input.avi -sameq -ar 44100 output.flv

convertire da .flv a .mpg:

ffmpeg -i input.flv -sameq -ab 56k -ar 22050 -b 500 -s 640x480 output.mpg

convertire da .avi a .mpeg per lettori dvd:

ffmpeg -i input.avi -target pal-dvd -ps 2000000000 -aspect 16:9 output.mpeg

tagliare una sequenza video, dove -ss rappresenta il tempo d'inizio e t la fine:

ffmpeg -vcodec copy -acodec copy -i input.avi -ss 00:00:30 -t 0:0:15 output.avi

convertire video per ipod/iphone:

ffmpeg -i input.flv -acodec libfaac -ab 96k -ac 2 -vcodec libx264 -vpre hq -vpre ipod320 -threads 0 -crf 22 output.mp4

Audio:

estrarre suono da un video e convertirlo in mp3:

ffmpeg -i input.avi -vn -ar 44100 -ac 2 -ab 192 -f mp3 output.mp3

cancellare suono da un video:

ffmpeg -i input.avi -an -b 1200 output.avi

aggiungere suono ad un video:

ffmpeg -i input.wav -i input.avi output.mpg

convertire da wav a mp3:

ffmpeg -i input.wav -ab 128 output.mp3

Immagini:

convertire un video in una sequenza di immagini:

ffmpeg -i input.flv -an -r 1 -y -s 320x240 video%d.jpg

estrarre immagine da una sequenza prestabilita:

ffmpeg -i input.flv -an -ss 00:00:25 -t 00:00:01 -r 1 -y video%d.jpg

Screencast:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 /tmp/screencast.mpg

oppure:

ffmpeg -y -t 60 -r 25 -s 1280x1024 -f x11grab -i :0.0 screencast.avi

screencast utilizzando un microfono + oss:

ffmpeg -s 1280x1024 -r 25 -f x11grab -i :0.0 -f oss -i /dev/dsp screen.avi

screencast utilizzando un microfono + arecord:

arecord -D default -t raw -c 1 -f S16_LE -r 48000 - | ffmpeg -f s16le -ab 128k -ar 48000 -ac 1 -i --acodec mp2 -f x11grab -r 2 -s 1280x1024 -i :0.0 -vcodec mpeg4 screen.avi

screencast prendendo il suono direttamente da  un file mp3:

ffmpeg -f x11grab -s 1280x1024 -r 30 -i :0.0 -i percorso_del_file.mp3 -ar 22050 -ac 1 -acodec mp2 -ab 128k screen.avi

Questi sono i miei Top 20 comandi per ffmpeg, messi nero su bianco sperando di fare contento qualcun'altro 😉 e sopratutto spero che qualcuno ne posti di altri, poichè sono molto interessato 🙂

DVD-Slideshow GUI for Linux

 

DVD-Slideshow è un tool a linea di comando che permette di creare dvd e slideshow di una nostra galleria di foto-immagini. Diciamo che le opzioni sono tante e per questo rimando per il momento, alla visione della pagina man dvd-slideshow. Quello che volevo segnalare e di cui mi sono accorto proprio oggi e di Slideshow, che semplifica e velocizza di parecchio il tutto, dato che si tratta di una GUI scritta in pyton ed in pygtk proprio per dvd-slideshow. Per iniziare installiamo ciò che ci serve:

# apt-get install imagemagick dvd-slideshow mencoder dvdauthor mkisofs cdrecord

procediamo con il download e poi:

tar xzf slideshow.tar.gz

cd slideshow

./slideshow.py

Una volta lanciato il programma ci sono varie opzioni tra cui la scelta tra formato dvd o flv, nel caso si scegliesse il formato dvd, il programma crea una cartella /tmp nello stesso percorso della nostra galleria di immagini, e lì troveremo sia il file in .iso che in .vob. Nel caso si scegliesse il formato flv, troveremo un file.flv ed un file.vob. Penso che sia semplice ed intuitivo e non ci sia altro da aggiungere. Lo slideshow l'ho fatto preparando le immagini in una cartella e poi successivamente le ho  ordinate e rinominatoe in massa con questo comando:

ls -A | awk 'BEGIN{n=1} {system("mv "$1" "n".jpg");n=n+1}'

oppure si può fare anche in altri modi. Sotto uno screen di Slideshow.