Jeg har en MP4-fil av et skjermopptak som jeg må beskjære. Hvordan kan jeg oppnå dette uten å bruke dyre verktøy som Adobe Premier eller Final Cut? Jeg foretrekker ffmpeg
fordi jeg har brukt det før.
Svar
Bruk crop
filter :
ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4
Hvor alternativene er som følger:
-
out_w
er bredden på utgangsrektangelet -
out_h
er høyden på utgangsrektangelet -
x
ogy
spesifiserer øverste venstre hjørne av utgangsrektangel
Originalbilde
Original 320×240 bilde
Eksempel 1
Å beskjære en 80 × 60 seksjon, fra posisjon (200, 100):
ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4
- Lyden er stream kopiert i dette eksemplet, så omkoding unngås.
Eksempel 2
Slik beskjæres nederste høyre kvartal:
ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4
Dette er det samme som:
ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4
Hvilket er det samme som:
ffmpeg -i in.mp4 -filter:v "crop=160:120:160:120" -c:a copy out.mp4
- Du kan referere til størrelsen på inngangsbildet med
in_w
ogin_h
som vist i dette første eksemplet. Utgangsbredden og høyden kan også brukes medout_w
ogout_h
.
Eksempel 3
Beskjær 20 piksler fra toppen og 20 fra bunnen:
ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4
- Filteret sentrerer beskjæringen automatisk hvis
x
ogy
er utelatt som i dette eksemplet.
Forhåndsvisning
Du kan ta en beskjæring (heh heh) og forhåndsvise den live med ffplay
:
ffplay -i input -vf "crop=in_w:in_h-40"
På denne måten kan du eksperimentere og justere beskjæringen din uten å måtte kode, vise, gjenta.
Merknader
-
Standardkoder for MP4 er
libx264
(H.264 video) ellermpeg4
(MPEG- 4 Del 2-video) avhengig avffmpeg
bygg. Se FFmpeg Wiki: H.264 Video Encoding Guide for mer info. -
I stedet for å beskjære og re- koding, bør du vurdere å beskjære ved avspilling. Dette er mulig med alle spillere som er verdt å bruke.
-
Ancient
ffmpeg
builds used-croptop
,-cropbottom
,-cropleft
,-cropright
alternativer i stedet forcrop
filter. Hvis dette er tilfelle for deg, får en moderneffmpeg
. Utviklingen er veldig aktiv og det er ingen grunn til å bruke en antikk.
crop
filter) koder videoen på nytt, se stackoverflow.com/questions/33378548/… hvis du koding betyr noe for deg-filter:v
til mer oppdatert og enklere å skrive-vf
. Skål!cropdetect
først har ffmpeg utskriftsbeskjæringsparametere for deg:ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4