| 1 | #!/bin/bash |
| 2 | # Bold |
| 3 | BBlack='e[1;30m' # Nero |
| 4 | BRed='e[1;31m' # Rosso |
| 5 | BGreen='e[1;32m' # Verde |
| 6 | BYellow='e[1;33m' # Giallo |
| 7 | BBlue='e[1;34m' # Blu |
| 8 | BPurple='e[1;35m' # Viola |
| 9 | BCyan='e[1;36m' # Ciano |
| 10 | BWhite='e[1;37m' # Bianco |
| 11 | |
| 12 | Color_Off='e[0m' # Text Reset |
| 13 | reset_console="E[37;40m" #biancoBold |
| 14 | #background |
| 15 | backW="e[47m" |
| 16 | backB="e[40m]" |
| 17 | echo -e $BRed'PROGRAMMA shell PER IMMISSIONE logo, sottotitoli, cornice |
| 18 | e sovrapposizione video' |
| 19 | echo -e $BWhite'Titolo video base' |
| 20 | |
| 21 | sonoro=0 |
| 22 | read titolo; |
| 23 | echo -e $BYellow$titolo |
| 24 | |
| 25 | echo 'Immettere nome e percorso |
| 26 | del vostro video per overlay' |
| 27 | read sovr |
| 28 | |
| 29 | echo "Dimensione orizzontale video in sovrapposizione" |
| 30 | read largh |
| 31 | #calcolo coefficiente rimpicciolimento |
| 32 | coef=$( echo "scale=2;"$largh"/1280" | bc) |
| 33 | echo -e $BRed$largh" larghezza" |
| 34 | echo -e $BWhite$coef" coefficiente riduzione" |
| 35 | |
| 36 | #---calcolo dimensione y proporzionale |
| 37 | alt=$(echo "scale=2;"$largh"*720/1280" | bc) |
| 38 | alt=${alt%.*} |
| 39 | #se non divisibile 2 (pari) |
| 40 | parix=$(echo $((alt%2)) ) |
| 41 | echo "parix="$parix |
| 42 | if [[ $parix != 0 ]]; then |
| 43 | #se dispari riportiamo a pari |
| 44 | alt=$(($alt-1)) |
| 45 | fi |
| 46 | |
| 47 | echo "altezza="$alt |
| 48 | corra=$(echo "scale=2;124*"$coef | bc) |
| 49 | corrai=${corra%.*} |
| 50 | echo -e $BWhite$corrai" correzione altezza" |
| 51 | corrl=$(echo "scale=2;88*"$coef | bc) |
| 52 | corrli=${corrl%.*} |
| 53 | echo -e $BWhite$corrli"correzione larghezza" |
| 54 | #exit 0 |
| 55 | altcorn=$(($alt+$corrai)) |
| 56 | echo -e $BBlue$altcorn" altezza cornice" |
| 57 | larghcorn=$(($largh+$corrli)) |
| 58 | echo -e $BCyan$larghcorn" larghezza cornice esterna" |
| 59 | echo -e $BWhite$sovr |
| 60 | |
| 61 | echo -e $BYellow'Posizione X di overlay video sovraimpressione (0:0 = angolo superiore sinistro)' |
| 62 | read overx |
| 63 | echo -e $BYellow'Posizione Y di overlay video sovraimpressione (0:0 = angolo superiore sinistro)' |
| 64 | read overy |
| 65 | echo -e $BWhite"Posizione overlay video piccolo: "$BYellow$overx":"$overy |
| 66 | corx=$(echo "scale=2;44*"$coef | bc) |
| 67 | corx=${corx%.*} |
| 68 | cory=$(echo "scale=2;62*"$coef | bc) |
| 69 | cory=${cory%.*} |
| 70 | overcornx=$(($overx-$corx)) |
| 71 | echo -e $BCyan$overcornx |
| 72 | overcorny=$(($overy-$cory)) |
| 73 | echo -e $BCyan$overcorny |
| 74 | #aggiunte x logo e subtitles |
| 75 | echo -e $BYellow'Nome file .ass per sottotitoli' |
| 76 | read ass |
| 77 | echo 'Immettere nome e percorso |
| 78 | del vostro logo GIF' |
| 79 | read logo |
| 80 | #----------------AGGIUNGO VARIANTE POSIZIONE LOGO |
| 81 | echo -e $BYellow'Posizione X del logo nel video (0 = top left)' |
| 82 | read xoverlay |
| 83 | echo -e $BYellow'Posizione Y del logo nel video (0 = top)' |
| 84 | read yoverlay |
| 85 | #variante cornice video sovrapposto |
| 86 | echo -e $BYellow$titolo |
| 87 | echo -e "Scegliere colore Cornice per video." |
| 88 | echo -e $BRed"Si suppone di essere in ../Elements/action/qualche_cartella |
| 89 | le cornici sono in una cartella relativa" |
| 90 | echo -e $backW$BBlack"0 = NERO "$backB |
| 91 | echo -e $BWhite"1 = BIANCO " |
| 92 | echo -e $BRed"2 = ROSSO" |
| 93 | echo -e $BPurple"3 = VIOLA" |
| 94 | echo -e $BCyan"4 = CIANO" |
| 95 | echo -e $BBlue"5 = BLU" |
| 96 | echo -e $BYellow"6 = GIALLO" |
| 97 | echo -e $BGreen"7 = VERDE CHIARO" |
| 98 | echo -e $BGreen"8 = VERDE SCURO" |
| 99 | echo -e $BWhite"9 = GRIGIO CHIARO" |
| 100 | echo -e $BWhite"10 = GRIGIO SCURO" |
| 101 | read colorcor |
| 102 | #--------musica |
| 103 | echo -e $BYellow"Commento sonoro aggiunto" |
| 104 | read commento |
| 105 | #----end-musica |
| 106 | OPTION=$colorcor |
| 107 | case $OPTION in |
| 108 | 0) |
| 109 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decornero.png" |
| 110 | echo -e "Hai scelto la cornice di colore"$backW$BBlack" NERO "$backB |
| 111 | ;; |
| 112 | 1) |
| 113 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorbianco.png" |
| 114 | echo -e "Hai scelto la cornice di colore"$BWhite" BIANCO" |
| 115 | ;; |
| 116 | 2) |
| 117 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorrosso.png" |
| 118 | echo -e "Hai scelto la cornice di colore"$Bred" ROSSO" |
| 119 | ;; |
| 120 | 3) |
| 121 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorfucsia.png" |
| 122 | echo -e "Hai scelto la cornice di colore"$BPurple" FUCSIA" |
| 123 | ;; |
| 124 | 4) |
| 125 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorciano.png" |
| 126 | echo -e "Hai scelto la cornice di colore"$BCyan" CIANO" |
| 127 | ;; |
| 128 | 5) |
| 129 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorblu.png" |
| 130 | echo -e "Hai scelto la cornice di colore"$BBlue" BLU" |
| 131 | ;; |
| 132 | 6) |
| 133 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorgiallo.png" |
| 134 | echo -e "Hai scelto la cornice di colore"$BYellow" GIALLO" |
| 135 | ;; |
| 136 | 7) |
| 137 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorverde1.png" |
| 138 | echo -e "Hai scelto la cornice di colore"$BGreen" VERDE CHIARO" |
| 139 | ;; |
| 140 | 8) |
| 141 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorverde.png" |
| 142 | echo -e "Hai scelto la cornice di colore"$BGreen" VERDE" |
| 143 | ;; |
| 144 | 9) |
| 145 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorgrigio1.png" |
| 146 | echo -e "Hai scelto la cornice di colore"$BWhite" GRIGIO CHIARO" |
| 147 | ;; |
| 148 | 10) |
| 149 | cornice="/run/media/claudio/Elements/action/000standard/cornici/decor/decorgrigio.png" |
| 150 | echo -e "Hai scelto la cornice di colore"$BWhite" GRIGIO" |
| 151 | ;; |
| 152 | *) |
| 153 | echo -e $BCyan"Hai scelto un numero non contemplato! |
| 154 | Probramma interrotto." |
| 155 | exit 0 |
| 156 | esac |
| 157 | #------------#------------ |
| 158 | echo 'Digitare il nome del titolo che si vuole dare al video elaborato' |
| 159 | read nuovotitolo |
| 160 | #---------------- |
| 161 | ffmpeg -i $titolo -i $sovr -i $commento -i $cornice -ignore_loop 0 -i $logo -filter_complex "[0:a][1:a]amix=inputs=2:shortest:dropout_transition=0 |
| 162 | [2video:a];[2video:a][2:a]amix=inputs=2:shortest:dropout_transition=0 |
| 163 | [soundtot:a];[1]scale="$largh":"$alt",setsar=1:1, setdar=16:9[scaled];[0][scaled]overlay=x="$overx":"$overy" |
| 164 | [2video];[3]scale="$larghcorn":"$altcorn",setsar=1:1, setdar=16:9[cornscal];[2video][cornscal]overlay=x="$overcornx":"$overcorny" |
| 165 | [2vcorn];[2vcorn][4]overlay=x="$xoverlay":"$yoverlay"[outv]; |
| 166 | [outv]subtitles="$ass -map [soundtot:a]? -c:v libx264 -shortest -r 25 -crf 17 -aspect 16/9 $nuovotitolo |
| 167 | |
| 168 | echo -e $Bred'Il tuo video '$BYellow$nuovotitolo$Bred' รจ stato elaborato' |
| 169 | |
| 170 | exit 0 |