ffmpeg를 이용하여 간단하게 동영상에 로고를 붙이는 방법을 알아봅시다.
동영상에서 특정 위치에 로고 등의 워터마크 이미지가 고정되도록 할 수 있으며,
command의 옵션으로 어느 위치에 붙일지 조정도 가능합니다.
원본 영상(mp4)와 로고이미지(png)를 가지고, 여러 위치에 로고를 붙여 새로운 영상을 만들어 봅시다.
저는 아래의 영상과 이미지를 이용해보도록 하겠습니다.
영상예시: video.mp4
로고이미지 예시: logo.png
원본 영상에 로고를 붙이는 기본 ffmpeg command는 아래와 같습니다.
ffmpeg -y -i {원본영상.mp4} -i {로고이미지.png} -filter_complex "overlay=x={로고_x좌표}:y={로고_y좌표}" {아웃풋영상.mp4}
-filter_complex
옵션: 로고이미지의 왼쪽상단을 기준으로 x, y 좌표 지정. 아래와 같이 원본영상의 크기(가로, 세로 길이)와 로고이미지의 크기(가로, 세로 길이)를 이용하여 왼쪽상단, 오른쪽상단 등의 위치 지정 가능ffmpeg -y -i video.mp4 -i logo.png -filter_complex "overlay=10:10" OUT_1.mp4
ffmpeg -y -i video.mp4 -i logo.png -filter_complex "overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2" OUT_CENTER.mp4
ffmpeg -y -i video.mp4 -i logo.png -filter_complex "overlay=x=main_w*0.01:y=main_h*0.01" OUT_TOP_LEFT.mp4
ffmpeg -y -i video.mp4 -i logo.png -filter_complex "overlay=x=main_w-overlay_w-(main_w*0.01):y=main_h*0.01" OUT_TOP_RIGHT.mp4
ffmpeg -y -i VIDEO.mp4 -i subscribe.png -filter_complex "overlay=x=main_w*0.01:y=main_h-overlay_h-(main_h*0.01)" OUT_BOTTOM_LEFT.mp4
ffmpeg -y -i video.mp4 -i logo.png -filter_complex "overlay=x=main_w*0.01:y=main_h-overlay_h-(main_h*0.01)" OUT_BOTTOM_LEFT.mp4
만약 로고이미지에 투명도를 주고싶다면, 로고이미지(png) 자체에 투명도를 주면 됩니다.
출처 밝혀서 퍼가도 되나요? ㅎㅎ