비디오에 오버레이 필터를 적용하여 단일 이미지를 몇 초 동안 혼합하려고합니다. 내 비디오 지속 시간은 약 1 분이므로 FFMPEG가 변경해야하는 비디오 부분을 다시 인코딩하는 대신 전체 비디오를 다시 인코딩하려고하면 낭비가됩니다.
내 블렌드 비디오 명령은 다음과 같습니다
ffmpeg -i beach.mp4 -i logo.png
-filter_complex "[0:v][1:v] overlay=25:25:enable='between(t,0,20)'"
-pix_fmt yuv420p -c:a copy output.mp4
아무도 내가 이것을 피할 수있는 방법을 알고 있습니까? (비디오를 분할하려고했지만 시작 및 종료 프레임을 지정하여 비디오를 정확하게 분할 할 수없는 것 같습니다)
@LordNeckbeard 감사하지만이 작업은 한 번이 아니라 여러 번 실행됩니다. 그렇기 때문에 성능이 필요합니다.
—
dajuric
나는 그것이 가능성이 있다고 생각했지만 질문에 언급하지 않았습니다. 명령에서 완전한 콘솔 출력을 표시해야합니다.
—
llogan
@LordNeckbeard 언급하지 않아서 죄송합니다. 그것은 완전한 출력이었습니다. 첫 번째 단계를 밟았을 때 다른 것을 쓰지 않았습니다.
—
dajuric
오버레이가 정확히 20 초 동안 발생해야합니까?
—
Gyan
-c copy
있습니다. 그런 다음 concat demuxer 를 사용하여 결합하십시오. 결합 할 두 개의 결과 세그먼트는 매개 변수 (코덱, 타임베이스 등)와 일치해야하며 최상의 결과를 얻으려면 키 프레임을 잘라야합니다. 1 분 분량의 비디오 작업. 내 게으름은 다시 인코딩하거나 오버레이를 처리하지 않는다고 말합니다. 웹 기반 플레이어를 사용하는 경우 대신 로고를 추가하도록 할 수 있습니다.