Script per estrarre da file video VERTICALE con caratteristiche note un file video ridotto + 2 ritagli ingranditi visibili in TV

Dom, 04/11/2018 - 13:18
Ritratto di Sargon6

Script per estrarre da file video VERTICALE con caratteristiche note un file video ridotto + 2 ritagli ingranditi visibili in TV

Inviato da Sargon6 0 commenti

# questo script estrae dal file video videoIN.mp4 dalle caratteristiche note (Risoluzione: 1280x720 formato: 16/9 verticale) un files video che poi usa per creare un video con Risoluzione: 1280x720 formato: 16/9 orizzontale con le proporzioni corrette, ponendo ai lati il medesimo video con le proporzioni maggiorate
# 
ffmpeg -i videoIN.mp4 -ss 00:00:50 -to 00:01:10 -vcodec libx264 -filter:v fps=30 -b:v 12M -bufsize 12M -vf transpose=2,transpose=1 -acodec copy video01.mp4 # Estrae i primi 20 secondi del file videoIN.mp4 
ffmpeg \
	-i video01.mp4 \
	-filter_complex " \
		color=s=1280x720:c=red [base]; \
		[0:v] setpts=PTS-STARTPTS, crop=w=200:h=360:x=202:y=460 [sinistra]; \
		[0:v] setpts=PTS-STARTPTS, crop=w=150:h=270:x=226:y=504 [destra]; \
		[0:v] setpts=PTS-STARTPTS, scale=400x720 [centro]; \
		[sinistra] setpts=PTS-STARTPTS, scale=400x720 [sinistra2]; \
		[destra] setpts=PTS-STARTPTS, scale=400x720 [destra2]; \
		[base][sinistra2] overlay=shortest=1:x=20:y=0 [tmp1]; \
		[tmp1][destra2] overlay=shortest=0:x=860:y=0 [tmp2]; \
		[tmp2][centro] overlay=shortest=0:x=440:y=0 \
	" \
	-vcodec libx264 -acodec copy \
	outputScriptVideo9x16e.mp4

#
# Spiegazione singole righe
# «ffmpeg \» Indica il comando a cui applicare i parametri che seguono
# «-i video01.mp4 \» Elenca il video che verrà processato
# «-filter_complex " \» Inizio del filtro composto da più elementi
# «color=s=1280x720:c=red [base]; \» Imposta dimensioni, colore, e [NomeInCodice] dello sfondo del file di output
# «[0:v] setpts=PTS-STARTPTS, crop=w=200:h=360:x=202:y=460 [sinistra]; \» Dall'inizio del primo file video in imput, preleva un'area di w,h pixels con coordinate x,y e ne dichiara il [NomeInCodice]
# «[0:v] setpts=PTS-STARTPTS, crop=w=150:h=270:x=226:y=504 [destra]; \» Dall'inizio del primo file video in imput, preleva un'area di w,h pixels con coordinate x,y e ne dichiara il [NomeInCodice]
# «[0:v] setpts=PTS-STARTPTS, scale=400x720 [centro]; \» Prende il primo file video in imput, dall'inizio, ne fissa le dimensioni e ne dichiara il [NomeInCodice]
# «[sinistra] setpts=PTS-STARTPTS, scale=400x720 [sinistra2]; \» Crea il video temporaneo [sinistra2] riscalando [sinistra]
# «[destra] setpts=PTS-STARTPTS, scale=400x720 [destra2]; \» Crea il video temporaneo [destra2] riscalando [destra]
# «[base][sinistra2] overlay=shortest=1:x=440:y=0 [tmp1]; \» Crea il video temporaneo [tmp1] sovrapponendo [sinistra2] a [base], specificando le coordinate X ed Y di [sinistra2]. [tmp1] avrà le dimensioni di [base], durata pari a quella del video in ingresso che dura meno, e audio di [sinistra2].
# «[tmp1][destra2] overlay=shortest=0:x=860:y=0 [tmp2]; \» Crea il video temporaneo [tmp2] sovrapponendo [destra2] a [tmp1], specificando le coordinate X ed Y di [destra2]. [tmp2] avrà le dimensioni di [base], durata pari a quella del video in ingresso che dura di più, e audio di [sinistra2].
# «[tmp2][centro] overlay=shortest=0:x=440:y=0 \» Crea il video finale sovrapponendo [centro] a [tmp2], specificando le coordinate X ed Y di [centro]. Il video finale avrà le dimensioni di [base], durata pari a quella del video in ingresso che dura di più, e audio di [sinistra2].
# «" \» Fine del filtro composto da più elementi
# «-vcodec libx264 -acodec copy \» Imposta il codec Video ed audio del file che si vuole ottenere
# «outputVideo9x16.mp4» Stabilisce il nome del file di output frutto delle operazioni precedenti