FFmpeg 의 drawtext 필터를 사용하여 동영상 위에 텍스트를 표시하는 방법을 알아보자.
1. 텍스트를 좌측 상단 구석에 표시
아래 명령을 살펴보자.
ffmpeg -i input.mp4 -vf “drawtext=text=’xtmci.com’:x=0:y=0:fontsize=32:fontcolor=white” output.mp4
동영상 위에 표시되는 텍스트는 ‘xtmci.com’ 이다.
표시되는 위치는 (0, 0) 이다. 좌측 상단 구석에 표시된다.
폰트 사이즈는 32 픽셀이고 폰트 색상은 흰색이다.
2. 텍스트를 정가운데에 표시
텍스트를 동영상의 정가운데에 표시해 보자.
ffmpeg -i input.mp4 -vf “drawtext=text=’xtmci.com’:x=(w-text_w)/2:y=(h-text_h)/2:fontsize=32:fontcolor=white” output.mp4
w 는 동영상의 가로 크기이다. text_w 는 텍스트 영역의 가로 크기이다.
텍스트의 x 위치를 (w-text_w)/2 로 지정했다. 이것은 w/2-text_w/2 와 같다. 동영상 가로 크기의 절반에서 텍스트 영역 가로 크기의 절반을 뺀 값이다.
h 는 동영상의 세로 크기이다. text_h 는 텍스트 영역의 세로 크기이다.
텍스트의 y 위치를 (h-text_h)/2 로 지정했다. 이것은 h/2-text_h/2 와 같다. 동영상 세로 크기의 절반에서 텍스트 영역 세로 크기의 절반을 뺀 값이다.
이와 같이 지정하면 해당 텍스트는 동영상의 정가운데에 표시된다.
3. 텍스트의 배경색 지정
텍스트에 배경색을 지정하면 가독성을 높일 수 있다. 텍스트에 배경색을 지정해 보자.
ffmpeg -i input.mp4 -vf “drawtext=text=’xtmci.com’:x=0:y=0:fontsize=32:fontcolor=white:box=1:boxcolor=black” output.mp4
box 옵션의 값이 1 이므로 배경이 표시된다.
boxcolor 옵션은 배경색을 지정한다.
4. 동영상에 타임스탬프 표시하기
drawtext 필터를 이용하여 동영상에 타임스탬프를 표시해 보자.
ffmpeg -i input.mp4 -vf “drawtext=text=’timestamp: %{pts \:hms}’:x=0:y=0:fontsize=32:fontcolor=white” output.mp4
텍스트 내용이 들어갈 자리에 timestamp 옵션과 pts 옵션이 사용되었다. 지정값이 hms 이므로 타입스탬프는 ‘시:분:초’ 형식으로 표시된다.