FFMPEG-Komplexfilterpufferüberlauf

FFMPEG-Komplexfilterpufferüberlauf

Ich versuche, die Blend- und Concat-Filter von ffmpeg 3.0.2 zusammen zu verwenden. Hier ist die Befehlszeile:

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

Es gibt mir:

[Parsed_blend_0 @ 0xb4a8a60] [framesync @ 0xb4a8ae4] Buffer queue overflow, dropping.
Last message repeated 21 times

Könnte jemand so freundlich sein und bestätigen, ob auf seinen Maschinen das gleiche Verhalten auftritt?

Antwort1

Ja, ich erhalte hier auch den Überlauffehler. Da Ihr Blend innerhalb einer Sekunde abgeschlossen ist, können Sie den folgenden Befehl verwenden, um den Fehler zu vermeiden

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

verwandte Informationen