Чи можливо автокрофонувати чорні межі відео з ffmpeg?


16

Я думаю, що у нього є відеофільтр "чорноти", який може визначити, чи є послідовність зображення чорною. Можливо, він також має фільтр, щоб автоматично визначати значення обрізання, щоб видалити чорні межі з країв відео. А може, можливо якось написати сценарій за допомогою фільтра «чорнота».

Відповіді:


22

Так, можливо.

Спочатку відтворіть своє відео, щоб побачити, чи добре це:

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

Значення cropdetectфільтра:

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

Якщо це виглядає добре, обріжте його:

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

Джерело та додаткова інформація: блог Рене Каллес renevolution.com


6
Можливо, буде корисно поставити початкову точку (-ss 00:05:00) при використанні cropdetect (перед введенням -i), оскільки деякі відео будуть мати суцільний чорний екран при запуску.

Я хотів би використати це для обрізання python matplotlib.animationвідео, на якому є біла рамка. Чи можна змінити колір виявленої межі?
ryanjdillon

1
Чи можете ви вказати щось інше, ніж чорний як колір межі? Білий, наприклад?
DanMan

Це не дає відповіді на запитання, оскільки вам ще потрібно вчинити вручну
Freedo

Привіт @ Корнеліус, будь ласка, допоможіть мені знайти одну команду - я хочу обрізати video.mp4 з квадрата в круг, використовуючи ffmpeg - не хочу використовувати для цього команду накладання
Adil


4

Зведення двох інших відповідей разом у сценарій:

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

Це питання містить кілька відповідних прикладів ffmpeg

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.