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 ffmpegperché 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 ffmpegperché l'ho usato prima.
Risposte:
Usa il cropfiltro :
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 outputxe yspecifica 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_we in_hcome mostrato in questo primo esempio. La larghezza e l'altezza dell'output possono essere utilizzate anche con out_we 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
xe yviene 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 ffmpegbuild. 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 ffmpegcostruisce utilizzato -croptop, -cropbottom, -cropleft, -croprightopzioni al posto del cropfiltro. 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.mp4ma il film originale viene restituito.
cropfiltro) ricodifica il video, vedi stackoverflow.com/questions/33378548/… se la ricodifica è importante per te
-filter:vin più aggiornato e più semplice da digitare -vf. Saluti!