013 Creare un file multimediale costituito da vari video, ciascuno dei quali occupa una porzione dello schermo visibile.
013 Creare un file multimediale costituito da vari video, ciascuno dei quali occupa una porzione dello schermo visibile.
#
# Cose da sapere prima di cominciare.
# 1. Se non specificamente indicato diversamente, FFmpeg fa in modo che:
# -il file multimediale in uscita abbia come audio l’audio del primo file multimediale in ingresso [0:v].
# -il file multimediale in uscita abbia come durata la durata del primo file multimediale in ingresso [0:v].
# 2. Se l’utente imposta una risoluzione NON proporzionata
# FFmpeg provvede autonomamente a deformare le proporzioni del video in entrata.
# 3. FFmpeg provvede autonomamente all’eliminazione di ogni porzione di ogni video in ingresso
# che fuoriesce dai margini prestabiliti del video un uscita,
# 4. Se l’utente imposta risoluzione e posizione di ogni singolo video in modo che i video si sovrappongono in parte o totalmente,
# FFmpeg farà in modo che il video a cui corrisponde un numero più basso sia coperto dal video a cui corrisponde un numero più alto.
#
# A) Volendo creare un file multimediale avente:
# risoluzione video finale: 1280×720 pixels; codec Video: libx264
# Video 0 -> Risoluzione: 1280×720 pixels; distanza pixel in alto a sinistra: X=0; Y=0
# Video 1 -> Risoluzione: 320×180 pixels; distanza pixel in alto a sinistra: X=910; Y=50
#
# aprire un terminale nella cartella di lavoro ed impartire il comando seguente:
ffmpeg -i videoIN0.mp4 -i videoIN4.mp4 -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=1280x720 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=320x180 [upperright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=910:y=50" -vcodec libx264 vOUTx2-A.mp4
#
# B) Volendo creare un file multimediale avente:
# risoluzione video finale: 1280×720 pixels; codec Video: libx264
# Video 0 -> Risoluzione: 640×720 pixels; distanza pixel in alto a sinistra: X=0; Y=0
# Video 1 -> Risoluzione: 640×720 pixels; distanza pixel in alto a sinistra: X=640; Y=00
#
# aprire un terminale nella cartella di lavoro ed impartire il comando seguente:
ffmpeg -i videoIN4.mp4 -i videoIN0.mp4 -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=640x720 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=640x720 [upperright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=640:y=0" -vcodec libx264 vOUTx2-B.mp4
#
# C) Volendo creare un file multimediale avente:
# risoluzione video finale: 1280×720 pixels; codec Video: libx264; schermo suddiviso in 4 parti uguali
# Video 0 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=0; Y=0
# Video 1 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=640; Y=0
# Video 2 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=0; Y=360
# Video 3 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=640; Y=360
#
# aprire un terminale nella cartella di lavoro ed impartire il comando seguente:
ffmpeg -i videoIN0.mp4 -i videoIN1.mp4 -i videoIN2.mp4 -i videoIN3.mp4 -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=640x360 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=640x360 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=640x360 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=640x360 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=640 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=360 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=640:y=360" -vcodec libx264 vOUTx4-C.mp4
#
# D) Volendo creare un file multimediale avente:
# risoluzione video finale: 1280×720 pixels; codec Video: libx264
# Video 0 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=0; Y=0
# Video 1 -> Risoluzione: 413×240 pixels; distanza pixel in alto a sinistra: X=753; Y=60
# Video 2 -> Risoluzione: 920×360 pixels; distanza pixel in alto a sinistra: X=0; Y=360
# Video 3 -> Risoluzione: 360×360 pixels; distanza pixel in alto a sinistra: X=920; Y=360
#
# aprire un terminale nella cartella di lavoro ed impartire il comando seguente:
ffmpeg -i videoIN0.mp4 -i videoIN1.mp4 -i videoIN2.mp4 -i videoIN3.mp4 -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=640x360 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=413x240 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=920x360 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=360x360 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=753:y=60 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=360 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=920:y=360" -vcodec libx264 vOUTx4-D.mp4
#
# E) Volendo creare un file multimediale avente:
# risoluzione video finale: 1280×720 pixels; codec Video: libx264
# Video 0 -> Risoluzione: 640×360 pixels; distanza pixel in alto a sinistra: X=0; Y=0
# Video 1 -> Risoluzione: 853×480 pixels; distanza pixel in alto a sinistra: X=640; Y=0
# Video 2 -> Risoluzione: 853×480 pixels; distanza pixel in alto a sinistra: X=0; Y=360
# Video 3 -> Risoluzione: 426×240 pixels; distanza pixel in alto a sinistra: X=870; Y=500
#
# aprire un terminale nella cartella di lavoro ed impartire il comando seguente:
ffmpeg -i videoIN0.mp4 -i videoIN1.mp4 -i videoIN2.mp4 -i videoIN3.mp4 -filter_complex "nullsrc=size=1280x720 [base]; [0:v] setpts=PTS-STARTPTS, scale=640x360 [upperleft]; [1:v] setpts=PTS-STARTPTS, scale=853x480 [upperright]; [2:v] setpts=PTS-STARTPTS, scale=853x480 [lowerleft]; [3:v] setpts=PTS-STARTPTS, scale=426x240 [lowerright]; [base][upperleft] overlay=shortest=1 [tmp1]; [tmp1][upperright] overlay=shortest=1:x=640 [tmp2]; [tmp2][lowerleft] overlay=shortest=1:y=360 [tmp3]; [tmp3][lowerright] overlay=shortest=1:x=870:y=500" -vcodec libx264 vOUTx4-E.mp4