Нужно вырезать из видео три куска (с начала, в середине и с конца) Размер отрезков для простоты пусть будет 10 секунд. После, надо эти три куска изменить по размеру в двое, наложить текст по центру и слить в один выходной файл.
Долго мучался с filter_complex ничего не вышло. Получается только по отдельности, последовательно:
TYPE=${1##*.}
FILE1="$1.tmp1.$TYPE"
FILE2="$1.tmp2.$TYPE"
ffmpeg -y -ss 0 -t 10 -i "$1" -vf "scale=iw/2:ih/2, drawtext=text='Видео не оплачено': x=(w-text_w)/2: y=(h-text_h)/2: fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: fontsize=60: fontcolor=white: shadowcolor=black: shadowx=2: shadowy=2" "$FILE1"
ffmpeg -y -sseof -10 -t 10 -i "$1" -vf "scale=iw/2:ih/2, drawtext=text='Видео не оплачено': x=(w-text_w)/2: y=(h-text_h)/2: fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: fontsize=60: fontcolor=white: shadowcolor=black: shadowx=2: shadowy=2" "$FILE2"
ffmpeg -y -i "$FILE1" -i "$FILE2" -filter_complex "concat=n=2:v=1:a=1" "out.$TYPE"
Здесь вырезается начало и конец, без середины. В реале буду считывать предварительно дюрэйшин и вычислять середину. Но на данном этапе хотелось бы получить одну комплексную команду.