В настоящее время я использую это для чтения текстового файла и прокрутки его до конца справа налево:
ffmpeg -i rtmp://127.0.0.1/source/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 128K -s 640x360 -vf "drawtext=enable='gte(t,3)':fontfile=/usr/share/fonts/dejavu/DejaVuSans.ttf:fontsize=40:fontcolor=white:textfile=/opt/stream/sample_text.txt:reload=1:y=h-line_h:x=-50*t" -f flv -c:a aac -ac 1 -strict -2 -b:a 32k rtmp://127.0.0.1/out/$name;
Но он запускается только один раз. Как мне сделать так, чтобы он повторялся бесконечно? Текст в текстовом файле будет динамическим, иногда он будет маленьким, а иногда большим. Кроме того, текущая команда читает и прокручивает только первую строку файла, есть ли способ читать и прокручивать весь текстовый файл построчно?
решение1
Используйте x=w-w/3*mod(t,3*(w+tw)/w)
, где 3
— это время в секундах, необходимое для того, чтобы один символ охватил ширину видеокадра.