22/10/2023, 17:12
Ciao Ciao m3nhir.
In effetti, la presenza o meno del parametro [-r] non cambia il risultato, quindi l'ho tolto.
Ora il mio listato è
(altre differenze dal precedente listato: le righe contenenti il comando ffmpeg ora sono 2: una preceduta da [echo] e seguita da [>> output01.txt], e l'altra #commentata, in modo che non venga eseguita)
Se io avvio lo script suddetto, ottengo un file di testo chiamato output01.txt contenente le 3 righe seguenti:
e fin qui ci siamo.
Quindi, se cancello il file di testo chiamato output01.txt, tolgo il commento all'altra riga contenente il comando ffmpeg, e ri-avvio lo script, nella cartella di lavoro, assieme ai files pre-esistenti, mi aspetto di trovare un nuovo file di testo chiamato output01.txt avente il medesimo contenuto del precedente file di testo omonimo, più i 3 nuovi files mp4 croppati, invece, accanto ai files pre-esistenti, trovo solo un nuovo file di testo chiamato output01.txt contenente unicamente la riga
più elaborato-20231005_224603-crop.mp4
come se la prima esecuzione del comando ffmpeg avesse provocato la fine anticipata del ciclo while.
Perché?
In effetti, la presenza o meno del parametro [-r] non cambia il risultato, quindi l'ho tolto.
Ora il mio listato è
Codice:
#!/bin/bash
while read IN; do
OUT='elaborato-'${IN::-4}'-crop'${IN:(-4)} # Imposta nome ed estensione del file audiovisivo elaborato
Y=$((480+0)) # Imposta l'altezza del file audiovisivo elaborato
X=$((Y*3/2)) # Imposta la larghezza del file audiovisivo elaborato
X1=300 # Imposta la distanza dal lato sinistro
Y1=100 # Imposta la distanza dal lato superiore
XY="crop="$X":"$Y":$X1:$Y1" # Imposta i parametri di crop
echo ffmpeg -i $IN -vf $XY -acodec copy $OUT >> output01.txt
# ffmpeg -i $IN -vf $XY -acodec copy $OUT
done < lista.txt
Se io avvio lo script suddetto, ottengo un file di testo chiamato output01.txt contenente le 3 righe seguenti:
Codice:
ffmpeg -i 20231005_224603.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231005_224603-crop.mp4
ffmpeg -i 20231012_223758.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231012_223758-crop.mp4
ffmpeg -i 20231019_230246.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231019_230246-crop.mp4
Quindi, se cancello il file di testo chiamato output01.txt, tolgo il commento all'altra riga contenente il comando ffmpeg, e ri-avvio lo script, nella cartella di lavoro, assieme ai files pre-esistenti, mi aspetto di trovare un nuovo file di testo chiamato output01.txt avente il medesimo contenuto del precedente file di testo omonimo, più i 3 nuovi files mp4 croppati, invece, accanto ai files pre-esistenti, trovo solo un nuovo file di testo chiamato output01.txt contenente unicamente la riga
Codice:
ffmpeg -i 20231005_224603.mp4 -vf crop=720:480:300:100 -acodec copy elaborato-20231005_224603-crop.mp4
più elaborato-20231005_224603-crop.mp4
come se la prima esecuzione del comando ffmpeg avesse provocato la fine anticipata del ciclo while.
Perché?
Comandi da ricordare:
http://sargonsei.altervista.org/15_bash/
http://sargonsei.altervista.org/15_bash/