Аналогично этому ffmpeg — конвертировать последовательность изображений в видео в обратном порядке
Но мне было интересно, могу ли я создать цикл видео, указав диапазон изображений и добавив обратный порядок в одну команду.
В идеале я бы хотел совместить это с этим Сделайте видео альфа-маски из файлов PNG
Что я сейчас делаю, так это генерирую обратное с помощью https://stackoverflow.com/a/43301451/242042 и объединяю видеофайлы вместе.
Однако я думаю, что это будет похоже на Соедините видео с самим собой, но наоборот, используя ffmpeg.
Моя текущая попытка предполагала 60 изображений. что делает vframes x2
ffmpeg -y -framerate 20 -f image2 -i \
running_gear/%04d.png -start_number 0 -vframes 120 \
-filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [v]" \
-filter_complex alphaextract[a]
-map 0:v -b:v 5M -crf 20 running_gear.webm
-map [a] -b:v 5M -crf 20 running_gear-alpha.web
Без альфа-маскирования я могу заставить его работать, используя
ffmpeg -y -framerate 20 -f image2 -i running_gear/%04d.png \
-start_number 0 -vframes 120 \
-filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [v]" \
-map "[v]" -b:v 5M -crf 20 running_gear.webm
Я могу сделать только с альфа-маскированием
ffmpeg -y -framerate 20 -f image2 -i running_gear/%04d.png \
-start_number 0 -vframes 120 \
-filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [vc];[vc]alphaextract[a]"
-map [a] -b:v 5M -crf 20 alpha.webm
Поэтому я пытаюсь сделать так, чтобы альфа-маска выполнялась одновременно.
Хотя моим конечным идеалом было бы взять изображения, перевернуть их, получить альфа-маску и поместить их рядом, чтобы их можно было использовать в Ren'py.
Получил после нескольких проб и ошибок. Не совсем мое конечное желание, но все еще работает.
ffmpeg -y -framerate 20 -f image2 -i running_gear/%04d.png \
-start_number 0 -vframes 120 \
-filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [vc];[vc]split[v][av];[av]alphaextract[a]"
-map [v] -b:v 5M -crf 20 running_gear.webm
-map [a] -b:v 5M -crf 20 running_gear-alpha.webm
Проверив некоторые другие фильтры (узнав об этом от concat), я нашел hstack
, поэтому тот, который может разместить его рядом, чтобы он лучше работал с Ren'Py.
ffmpeg -y -framerate 20 -f image2 -i running_gear/%04d.png \
-start_number 0 -vframes 120 \
-filter_complex "[0:v]reverse,fifo[r];[0:v][r] concat=n=2:v=1 [vc];[vc]split[v][av];[av]alphaextract[a];[v][a]hstack[m]"
-map [m] -b:v 5M -crf 20 running_gear.webm