ffmpeg를 사용하여 동영상의 처음 30초 동안 로고를 추가하는 방법은 무엇입니까?

ffmpeg를 사용하여 동영상의 처음 30초 동안 로고를 추가하는 방법은 무엇입니까?

ffmpeg를 사용하여 동영상의 처음 30초 동안 로고를 추가하려고 합니다. 이라는 비디오 d1.mp4와 이라는 로고 가 있습니다 logo.png.

동영상이 시작되면 워터마크가 동영상의 왼쪽 상단이나 오른쪽 상단에 나타나며 30초 후에 사라져야 합니다.

추가하는 방법을 알려주실 수 있나요?

답변1

ffmpeg -i in.mp4 -framerate 30000/1001 -loop 1 -i logo.png -filter_complex
  "[1:v] fade=out:st=30:d=1:alpha=1 [ov]; [0:v][ov] overlay=10:10 [v]" -map "[v]"
  -map 0:a -c:v libx264 -c:a copy -shortest out.mp4

여기서는 로고가 알파 채널이 있는 단일 스틸 이미지이고 프레임 속도가 30000/1001(NTSC 속도)인 비디오 위에 로고를 오버레이한다고 가정합니다. -framerate입력 비디오가 다른 경우 일치하도록 변경하십시오 . 로고가 동영상인 경우 생략하세요 -framerate 30000/1001 -loop 1. 로고에 알파 채널이 없으면 format=yuva420p,바로 앞에 삽입하여 추가하세요 fade.

그러면 x, y 위치 10,10에 30초 동안 로고가 표시되고 1초 동안 페이드 아웃됩니다.

답변2

사용overlay비디오 필터비디오에 로고를 추가하려면:

여기에 이미지 설명을 입력하세요

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay" \
-codec:a copy out.mp4

이 명령을 이해하려면 다음이 무엇인지 알아야 합니다.스트림 지정자이고 읽고 있는 중FFmpeg 필터링 소개도움이 될 것입니다. [0:v]은 첫 번째 입력( )의 비디오 스트림을 참조하고 video.mp4, [1:v]두 번째 입력( )의 비디오 스트림을 참조합니다 logo.mp4. 이것이 overlay어떤 입력을 사용할지 알 수 있는 방법입니다. 을 생략할 수 [0:v][1:v]있으며 overlay여전히 작동하지만 명시적으로 설명하고 알 수 없는 기본값에 의존하지 않는 것이 좋습니다.

기본적으로 로고는 왼쪽 상단에 배치됩니다.

-codec:a copy의지를 사용하여스트림 복사오디오. 이는 단순히 오디오를 다시 인코딩하는 대신 오디오를 다시 다중화하는 것입니다. 오디오의 "복사하여 붙여넣기"라고 생각하세요.

로고 이동

이 예에서는 로고를 오른쪽으로 10픽셀, 아래로 10픽셀 이동합니다. 여기에 이미지 설명을 입력하세요

ffmpeg -i video.mp4 -i logo.png -filter_complex "[0:v][1:v]overlay=10:10" \
-codec:a copy out.mp4

이 예에서는 로고를 오른쪽에서 10픽셀, 아래로 10픽셀 이동합니다.

여기에 이미지 설명을 입력하세요

ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=main_w-overlay_w-10:10" -codec:a copy out.mp4

main_w은 "기본" 입력(배경 또는 [0:v]) 의 너비를 나타내고 "오버레이" 입력(로고 또는 ) overlay_w의 너비를 나타냅니다 . [1:v]따라서 이 예에서 이는 overlay=320-90-10:10또는 로 번역될 수 있습니다 overlay=220:10.

오버레이 타이밍

일부 필터는 처리할 수 있습니다.타임라인 편집이를 사용하면산술 표현식필터를 적용해야 하는 시기를 결정합니다. 타임라인 편집을 지원하는 필터를 확인하려면 을 참조하세요 ffmpeg -filters.

이 예에서는 30초까지 로고를 표시합니다.

ffmpeg -i video.mp4 -i logo.png -filter_complex \
"[0:v][1:v]overlay=10:10:enable=between(t\,0\,30)" -codec:a copy out.mp4

로고를 희미하게 만들고 싶다면 다음을 참조하세요.mark4o의 답변.

관련 정보