LINUX.ORG.RU

ffmpeg объединение операций

 ,


0

2

Нужно вырезать из видео три куска (с начала, в середине и с конца) Размер отрезков для простоты пусть будет 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"

Здесь вырезается начало и конец, без середины. В реале буду считывать предварительно дюрэйшин и вычислять середину. Но на данном этапе хотелось бы получить одну комплексную команду.

попробуй три раза указать -ss 0 -t 10 -i "$1" с разным временем старта, потом объединить «входные файлы» тем же concat’ом, а размер поменять уже в самом конце?

может есть какой-то способ проще, надо посмотреть. но этот должен сработать.

anonymous
()

а, вот, да, есть фильтр select.

anonymous
()

Как известно gentoo linux можно установить в 3 команды. И первая из них длиннее 10 строк и выполняется полчаса.

Да, эту задачу надо выполнять пачкой отдельных последовательных команд. Для лучшего результата думаю стоит создать временные файлы кодируя фрагменты каким нибудь быстрым кодеком без потерь в каком нибудь контейнере. который позволит сшивать фрагменты через concat.

И не слишком важно, сшивать эти команды вместе скриптом или в одну строку через &&.

kirill_rrr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.