ffmpeg
영화에 사진을 오버레이하는 데 사용하고 있습니다 . 요구 사항은 임의의 각도로 그림을 회전하는 것입니다. 를 사용하면 filter_complex
이제 회전된 그림을 오버레이할 수 있습니다. 그러나 사진의 출력 영역은 검은색으로 채워져 투명하지 않습니다. 나는 확인했다문서, 다음에 따라 채우기 색상을 지정할 수 있다고 나와 있습니다.이것, 그러나 나는 그렇게 하지 못했습니다. 어떤 아이디어가 있나요?
여기에 명령줄을 복사합니다.
./ffmpeg -i mersyvideo.mp4 -i avatar.jpg -filter_complex "[1:v] rotate=-30*PI/180:c=black@'0x00':ow=rotw(iw):oh=roth(ih) [rotate];[0:v][rotate] overlay=40:10" -codec:a copy output/overlayavatar.mp4
답변1
덮지 않은 영역을 투명하게 채우려면 다음 옵션을 사용하십시오 c=none
.
ffmpeg \
-i mersyvideo.mp4 \
-i avatar.jpg \
-filter_complex "
[1:v]rotate=-30*PI/180:c=none:ow=rotw(iw):oh=roth(ih)[rotate];
[0:v][rotate]overlay=40:10
" \
-codec:a copy \
output/overlayavatar.mp4
참조rotate
필터 도움말:
fillcolor
,c
회전된 이미지에 포함되지 않은 출력 영역을 채우는 데 사용되는 색상을 설정합니다. 이 옵션의 일반 구문은 ffmpeg-utils 매뉴얼의 (ffmpeg-utils)"색상" 섹션을 확인하세요. 특수 값 "none"을 선택하면 배경이 인쇄되지 않습니다(예를 들어 배경이 표시되지 않는 경우 유용함).
기본값은 "검은색"입니다.