ffmpeg 3.0.2 블렌드 및 연결 필터를 함께 사용하려고 합니다. 명령줄은 다음과 같습니다.
ffmpeg -framerate 25 \
-loop 1 -t 40 -i img/01.png \
-loop 1 -t 40 -i img/02.png \
-filter_complex "\
[1:v][0:v]blend=all_expr='A*(if(gte(T,0.9),1,T/0.9))+B*(1-(if(gte(T,0.9),1,T/0.9)))'[b1v]; \
[0:v][b1v][1:v]concat=n=3:v=1:a=0,format=yuv420p[vout]" \
-map "[vout]" -pix_fmt yuv420p -r 25 -c:v libx264 -qp 22 -preset ultrafast -shortest out.mp4
그것은 나에게 다음을 제공합니다:
[Parsed_blend_0 @ 0xb4a8a60] [framesync @ 0xb4a8ae4] Buffer queue overflow, dropping.
Last message repeated 21 times
누군가가 자신의 컴퓨터에 동일한 동작이 있는지 확인할 정도로 친절할 수 있습니까?
답변1
예, 여기서도 오버플로 오류가 발생합니다. 블렌드가 1초 안에 완료되므로 아래 명령을 사용하여 오류를 피할 수 있습니다.
ffmpeg \
-loop 1 -t 40 -i img/01.png \
-loop 1 -t 40 -i img/02.png \
-filter_complex "\
[0:v]trim=duration=1[a]; \
[1:v][a]blend=all_expr='A*(if(gte(T,0.9),1,T/0.9))+B*(1-(if(gte(T,0.9),1,T/0.9)))':shortest=1[b1v]; \
[0:v][b1v][1:v]concat=n=3:v=1:a=0,format=yuv420p[vout]" \
-map "[vout]" -pix_fmt yuv420p -r 25 -c:v libx264 -qp 22 -preset ultrafast -shortest out.mp4