ffmpeg : 정의된 영역에서 이미지와 텍스트를 부드럽게 스크롤합니다.

ffmpeg : 정의된 영역에서 이미지와 텍스트를 부드럽게 스크롤합니다.

다음 명령을 사용하여 비디오 하단에서 상단으로 사진을 스크롤하는 방법을 알고 있습니다.

ffmpeg -f lavfi -i color=s=1920x1080 -loop 1 -t 0.08 -i "input.jpg" -filter_complex "[1:v]scale=1920:-2,setpts=if(eq(N\,0)\,0\,1+1/0.02/TB),fps=25[fg]; [0:v][fg]overlay=y=-\'t*h*0.02\':eof_action=endall[v]" -map "[v]" output.mp4

하지만 나는 이미지를 원하고 텍스트는 아래 그림과 같이 아래쪽 위치부터 나타나기 시작하고 부드럽게 스크롤되어 위쪽 위치에서 사라집니다. 여기에 이미지 설명을 입력하세요

답변1

배경 이미지에서 관련 영역을 자르고, 잘린 영역 위에 스크롤된 텍스트를 오버레이하고, 결과를 배경 이미지의 동일한 영역에 오버레이할 수 있습니다.


예:

bk.jpg:
배경 이미지 - 미리 준비한 것 :
여기에 이미지 설명을 입력하세요

input.jpg:
전경 이미지 - 미리 준비됨(샘플 해상도는 270x257): 여기에 이미지 설명을 입력하세요


샘플 명령:

ffmpeg -y -loop 1 -r 25 -i bk.jpg -loop 1 -r 25 -i input.jpg -filter_complex "[0:v]crop=270:257:360:55[c0];[c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg];[0:v][fg]overlay=x=360:y=55:eof_action=endall" -t 50 output.mp4


  • [0:v]crop=270:257:360:55[c0]- 배경에서 270x257 영역을 자릅니다.
  • [c0][1:v]overlay=y='257-t*257*0.04':eof_action=endall[fg]- 잘린 영역 위에 스크롤된 텍스트를 오버레이합니다.
  • [0:v][fg]overlay=x=360:y=55:eof_action=endall- [fg]배경 이미지 위에 오버레이됩니다(잘린 영역과 동일한 위치).

축소된 결과:
여기에 이미지 설명을 입력하세요

관련 정보