ffmpeg를 사용하여 비디오의 검은 색 테두리를 자동 자르는 것이 가능합니까?


15

"검은 색"비디오 필터가 있다고 생각합니다.이 필터는 그림 시퀀스가 ​​검은 색인지 확인할 수 있습니다. 또한 비디오 가장자리에서 검은 색 테두리를 제거하기 위해 자르기 값을 자동으로 결정하는 필터가있을 수 있습니다. 또는 "blackness"필터를 사용하여 스크립트를 작성하는 것이 가능할 수도 있습니다.

답변:


21

네 가능합니다.

먼저 비디오를 재생하여 정상인지 확인하십시오.

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

출처 및 추가 정보 : René Calles 블로그 renevolution.com


5
자르기 감지를 사용할 때 (입력 전 -i 이전) 시작점 (-ss 00:05:00)을 입력하면 일부 비디오가 시작시 검은 색 화면으로 표시되므로 도움이 될 수 있습니다.

python matplotlib.animation테두리를 사용하여 흰색 테두리가있는 비디오 를 자르고 싶습니다 . 감지중인 테두리의 색상을 변경할 수 있습니까?
ryanjdillon

1
테두리 색상으로 검은 색 이외의 것을 지정할 수 있습니까? 예를 들어 흰색?
DanMan

여전히 수동 조치를 수행해야하므로 질문에 대답하지 않습니다
Freedo

안녕하세요 @Cornelius 하나의 명령을 찾도록 도와주세요-ffmpeg를 사용하여 square에서 Round로 video.mp4를 자르고 싶습니다-오버레이 명령을 사용하고 싶지 않습니다
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"

이 질문 에는 몇 가지 관련 예제가 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.