Cómo quitar las bandas negras de un vídeo con los filtros ‘cropdetect’ y ‘crop’ de FFmpeg.

Cómo quitar las bandas negras de un vídeo con los filtros ‘cropdetect’ y ‘crop’ de FFmpeg

Miguel Menéndez

Quita fácilmente y de manera automática con los filtros cropdetect y crop de FFmpeg las bandas negras típicas de los vídeos panorámicos convertidos a 4:3.

Primero vamos a averiguar qué áreas de la imagen están ocupadas por esas bandas negras que, habitualmente ocupan los bordes superior e inferior pero que, como veremos en el siguiente ejemplo, también pueden aparecer a izquierda y derecha.

Averiguamos el área a recortar con el filtro cropdetect

$ ffmpeg -ss 90 -i entrada.mpg -vframes 10 -vf cropdetect -f null -

Donde -vframes es el número de fotogramas a analizar (10 en este ejemplo).

El comando anterior devolverá, entre otras cosas:

[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:7200 t:0.080000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:10800 t:0.120000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:14400 t:0.160000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:18000 t:0.200000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:21600 t:0.240000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:25200 t:0.280000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:28800 t:0.320000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:32400 t:0.360000 crop=688:400:14:88
[Parsed_cropdetect_0 @ 0x55f569ad44c0] x1:7 x2:707 y1:83 y2:492 w:688 h:400 x:14 y:88 pts:36000 t:0.400000 crop=688:400:14:88

Lo único que nos interesa aquí son los valores de crop, en este ejemplo crop=688:400:14:88.

Previsualizamos

Antes de recortar efectivamente el vídeo, lo repoducimos aplicando el recorte propuesto por el filtro cropdetect:

$ ffplay -vf crop=688:400:14:88 entrada.mpg

Recortamos finalmente con el filtro crop

Si estamos conformes con el resultado de la previsualización, aplicamos el recorte al vídeo:

$ ffmpeg -i entrada.mpg -vf crop=688:400:14:88 -c:a copy salida.mpg

Antes

Después

Imágenes de Big Buck Bunny .

Comentarios

¿Has encontrado un error? ¿Crees que algo podría mejorarse? No dudes en comentármelo y estaré encantado de echarle un vistazo.