GNU/Linux >> Linux Esercitazione >  >> Linux

Come ingrandire e rimpicciolire i video utilizzando FFmpeg

FFmpeg è un potente convertitore audio e video opensource. Usando FFmpeg, possiamo codificare, decodificare, transcodificare, mux, demux, registrare, ridimensionare, trasmettere in streaming, filtrare e riprodurre quasi tutti i tipi di file multimediali. Non solo, possiamo anche acquisire streaming audio/video dal vivo. FFmpeg viene fornito con molti filtri per eseguire diverse attività. Uno dei filtri meno conosciuti ma utili è zoompan . Usando il filtro zoompan, possiamo facilmente ingrandire e rimpicciolire i video in Linux. Lascia che ti mostri come farlo usando un comando di esempio.

Assicurati di aver installato FFmpeg sulla tua macchina Linux. Abbiamo documentato i passaggi per installare FFmpeg sui più diffusi sistemi operativi Linux nel seguente link.

  • Come installare FFmpeg in Linux

Una volta installato FFmpeg, vai alla posizione in cui hai salvato il video ed esegui il seguente comando per ingrandire e rimpicciolire ogni X secondi:

$ ffmpeg -i input.mp4 -vf "zoompan=z='if(lte(mod(time,10),3),2,1)':d=1:x=iw/2-(iw/zoom/2):y=ih/2-(ih/zoom/2):fps=30" output.mp4

Il comando sopra ingrandirà verso il centro del video per zoom 2x per i primi 3 secondi di ogni 10 secondi blocco di tempo. Sostituisci input.mp4 con il tuo nome file. Regola anche i valori secondo le tue esigenze e imposta l'FPS per il filtro in modo che corrisponda all'input. Il valore predefinito è 25.

Puoi trovare i dettagli FPS tra gli altri dettagli di un determinato video usando il seguente comando:

$ ffmpeg -i input.mp4

Ecco il video di input effettivo prima della conversione:

Ed ecco il video convertito (zoom-in-out):

Hai notato la differenza? Il video viene ingrandito a 2X per i primi 3 secondi e poi torna alla normalità (rimpicciolimento). Al decimo secondo esatto, il video viene nuovamente ingrandito per i primi 3 secondi e il ciclo continua fino alla fine del video.

Puoi anche provare le seguenti impostazioni di zoompan fornite nella sezione della guida del filtro zoompan di FFmpeg.

Ingrandisci fino a 1,5x e fai una panoramica contemporaneamente in un punto vicino al centro dell'immagine:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='if(gte(zoom,1.5),x,x+1/a)':y='if(gte(zoom,1.5),y,y+1)':s=640x360

Ingrandisci fino a 1,5x e fai una panoramica sempre al centro dell'immagine:

zoompan=z='min(zoom+0.0015,1.5)':d=700:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Come sopra ma senza pause:

zoompan=z='min(max(zoom,pzoom)+0.0015,1.5)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Ingrandisci 2x al centro dell'immagine solo per il primo secondo del video di input:

zoompan=z='if(between(in_time,0,1),2,1)':d=1:x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)'

Per altri esempi di comandi FFmpeg, fare riferimento alla seguente guida:

  • 20+ comandi FFmpeg per principianti

Spero che questo aiuti.


Linux
  1. Raspberry Pi Firewall:come installarlo e gestirlo utilizzando UFW

  2. Come masterizzare un'immagine ISO su DVD e USB utilizzando dd

  3. Come ruotare i video usando FFMpeg dalla riga di comando

  4. Come convertire video m4v e wmv in formato mp4 usando ffmpeg?

  5. Tagliare i video in base all'ora di inizio e di fine usando ffmpeg

Come accedere e disconnettersi da cPanel

Come accedere e uscire da Plesk

Come sincronizzare file e directory utilizzando Zaloha.sh

Come installare e utilizzare FFmpeg su Debian 11

Come usare il comando DD e come masterizzare ISO usandolo

Come scoprire quale programma utilizza Internet e quanto?