A volte capita di avere un file audio/video con un volume troppo alto oppure troppo basso, per cambiarlo usando FFMPEG, può servire qualcosa di simile, e cioè inserire l'opzione -vol:
Spesso e volentieri mi è venuta la voglia di fare un collage con più video, e ci ho sempre rinunciato, perchè mi scocciava settare uno per uno la stessa risoluzione, poichè se si cerca di unire video con differenti risoluzioni, ci si imbatte nell'errore seguente:
New video file has different resolution or colorspace than the previous one.
FATAL: Cannot initialize video driver.
quindi il passo è quello di settare nella cartella dei video .AVI, la stessa risoluzione per tutti, ed allo stesso tempo, convertirli tutti ad usare gli stessi codecs audio/video. Io ho preso 4 spezzoni di video differenti, con le seguenti risoluzioni:
320 × 240
384 × 288
320 × 136
480 × 360
quindi ho scelto di portarli tutti in hd720 (1280×720), ed ho usato il seguente comando:
$ for i in *.avi; do ffmpeg -y -i "$i" -f avi -vcodec mpeg4 -b 8000000 -acodec ac3 -ab 128000 -s hd720 $i.avi; done
Ho già parlato altre volte per quanto riguarda gli Screencast, soprattutto adoperando FFMPEG, che scritto per inciso mi ha sempre soddisfatto in tutte le occasioni. Questa volta però vorrei scrivere due righe per quanto riguarda gtk-recordmydesktop, che non mi è mai piaciuto, in quanto ho sempre trovato scomodo il suo utilizzo quando si trattava di registrare una singola finestra, ed in più mi è sembrato lento nel salvataggio dello screencast. Comunque per farla breve, ho approfondito un pò di più la sua conoscenza, e per quanto mi riguarda ho trovato il giusto compromesso. L'idea di partenza quindi è quella di effettuare lo screencast di una singola finestra, e contemporaneamente di convertirlo in AVI, questa volta utilizzando mencoder.
se non si indica il device, ed il microfono è configurato e funzionante, di default registra anche l'audio, quindi è indispensabile per uno screencast muto l'opzione --no-sound. Per chi invece usa pulseaudio, credo che basti inserire --device pulse al posto di --device hw:0,0
Come creare un video partendo da una serie di immagini?….semplice, usando Mencoder. Il video sopra è composto da 20 immagini jpg, ed il comando utilizzato è il seguente.
Ultimamente ho avuto la necessità di ruotare un video fatto da me di 180 gradi, per intenderci la visione era sotto-sopra. Per una semplice visione del video non ci sono problemi, basta usare VLC, ed andare in: Strumenti-Effetti_Filtri-Effetti_Video-Geometria-Rotazione, e da qui possiamo ruotare il nostro video a piacimento. Per ruotare e quindi salvare il video, io come sempre mi sono affidato ad FFmpeg. Come prima cosa bisogna verifica se si hanno i filtri abilitati:
$ ffmpeg -filters
nel mio caso l'output restituisce:
Filters:
anull Pass the source unchanged to the output.
anullsrc Null audio source, never return audio frames.
anullsink Do absolutely nothing with the input audio.
blackframe Detect frames that are (almost) black.
copy Copy the input video unchanged to the output.
crop Crop the input video to width:height:x:y.
cropdetect Auto-detect crop size.
drawbox Draw a colored box on the input video.
fade (null)
fifo Buffer input images and send them when they are requested.
format Convert the input video to one of the specified pixel formats.
fps (null)
gradfun Debands video quickly using gradients.
hflip Horizontally flip the input video.
hqdn3d Apply a High Quality 3D Denoiser.
negate (null)
noformat Force libavfilter not to use any of the specified pixel formats for the input to the next filter.
null Pass the source unchanged to the output.
overlay Overlay a video source on top of the input.
pad Pad input image to width:height[:x:y[:color]] (default x and y: 0, default color: black).
pixdesctest Test pixel format definitions.
rotate (null)
scale Scale the input video to width:height size and/or convert the image format.
setdar Set the frame display aspect ratio.
setpts Set PTS for the output video frame.
setsar Set the pixel sample aspect ratio.
settb Set timebase for the output link.
slicify Pass the images of input video on to next video filter as multiple slices.
split (null)
transpose Transpose input video.
unsharp Sharpen or blur the input video.
vflip Flip the input video vertically.
yadif Deinterlace the input image
buffer Buffer video frames, and make them accessible to the filterchain.
color Provide an uniformly colored input, syntax is: [color[:size[:rate]]]
movie (null)
nullsrc Null video source, never return images.
nullsink Do absolutely nothing with the input video.
altrimenti bisogna ricompilare FFmpeg come in questa mia guida, oppure usare quello presente nel mio repository. Comunque i comandi sono i seguenti:
Alcuni video per poterli visualizzare, come è noto serve il plugin Silverlight di Microsoft, che è disponibile per Windows e Mac, mentre per Linux ci si affida a Moonlight. In Italia la televisione di Stato, (notare che non cito la sigla volontariamente) innominablile, ha i suoi canali dedicati, dove vedere video, film, e programmi vari. Per poter registrare lo streaming basta eseguire questi passi, almeno finchè funziona 🙂 Andare sul canale e scegliere il video da guardare/scaricare, recarsi nella cartella /tmp dove troveremo una nuova cartella dal nome moonlight-download o qualcosa di simile, recuperare l'indirizzo dello streaming, per esempio dall' icona audio/video, basta aprirla con un editor di testo. A questo punto siamo pronti a registrare lo streaming del programma che c'interessa. L'indirizzo deve terminare prima del punto interrogativo "?", e sostituire https con mms.
Può capitare a volte d'imbattersi in file RealMedia Variable Bitrate (RMVB), un formato molto usato in Asia. Per poterlo convertire in avi, bisogna installare mencoder, e poi eseguire un comando simile a questo:
Quello della compressione di file video di grosse dimensioni è un bel problema, ed il giusto compromesso per una qualità accettabile è abbastanza difficile da trovare. Certo il tutto dipende dall'uso che se ne fà di quel video, ma se ci si accontenta di una piccola perdità di qualità per un abbattimento della dimensione che va dal 50 al 70%, allora come al solito bisogna scomodare FFmpeg. La situazione descritta l'ho sperimentata su due video, uno in avi l'altro in mp4.
Scrivo solo due righe a proposito dell'aggiornamento di Skype alla versione Beta 2.2, giusto per segnalare che il pacchetto nell'area download del sito, dal nome Debian 5+ 64-bit, funziona perfettamente su Debian Squeeze/Wheezy. Almeno si evita di usare questa procedura macchinosa. Per il resto Skype continua a considerare Linux, l'ultima ruota del carro.
enjoy 😉
Gestisci Consenso Cookie
Per fornire le migliori esperienze, utilizziamo tecnologie come i cookie per memorizzare e/o accedere alle informazioni del dispositivo. Il consenso a queste tecnologie ci permetterà di elaborare dati come il comportamento di navigazione o ID unici su questo sito. Non acconsentire o ritirare il consenso può influire negativamente su alcune caratteristiche e funzioni.
Funzionale
Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici.L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.