ffmpeg drawtext 필터-텍스트로 투명한 배경 만들기


11

현재 drawtext필터를 사용하고 있습니다. 지금까지 drawtext올바른 글꼴을 사용하고 텍스트를 가로 중앙에 배치하는 옵션 구성 만 성공 했습니다. drawtext아래와 같이 비디오에 텍스트를 표시하려면 어떻게 해야합니까?

ffmpeg

ffmpeg -i "/media/test/test.mp4" -vf drawtext="fontfile=/usr/share/fonts/truetype/open-sans/OpenSans-Regular.ttf:text='Title of this Video':x=(w-tw)/2:y=(h-th)/2"  /media/test_edited.mp4"

답변:


21

drawbox상자와 drawtext텍스트에 사용하십시오 .

붉은 딱정벌레

ffmpeg -i input.mp4 -vf \
"format=yuv444p, \
 drawbox=y=ih/PHI:color=black@0.4:width=iw:height=48:t=fill, \
 drawtext=fontfile=OpenSans-Regular.ttf:text='Title of this Video':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th, \
 format=yuv420p" \
-c:v libx264 -c:a copy -movflags +faststart output.mp4
  • drawtextbox옵션을하지만, 그 이유는 지금까지 나는, 그것은 임의의 폭이 될 수 없습니다 말해 텍스트 크기를 기준으로 수 drawbox대신 사용됩니다.

  • format필터는 색 향상시키기 위해 사용되는 drawbox영역; 그렇지 않으면 입력 및 출력 형식에 따라 해당 영역이 채도가 떨어지거나 단색으로 보일 수 있습니다. format필터는 출력 파일의 픽셀 형식은 모든 플레이어와 호환되는지 확인하기 위해 다시 사용됩니다.

  • 이 예제에서는 오디오 를 불필요하게 다시 인코딩하고 싶지 않을 수 있으므로 스트림을 복사 하고 있습니다.

  • 이전 ffmpeg사용자는 t=max대신에 사용해야 합니다 t=fill.


완벽합니다. 이것은 현재 질문의 범위를 벗어 났으며 새 질문을 만들어야 할 수도 있습니다. snapchat타이머 를 추가하는 방법에 대한 제안 . 예를 들어, 몇 가지 테스트를 수행했으며 ffmpeg에는 타이머가 포함 된 testsrc 비디오 소스가 포함되어 있습니다 ffplay -f lavfi -i testsrc. 초기 타이머의 숫자 0의 크기는 29x52 픽셀이며 왼쪽 상단 모서리의 위치는 가로 256 픽셀, 세로 94 픽셀입니다. 한 자릿수의 영역을 다음과 같이 ffmpeg -f lavfi -i testsrc -vf crop=29:52:256:94 -t 10 timer1.mp4
자를 수 있습니다

질문에 타이머가있는 이미지를 추가했습니다. 타이머는 동영상의 지속 시간에 따른 카운트 다운입니다.
Code_Ed_Student

예, 새로운 질문을 작성하겠습니다. 당신이 올바른지. 30. 29, 28...
Code_Ed_Student


1
위대하고 당신이 맞아 박스에 영향을 미쳤습니다
Code_Ed_Student

1

ffmpeg -i C : \ Users \ Developer_2 \ Videos \ 2.mkv -vf drawtext = "fontfile = C \ : / Regular.ttf : text = 'apcis.tmou.org': fontcolor = white : fontsize = 24 : 상자 = 1 : boxcolor=black@0.4 : x = w-tw : y = h-th "C : \ inetpub \ wwwroot \ videos \ 1.mp4


이것은 나를 위해 작동하지만 boxcolor-white@0.9를 사용합니다
saber tabatabaee yazdi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.