Ik heb een MP4-bestand van een schermopname die ik moet bijsnijden. Hoe kan ik dit bereiken zonder dure tools zoals Adobe Premier of Final Cut te gebruiken? Ik geef de voorkeur aan ffmpeg omdat ik het eerder heb gebruikt.

Antwoord

Gebruik de crop filter :

ffmpeg -i in.mp4 -filter:v "crop=out_w:out_h:x:y" out.mp4 

Waar de opties zijn als volgt:

  • out_w is de breedte van de uitvoerrechthoek
  • out_h is de hoogte van de uitvoerrechthoek
  • x en y specificeren de linkerbovenhoek van de uitvoerrechthoek

Originele afbeelding

originele afbeelding
Originele afbeelding van 320×240

Voorbeeld 1

80x60

Om een 80 × 60 sectie bij te snijden, beginnend vanaf positie (200, 100):

ffmpeg -i in.mp4 -filter:v "crop=80:60:200:100" -c:a copy out.mp4 

Voorbeeld 2

kwart rechtsonder

Om het kwartaal rechtsonder bij te snijden:

ffmpeg -i in.mp4 -filter:v "crop=in_w/2:in_h/2:in_w/2:in_h/2" -c:a copy out.mp4 

Dit is hetzelfde als:

ffmpeg -i in.mp4 -filter:v "crop=320/2:240/2:320/2:240/2" -c:a copy out.mp4 

Wat hetzelfde is als:

ffmpeg -i in.mp4 -filter:v "crop=160:120:160:120" -c:a copy out.mp4 
  • Je kunt naar de grootte van de ingevoerde afbeelding verwijzen met in_w en in_h zoals getoond in dit eerste voorbeeld. De uitvoerbreedte en -hoogte kunnen ook worden gebruikt met out_w en out_h.

Voorbeeld 3

20 pixels vanaf de bovenkant en 20 pixels vanaf de onderkant

Snijd 20 pixels vanaf de bovenkant en 20 vanaf de onderkant bij:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4 
  • Het filter centreert automatisch de uitsnede als x en y worden weggelaten, zoals in dit voorbeeld.

Voorbeeldweergave

U kunt een uitsnede nemen (heh heh) en deze live bekijken met ffplay:

ffplay -i input -vf "crop=in_w:in_h-40" 

Op deze manier kunt u experimenteren en uw bijsnijden aanpassen zonder dat u hoeft te coderen, bekijken en herhalen.

Notities

  • crop filterdocumentatie

  • Standaard encoder voor MP4 is libx264 (H.264-video) of mpeg4 (MPEG- 4 deel 2 video) afhankelijk van je ffmpeg build. Zie FFmpeg Wiki: H.264 Video Encoding Guide voor meer informatie.

  • In plaats van bijsnijden en opnieuw codering, overweeg bij het afspelen bij te snijden. Dit is mogelijk met elke speler die het waard is om te gebruiken.

  • Ancient ffmpeg builds gebruikt -croptop , -cropbottom, -cropleft, -cropright opties in plaats van de crop filter. Als dit bij u het geval is, haal dan een moderne ffmpeg op. Ontwikkeling is erg actief en er is geen reden om antiek te gebruiken.

Reacties

  • Dit werkt met ' avconv ' nu.
  • de moeite waard om deze techniek te vermelden (met de crop filter) codeert de video opnieuw, zie stackoverflow.com/questions/33378548/… indien opnieuw codering is belangrijk voor u
  • bewerkt om de verouderde -filter:v te wijzigen in de meer up-to-date en eenvoudiger te typen -vf . Proost!
  • Als je ' opnieuw zwarte balken rond je video probeert te verwijderen (piallarbox, brievenbus, windowbox, enz.), Gebruik dan cropdetect die als eerste ffmpeg-bijsnijdparameters voor u heeft: ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4
  • Deze bijsnijdfilter werkt geweldig! Om het selectiekader te bepalen dat nodig is om een video bij te snijden, heb ik een videoframe geëxporteerd naar een afbeelding met ffmpeg. Open vervolgens de afbeelding met GIMP waar ik een selectiekader kan tekenen voor het gebied dat ik de video wilde bijsnijden en dan kan ik de X-, Y-, W-, H-info uit het aanwijzervenster halen. Vraag of dit niet duidelijk genoeg is.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *