Elimine las barras negras superiores e inferiores del video .mp4 usando ffmpeg

23

Soy nuevo en ffmpeg y he oído que tiene un filtro para negro. Quiero eliminar las barras negras en la parte superior e inferior del video para que el video se recorte al video restante sin barras negras. Gracias:)


fuente
Windows? Instalar WinFF. Le permitirá escribir los valores que desea recortar a través de una GUI ...
Kinnectus

Respuestas:

39

FFmpeg cropdetect y filtros de recorte

1. Obtener parámetros de cultivo

cropdetect se puede utilizar para proporcionar los parámetros para el filtro de recorte . En este ejemplo, se omiten los primeros 90 segundos y se procesan 10 fotogramas:

$ ffmpeg -ss 90 -i input.mp4 -vframes 10 -vf cropdetect -f null -
...
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:215 t:0.215000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:257 t:0.257000 crop=1280:720:0:0
[Parsed_cropdetect_0 @ 0x220cdc0] x1:0 x2:1279 y1:0 y2:719 w:1280 h:720 x:0 y:0 pts:299 t:0.299000 crop=1280:720:0:0

Entonces, de acuerdo con cropdetect, podemos usar crop=1280:720:0:0.

2. Vista previa con ffplay

$ ffplay -vf crop=1280:720:0:0 input.mp4

3. Vuelva a codificar utilizando el filtro de recorte

$ ffmpeg -i input.mp4 -vf crop=1280:720:0:0 -c:a copy output.mp4

En este ejemplo, el audio solo se copia (se vuelve a mezclar) ya que probablemente no necesite volver a codificarlo.

Ver también


Recortar durante la reproducción

Como has visto anteriormente con el ffplayejemplo, algunos jugadores te permiten recortar durante la reproducción. Esto tiene la ventaja de:

  • Gratificación instantánea; no es necesario volver a codificar
  • La calidad se conserva
lema
fuente
Lo siento, pero soy nuevo en ffmpeg y no entiendo la parte para eliminar las barras negras en la parte superior e inferior y cambiar el tamaño del video al tamaño restante sin barras negras.
1
¿Existe una forma automática de eliminar las barras negras o tengo que usar siempre manualmente los valores de recorte?
1
@rexhin Cuando ejecutas cropdetect, volcará un montón de información en la salida de la consola como se muestra arriba. Literalmente le brinda los parámetros de cultivo reales que necesita usar. Puede automatizarlo mediante secuencias de comandos.
llogan
Wow, increíble, funcionó. ¿Pero dónde pusimos el filtro para negro? Además, ¿cuáles son los otros dos parámetros en crop = 1280: 720: 0: 24
Se ha eliminado la barra negra superior pero se ha dejado una pequeña barra negra en la parte inferior. ¿Por qué pasó esto?
1

La respuesta de @LordNeckbeard es genial. Lo recomendaría en la mayoría de los casos.

ffplay funcionó muy bien y se previsualizó bien, pero la versión de ffmpeg que estaba usando tuvo problemas con el audio de este video que estaba usando.

st:1 error, non monotone timestamps 

Terminé teniendo problemas con la respuesta propuesta, ya que -c:ano era compatible con la versión que estaba ejecutando y tenía un problema con la conversión de bitrate con el video que estaba usando.

Nota: -c:ase puede reemplazar con:-acodec

La solución gratuita alternativa más fácil que encontré fue usar el freno de mano.

Su recorte automático eliminó las barras negras sin muchos problemas.

Espero que ayude.

phyatt
fuente