Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
  Condividi: Facebook Twitter
FFmpeg: modificare la risoluzione di tutte le immagini contenute in una cartella
#1
Ciao a tutti.
La mia prima domanda, riguarda in questo forum, riguarda l'utilizzo di FFmpeg con Windows.
Su Linux, se apro un terminale in una cartella contenente immagini in formato .JPG ed impartisco il comando
Codice:
for i in *.JPG; do ffmpeg -i "$i" -vf scale=900:-1 "${i%.*}lr.jpg"; done # Modifica la risoluzione di tutte le immagini contenute nella cartella in modo che il lato maggiore sia di 900 pixels
per ogni immagine con estensione .JPG ho un'ulteriore immagine con suffisso lr ed estensione .jpg
Come faccio ad ottenere il medesimo effetto quando il Sistema Operativo in uso è Windows 10?

Ringrazio sin d'ora per la risposta.
Cita messaggio
#2
Cerca con Google con chiave "batch image converter" trovi molte utiliy che ti fanno il lavoro (XNConvert, Fastone ecc)
Il mio blog: https://guidedibat.blogspot.com/
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio
#3
sul web dicono ( mai provato ) che ffmpeg funziona anche con windows 10. dovrebbe essere la stessa cosa.
condividere il piacere di usare:
[Immagine: image03.png]
Cita messaggio
#4
(20/02/2020, 12:19)dxgiusti Ha scritto: sul web dicono ( mai provato ) che ffmpeg funziona anche con windows 10. dovrebbe essere la stessa cosa.
Non nego che i comandi della versione .exe di FFmpeg siano identici ai comandi di FFmpeg per Linux, ma, a quanto pare, i comandi del terminale DOS sono diversi dai comandi della shell BASH.

ne consegue che il comando
Codice:
M:\W10_ffmpeg\FFmpeg\bin\ffmpeg -i M:\W10_ffmpeg\P03.JPG -an -vf scale=900:-1 M:\W10_ffmpeg\P03_900.JPG

funziona perfettamente sia dal terminale DOS di Windows, sia dal terminale BASH di Linux.

Purtroppo il comando
Codice:
for i in *.JPG; do ffmpeg -i "$i" -vf scale=900:-1 "${i%.*}lr.jpg"; done # Modifica la risoluzione di tutte le immagini contenute nella cartella in modo che il lato maggiore sia di 900 pixels

contiene comandi che il DOS non interpreta come li interpreta la shell BASH, quindi mi serve l'aiuto di chi conosce il terminale DOS meglio di me.

(19/02/2020, 19:15)BAT Ha scritto: Cerca con Google con chiave "batch image converter" trovi molte utiliy che ti fanno il lavoro (XNConvert, Fastone ecc)
Devo poter operare la conversione senza installare nulla. Non posso installare nessuno dei tools che ho trovato, e devo poter effettuare la conversione anche senza l'ausilio di una connessione a Internet.
Cita messaggio
#5
La conversione con un tool non richiede la connessione ad internet.

Ad ogni modo, nei file batch DOS le variabili devono essere precedute dal simbolo % quando un comando è eseguito dal prompt, mentre da %% quando usate in un file batch. I gruppi di file si mettono tra parentesi tonde
In pratica il tuo FOR messo in un file .bat si trasforma in
Codice:
for %%i in (*.jpg) do <il-resto-del-comando>

se non è proprio questo, prova a mettere il gruppo di file tra parentesi graffe e/o ad inserire il percorso completo di directory se il batch non è nella stessa directory dei file da convertire.

Trovi la sintassi completa qui: http://www.informaticando.net/page/Comando-cmd-FOR.aspx

P.S.
Se usi Windows 10, sappi che è possibile usare le shell di vari ambienti Linux ed usarle nell'identico modo in cui le usi ora.
Il mio blog: https://guidedibat.blogspot.com/
LEGGE DI MURPHY: SE QUALCOSA PUO' ANDAR MALE, LO FARA'
VERSIONE QUANTISTICA DELLA LEGGE DI MURPHY: TUTTO VA MALE CONTEMPORANEAMENTE
Cita messaggio


Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)