Alphamerge 필터는 첫 번째 프레임에서만 작동합니다.

Alphamerge 필터는 첫 번째 프레임에서만 작동합니다.

직사각형이 아닌 특정 개체에 흐림 필터를 구현하려고 합니다. 마스크와 샘플 비디오가 있지만 문제는 비디오의 첫 번째 프레임의 알파머지 결과가 전체 비디오에 적용된다는 것입니다(비디오 전체 길이에 걸쳐 정적 이미지를 오버레이한 것처럼) ) 다음 명령을 사용했습니다.

ffmpeg -y -i sample_video.mp4 -i masked_image.png -filter_complex 
"[0:v][1:v]alphamerge,boxblur=16[alf];[0:v][alf]overlay[v]" -map [v] -map 0:a -c:a copy -preset ultrafast test.mp4

샘플_비디오.mp4 마스크_이미지.png

업데이트: 귀하의 솔루션은 꽤 잘 작동하지만 이제 흐림 강도 값이 흐림 강도에 영향을 미치지 않습니다.

마스크 이미지

샘플 이미지

boxblur=10인 결과

boxblur=30의 결과

답변1

마스크는 단일 이미지이므로 피사체를 추적하지 않지만 문제는 오버레이 픽셀이 정적이라고 가정합니다. 알파머지는 가장 짧은 입력으로 종료되고 오버레이는 보조 입력의 마지막 프레임을 반복하므로 마스크를 반복해야 합니다.

ffmpeg -y -i sample_video.mp4 -loop 1 -i masked_image.png ...

관련 정보