telvertffmpeg.sh


#!/bin/bash
#programma per riduzione video con telefono verticale
# Bold
BBlack='\e[1;30m'       # Nero
BRed='\e[1;31m'         # Rosso
BGreen='\e[1;32m'       # Verde
BYellow='\e[1;33m'      # Giallo
BBlue='\e[1;34m'        # Blu
BPurple='\e[1;35m'      # Viola
BCyan='\e[1;36m'        # Ciano
BWhite='\e[1;37m'       # Bianco

Color_Off='\e[0m'       # Text Reset
reset_console="\E[37;40m" #biancoBold
echo -e $BRed'PROGRAMMA shell PER RITAGLIO VIDEO TELEFONO VERTICALE E ADATTAMENTO ORIZZONTALE
OCCORRE ESSERE NELLA DIRECTORY DEL VIDEO'
echo -e $BWhite'Titolo video o audio'
 read titolo

 #costruzione nome output
 titolipos=`expr index "${titolo}" "."`
titolipos=$(( $titolipos-1 ))

nuovo=${titolo:0:$titolipos}'mod.'
nuovoopt=${titolo:0:$titolipos}'opt.'
estensione=${titolo:$(($titolipos+1))}
nuovotit=$nuovo$estensione
ffmpeg -i $titolo -vf "crop=720:960:0:480" $nuovotit

ffmpeg -i $nuovotit -c copy -metadata:s:v:0 rotate=0 tmp_norotate.mp4 

convert -size 768x768 -define "gradient:bounding-box=768x38+0+0" -define "gradient:vector=0,37,0,0" gradient:none-black -define "gradient:bounding-box=768x768+0+730" -define "gradient:vector=0,730,0,767" gradient:none-black -composite -channel a -negate tmp_mask.png 

ffmpeg -i $nuovotit -loop 1 -i tmp_mask.png -filter_complex " [0:v]split [a][b]; [a]crop=720:720:0:280,scale=768:768,setdar=768/768 [crop]; [b]crop=720:720:0:280,scale=1366:768,setdar=16/9,avgblur=54 [back]; [1:v]alphaextract [mask]; [crop][mask]alphamerge [masked]; [back][masked]overlay=299:0 " video_out.mp4 
#  #ottimizzazione del video precedente
#  ffmpeg -i $nuovotit -vf scale=1280:720,setsar=16:9 persfondo.mp4
#  #il passo seguente crea soltanto un video annebbiato di quello precedente
#  ffmpeg -i persfondo.mp4 -q:a 0 -filter_complex "[0:v]boxblur=10[bg];[0:v]crop=60:60:10:10[fg];[bg][fg]overlay=100:500" -map 0:v annebbiatovideo.mp4
#  #fino a qui ha funzionato, ma la successiva non l'ha fatta
#  
#  #ffmpeg -i $nuovotit -loop 1 -i annebbiatovideo.mp4 -filter_complex " [0:v]split [a][b]; [a]crop=720:720:0:280,scale=768:768,setdar=768/768 [crop]; [b]crop=720:720:0:280,scale=1366:768,setdar=16/9,avgblur=54 [back]; [1:v]alphaextract [mask]; [crop][mask]alphamerge [masked]; [back][masked]overlay=299:0 " video_out.mp4 
#  
 ffmpeg -i video_out.mp4 -vf scale=1280:720,setsar=1:1 telvertscalato.mp4
 echo -e $BYellow'File di output = telvertscalato.mp4'

exit 0