Cómo quitar las bandas negras de un vídeo con los filtros ‘cropdetect’ y ‘crop’ de FFmpeg
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 .