Tengo un archivo MP4 de una grabación de pantalla que necesito recortar. ¿Cómo puedo lograr esto sin usar herramientas costosas como Adobe Premier o Final Cut? Prefiero ffmpeg porque lo he usado antes.

Responder

Use el crop filtro :

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

Donde las opciones son las siguientes:

  • out_w es el ancho del rectángulo de salida
  • out_h es la altura del rectángulo de salida
  • x y y especifican la esquina superior izquierda del rectángulo de salida

Imagen original

imagen original
Imagen original de 320×240

Ejemplo 1

80x60

Para recortar una sección de 80 × 60, comenzando desde la posición (200, 100):

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

Ejemplo 2

cuarto inferior derecho

Para recortar el cuarto inferior derecho:

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

Esto es lo mismo que:

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

Que es lo mismo que:

ffmpeg -i in.mp4 -filter:v "crop=160:120:160:120" -c:a copy out.mp4 
  • Puede hacer referencia al tamaño de la imagen de entrada con in_w y in_h como se muestra en este primer ejemplo. El ancho y el alto de salida también se pueden usar con out_w y out_h.

Ejemplo 3

20 píxeles desde la parte superior y 20 desde la parte inferior

Recorta 20 píxeles desde la parte superior y 20 desde la parte inferior:

 ffmpeg -i in.mp4 -filter:v "crop=in_w:in_h-40" -c:a copy out.mp4 
  • El filtro centrará automáticamente el recorte si x y y se omiten, como en este ejemplo.

Vista previa

Puede tomar un recorte (jejeje) y obtener una vista previa en vivo con ffplay:

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

De esta manera, puede experimentar y ajustar su recorte sin la necesidad de codificar, ver, repetir.

Notas

  • crop documentación del filtro

  • El codificador predeterminado para MP4 es libx264 (video H.264) o mpeg4 (MPEG- 4 video de la parte 2) según su ffmpeg compilar. Consulte la Wiki FFmpeg: Guía de codificación de video H.264 para obtener más información.

  • En lugar de recortar y volver a codificación, considere recortar durante la reproducción. Esto es posible con cualquier reproductor que valga la pena usar.

  • Construcciones antiguas ffmpeg usadas -croptop , -cropbottom, -cropleft, -cropright en lugar de las crop filtro. Si este es tu caso, obtén un ffmpeg moderno. El desarrollo es muy activo y no hay razón para usar una antigüedad.

Comentarios

  • Esto funciona con ' avconv ' ahora.
  • Vale la pena mencionar esta técnica (con el crop filter) vuelve a codificar el vídeo, consulta stackoverflow.com/questions/33378548/… si la codificación es importante para usted
  • editado para cambiar el -filter:v obsoleto por uno más actualizado y más simple para escribir -vf . ¡Salud!
  • Si ' estás intentando eliminar las barras negras alrededor de tu video (piallarbox, letterbox, windowbox, etc.) usa cropdetect primero en tener los parámetros de recorte de impresión ffmpeg para usted: ffmpeg.exe -i vid.mp4 -vf cropdetect out.mp4
  • ¡Este filtro de recorte funciona muy bien! Para determinar el cuadro delimitador necesario para recortar un video, exporté un fotograma de video a una imagen con ffmpeg. Luego, abra la imagen con GIMP donde puedo dibujar un cuadro delimitador para el área que quería recortar el video y luego puedo obtener la información X, Y, W, H de la ventana del puntero. Pregunte si esto no es lo suficientemente claro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *