У меня есть рабочий код для создания слайд-шоу видео из изображений с некоторыми эффектами постепенного исчезновения:
ffmpeg -video_size 1280x720 \
-loop 1 -t 2.5 -i ok/image-1.jpg \
-loop 1 -t 2.5 -i ok/image-2.jpg \
-loop 1 -t 2.5 -i ok/image-3.jpg \
-loop 1 -t 2.5 -i ok/image-4.jpg \
-loop 1 -t 2.5 -i ok/image-5.jpg \
-filter_complex \
"[0:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[pre]; \
[0:v]drawtext=enable='between(t,0,5)':fontfile=/Library/Fonts/Arial.ttf:text='FIRST TEXT':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th[top0]; \
[1:v][0:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b1v]; \
[1:v]drawtext='between(t,5,10)':fontfile=/Library/Fonts/Arial.ttf:text='SECOND TEXT':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th[top1]; \
[2:v][1:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b2v]; \
[2:v]drawtext='between(t,10,15)':fontfile=/Library/Fonts/Arial.ttf:text='THIRD TEXT':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th[top2]; \
[3:v][2:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b3v]; \
[3:v]drawtext='between(t,15,20)':fontfile=/Library/Fonts/Arial.ttf:text='FOURTH TEXT':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th[top3]; \
[4:v][3:v]blend=all_expr='A*(if(gte(T,0.5),1,T/0.5))+B*(1-(if(gte(T,0.5),1,T/0.5)))'[b4v]; \
[4:v]drawtext='between(t,20,25)':fontfile=/Library/Fonts/Arial.ttf:text='FIFTH TEXT':fontcolor=white:fontsize=24:x=(w-tw)/2:y=(h/PHI)+th[top4]; \
[pre][top0][0:v][b1v][top1][1:v][b2v][top2][2:v][b3v][top3][3:v][b4v][top4][4:v]concat=n=15:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4
Как сделать так, чтобы "ПЕРВЫЙ ТЕКСТ" отображался вместе с первым слайдом «ok /image-1.jpg» в течение всех 5 секунд? Теперь он показывает только около 2 секунд и прячется. Также есть возможность показать несколько текстов для первого слайда "ok /image-1.jpg"?
enable='between(t,0,5)
не работает в течение всех 5 секунд.