Apakah mungkin untuk melakukan autocrop pada batas hitam video dengan ffmpeg?


15

Saya pikir itu memiliki filter video "hitam", yang dapat menentukan apakah urutan gambar berwarna hitam. Mungkin juga memiliki filter untuk menentukan nilai pemotongan secara otomatis untuk menghapus tepi hitam dari tepi video. Atau mungkin mungkin entah bagaimana menulis skrip menggunakan filter "kegelapan".

Jawaban:


21

Ya itu mungkin.

Pertama-tama mainkan video Anda untuk melihat apakah itu OK:

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

Nilai cropdetectfilternya adalah:

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

Jika terlihat OK, pangkas:

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

Sumber dan info lebih lanjut: René Calles blog renevolution.com


5
Mungkin bermanfaat untuk meletakkan titik awal (-ss 00:05:00) ketika menggunakan cropdetect (sebelum input -i) karena beberapa video akan memiliki layar hitam pekat saat memulai.

Saya ingin menggunakan ini untuk memotong python matplotlib.animationvideo, yang memiliki batas putih. Apakah mungkin untuk mengubah warna perbatasan yang terdeteksi?
ryanjdillon

1
Bisakah Anda menentukan sesuatu selain hitam sebagai warna batas? Putih misalnya?
DanMan

Ini tidak menjawab pertanyaan karena Anda masih perlu melakukan tindakan manual
Freedo

Hai @Cornelius, bisakah Anda membantu saya menemukan satu perintah - saya ingin memotong video.mp4 dari Square to Round menggunakan ffmpeg - tidak ingin menggunakan perintah overlay untuk ini
Adil


4

Menyatukan dua jawaban lainnya menjadi satu skrip:

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

Pertanyaan ini memiliki beberapa contoh ffmpeg yang relevan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.