Ho un file MP4 di una registrazione dello schermo che devo ritagliare. Come posso ottenere questo risultato senza utilizzare strumenti costosi come Adobe Premier o Final Cut? Preferisco ffmpeg
perché l'ho usato prima.
Ho un file MP4 di una registrazione dello schermo che devo ritagliare. Come posso ottenere questo risultato senza utilizzare strumenti costosi come Adobe Premier o Final Cut? Preferisco ffmpeg
perché l'ho usato prima.
Risposte:
Usa il crop
filtro :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Dove le opzioni sono le seguenti:
out_w
è la larghezza del rettangolo di outputout_h
è l'altezza del rettangolo di outputx
e y
specifica l'angolo in alto a sinistra del rettangolo di output
Immagine originale 320x240
Per ritagliare una sezione 80 × 60, partendo dalla posizione (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
Per ritagliare il quarto in basso a destra:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
Questo è lo stesso di:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Che è lo stesso di:
ffmpeg -i in.mp4 -filter:v "crop=240:120:240:120" -c:a copy out.mp4
in_w
e in_h
come mostrato in questo primo esempio. La larghezza e l'altezza dell'output possono essere utilizzate anche con out_w
e out_h
.Ritaglia 20 pixel dall'alto e 20 dal basso:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
x
e y
viene omesso come in questo esempio.Puoi prendere un ritaglio (eh eh) e visualizzarne l'anteprima in tempo reale con ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
In questo modo puoi sperimentare e regolare il ritaglio senza la necessità di codificare, visualizzare, ripetere.
L'encoder predefinito per MP4 è libx264
(video H.264) o mpeg4
(video MPEG-4 parte 2) a seconda della ffmpeg
build. Vedi FFmpeg Wiki: Guida alla codifica video H.264 per maggiori informazioni.
Invece di ritagliare e ricodificare, considerare il ritaglio durante la riproduzione. Questo è possibile con qualsiasi giocatore che valga la pena usare.
Antica ffmpeg
costruisce utilizzato -croptop
, -cropbottom
, -cropleft
, -cropright
opzioni al posto del crop
filtro. Se questo è il tuo caso, procurati un modernoffmpeg
. Lo sviluppo è molto attivo e non c'è motivo di usare un oggetto antico.
/Users/kukodajanos/Workspace/ffmpeg -i /Users/kukodajanos/Desktop/video_640x480-2.mp4 -filter:v "crop=1920:1080:0:0" -c:a copy /Users/kukodajanos/Desktop/video_640x480-4.mp4
ma il film originale viene restituito.
crop
filtro) ricodifica il video, vedi stackoverflow.com/questions/33378548/… se la ricodifica è importante per te
-filter:v
in più aggiornato e più semplice da digitare -vf
. Saluti!