È possibile ritagliare automaticamente i bordi neri di un video con ffmpeg?


15

Penso che abbia un filtro video "nero", che può determinare se una sequenza di immagini è nera. Forse ha anche un filtro per determinare automaticamente i valori di ritaglio per rimuovere i bordi neri dai bordi di un video. O forse è possibile in qualche modo scrivere uno script usando il filtro "blackness".

Risposte:


21

Sì, è possibile.

Per prima cosa riproduci il tuo video per vedere se è OK:

ffplay -i YourMovie.mp4 -vf "cropdetect=24:16:0"

I cropdetectvalori del filtro sono:

cropdetect=limit:round:reset

limit = black threshold (default 24)
round = output resolution must be divisible to this
reset = after how many frames the detection process will start over

Se sembra OK, ritaglialo:

ffmpeg -i YourMovie.mp4 -vf "crop=640:256:0:36" YourCroppedMovie.mp4

Fonte e maggiori informazioni: René Calles blog renevolution.com


5
Potrebbe essere utile inserire un punto di inizio (-ss 00:05:00) quando si utilizza cropdetect (prima dell'input -i) poiché alcuni video avranno una schermata nera fissa all'avvio.

Vorrei usarlo per ritagliare i python matplotlib.animationvideo, che hanno un bordo bianco. È possibile modificare il colore del bordo rilevato?
ryanjdillon,

1
Puoi specificare qualcos'altro oltre al nero come colore del bordo? Bianco per esempio?
DanMan

Questo non risponde alla domanda in quanto è ancora necessario eseguire un'azione manuale
Freedo

Ehi @Cornelius, per favore, puoi aiutarmi a trovare un comando - voglio ritagliare video.mp4 da Square a Round usando ffmpeg - non voglio usare il comando overlay per questo
Adil,


4

Mettere insieme le altre due risposte in uno script:

#!/bin/sh
#ffmpeg_zoom ver 20180128202453
I="$@";X=${I##*.};O=${I%.*}_zoomed.${X};f=$(which ffmpeg 2>/dev/null)
if [ ! "$f" ]||[ "$f" = '' ];then echo "Install ffmpeg";exit 1;fi
C=$($f -i "$I" -t 1 -vf cropdetect -f null - 2>&1|awk '/crop/{print $NF}'|tail -n1)
echo $f -i "$I" -vf "$C" "$O"; $f -i "$I" -vf "$C" "$O"

Questa domanda ha alcuni esempi rilevanti di ffmpeg

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.