Я ищу создание наложения, которое циклически повторяет символы в строке снова и снова. Мне удалось использовать файл sendcmd, чтобы поместить A, B, C, D, E в первые 5 секунд видео
0 drawtext reinit 'text=A';
1 drawtext reinit 'text=B';
2 drawtext reinit 'text=C';
3 drawtext reinit 'text=D';
4 drawtext reinit 'text=E';
Но оно не циклично, и у меня нет удалось найти способ сделать это, потому что sendcmd выглядит так, как будто он просто использует временный код. Я мог бы создать командный файл длиной 3600 строк для моего часового видео, с этими командами снова и снова (командный файл будет генерироваться программно, поэтому не обременительно)
После некоторых значительных экспериментов я смог сделайте это с 5 отдельными текстами:
drawtext=fontfile=/Windows/Fonts/bauhs93.ttf:fontsize=1024:fontcolor=white@0.1:bordercolor=black@0.1:borderw=10:r=250:text='A':x=if(trunc(mod(t\,5))\,-2000\,(w-tw)/2),
drawtext=fontfile=/Windows/Fonts/bauhs93.ttf:fontsize=1024:fontcolor=white@0.1:bordercolor=black@0.1:borderw=10:r=250:text='B':x=if(trunc(mod(t\,5))-1\,-2000\,(w-tw)/2),
drawtext=fontfile=/Windows/Fonts/bauhs93.ttf:fontsize=1024:fontcolor=white@0.1:bordercolor=black@0.1:borderw=10:r=250:text='C':x=if(trunc(mod(t\,5))-2\,-2000\,(w-tw)/2),
drawtext=fontfile=/Windows/Fonts/bauhs93.ttf:fontsize=1024:fontcolor=white@0.1:bordercolor=black@0.1:borderw=10:r=250:text='D':x=if(trunc(mod(t\,5))-3\,-2000\,(w-tw)/2),
drawtext=fontfile=/Windows/Fonts/bauhs93.ttf:fontsize=1024:fontcolor=white@0.1:bordercolor=black@0.1:borderw=10:r=250:text='E':x=if(trunc(mod(t\,5))-4\,-2000\,(w-tw)/2)
Но, как видно, я должен повторить здесь много вещей. Есть ли какой-нибудь более приятный способ? Кажется, это заметно влияет на скорость кодирования, когда добавляется больше символов
Я надеялся, что текстовые выражения помогут, но, похоже, я могу возвращать только цифры из значений, поэтому это выражение не сработало :
%{e:if(trunc(mod(t,5)),'A', '')%{e:if(trunc(mod(t,5))-1,'B', '') ...