비디오가 다른 비디오를 잘못 오버레이함 - 배경이 오버레이 위에 있음

비디오가 다른 비디오를 잘못 오버레이함 - 배경이 오버레이 위에 있음

저는 FFmpeg의 새로운 사용자이고 하나의 명령으로 두 개의 비디오(한 비디오는 다른 비디오 오버레이)에 로고를 삽입하고 싶습니다.

  1. FFmpeg 명령(확인):
ffmpeg -stream_loop -1 -i background1080p.mp4 -i input1080p.mp4 -i
logo.png -filter_complex
"[1]scale=1280:720[inner];[0][inner]overlay=70:70:shortest=1[vid];
[vid][2]overlay=10:10:enable='not(between(t\,10\,15))'[out]" -map
"[out]" -map 0:a -c:a copy -y -shortest output.mp4

좋은 결과 영상 위의 명령을 사용하면 정상적으로 작동합니다.

  1. FFmpeg 명령 오류

그러나 아래 명령줄에 적용하면 오류가 발생합니다.

@ECHO OFF
Setlocal EnableDelayedExpansion
set INPUT=D:\Shorts\code\INPUT
set OUTPUT=D:\Shorts\code\OUTPUT

:: encode video:

for %%a in ("%INPUT%\*.*") DO ffmpeg -i "%%a" -stream_loop -1 -i background.mp4 -i logo.png -filter_complex "[1]scale=1280:720[inner];[0][inner]overlay=70:70:shortest=1[vid]; [vid][2]overlay=10:10:enable='not(between(t\,10\,15))'[out]" -map "[out]" -map 0:a -c:a copy -shortest "%output%\%%~na_%%03d.mp4"

pause

잘못된 오버레이 결과

  • 메인 비디오( INPUT폴더에서) 비디오와 background.mp4그 역할은 반대이고 오버레이가 되어야 할 것은 배경입니다.

오류를 수정하도록 도와주세요.

답변1

처음 두 입력의 순서를 바꿉니다. 즉,-stream_loop -1 -i background.mp4 -i "%%a"

관련 정보