Bir videonun siyah kenarlıklarını ffmpeg ile otomatik olarak kırpmak mümkün mü?


16

Ben bir resim sekansının siyah olup olmadığını belirleyebilir bir "karanlık" video filtresi olduğunu düşünüyorum. Belki de videonun kenarlarından siyah kenarlıkları kaldırmak için kırpma değerlerini otomatik olarak belirleyen bir filtreye sahiptir. Ya da belki bir şekilde "karanlık" filtresini kullanarak bir senaryo yazmak mümkündür.

Yanıtlar:


22

Evet mümkün.

Önce videonuzu oynatıp oynatıp oynatmadığını kontrol edin:

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

cropdetectFiltre değerleri şunlardır:

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

Tamam görünüyorsa, kırpın:

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

Kaynak ve daha fazla bilgi: René Calles blog renevolution.com


6
Cropdetect (-i girişinden önce) kullanılırken bir başlangıç ​​noktası (-ss 00:05:00) koymak yararlı olabilir, çünkü bazı videoların başlatılırken sabit siyah bir ekranı olacaktır.

Bunu python matplotlib.animationbeyaz kenarlığı olan videoları kırpmak için kullanmak istiyorum . Tespit edilen kenarlığın rengini değiştirmek mümkün müdür?
ryanjdillon

1
Kenarlık rengi olarak siyahtan başka bir şey belirtebilir misiniz? Örneğin beyaz mı?
DanMan

Hala manuel işlem yapmanız gerektiğinden bu soruya cevap vermiyor
Freedo

Hey @Cornelius lütfen bir komut bulmama yardım edebilir misin - ffmpeg kullanarak video.mp4'ü Square'den Round'a kırpmak istiyorum - bunun için bindirme komutu kullanmak istemiyorum
Adil


4

Diğer iki yanıtı bir senaryoya koymak:

#!/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"

Bu sorunun bazı ilgili ffmpeg örnekleri var

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.