Изображения FFMPEG в видео с обратной последовательностью с другими фильтрами

Аналогично этому 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.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
596
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Получил после нескольких проб и ошибок. Не совсем мое конечное желание, но все еще работает.

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 

Другие вопросы по теме