Ffmpeg에서 불투명도 설정으로 이미지 오버레이

Ffmpeg에서 불투명도 설정으로 이미지 오버레이
  • 불투명도 설정으로 이미지를 오버레이하고 싶습니다.

  • 비디오에 이미지를 오버레이하는 방법을 알고 있지만 불투명도 수준을 설정하는 방법도 이해하지 못합니다. 내 비디오에 워터마크를 쉽게 추가할 수 있지만 이 워터마크는 불투명도가 100%입니다.

  • 그런데 이미지 파일의 불투명도를 50%로 만들려면 어떻게 해야 합니까?

    예: ffmpeg -i in.mp4 -i image.png -af "pan=stereo|c0<c0+c2|c1<c1+c3,aeval=val(0)|val(1),volume=1.6" -vf "opacity=0.5" out.mp4

[AVFilterGraph @ 0000000000316dc0] 해당 필터 없음: '불투명도' 필터를 여는 동안 오류가 발생했습니다!

답변1

아래 명령을 사용하십시오.

ffmpeg -i in.mp4 -i image.png \
-af "pan=stereo|c0<c0+c2|c1<c1+c3,aeval=val(0)|val(1),volume=1.6" \
-filter_complex "[1]geq=r='r(X,Y)':a='0.5*alpha(X,Y)'[a];[0][a]overlay" out.mp4

a='0.5*alpha(X,Y)'알파, 즉 불투명도를 설정합니다 .

필터 geq는 입력이 RGB인지 YUV인지 자동 감지하지 않으며 알파가 아닌 평면 중 하나의 표현 존재에서 신호를 가져오므로 그 중 하나를 지정해야 합니다. R 평면에 대한 표현식을 지정하고 ID로 설정했으므로 변경되지 않습니다.

관련 정보