![Входное изображение ffmpeg использует четные или нечетные значения на входном уровне в Windows](https://rvso.com/image/1592559/%D0%92%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%B5%20%D0%B8%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5%20ffmpeg%20%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D1%83%D0%B5%D1%82%20%D1%87%D0%B5%D1%82%D0%BD%D1%8B%D0%B5%20%D0%B8%D0%BB%D0%B8%20%D0%BD%D0%B5%D1%87%D0%B5%D1%82%D0%BD%D1%8B%D0%B5%20%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BD%D0%B0%20%D0%B2%D1%85%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%20%D0%B2%20Windows.png)
Есть несколько решений для выбора каждого нечетного или четного изображения на уровне фильтра, и все они работают. Но в моем случае у меня есть входные данные из файлов 15360x8640 .jpg, где имеет значение, ввожу ли я все изображения и отбрасываю каждую секунду в фильтре или пропускаю каждое второе входное изображение. Это значительно ускорит кодирование. Мой обычный входной сигнал (для пятизначных числовых файлов, работающий на win10 x64):
ffmpeg.exe -framerate 60 -i %05d.jpg -vcodec libx264 out.mkv
Что я пробовал (взято изэта тема, возможно, работает только на Linux, но я не смог проверить):
ffmpeg.exe -framerate 60 -i %04d%[13579%].jpg -vcodec libx264 out.mkv
и различные варианты с опциями glob и без них и т. д. Все терпят неудачу. Всегда выдает "%04d%[13579%].jpg: Нет такого файла или каталога" или что-то в этом роде.
Рабочий пример для каждого десятого кадра (т.е. 00001 00011 00021 и т.д.).
ffmpeg.exe -framerate 60 -i %04d1.jpg -vcodec libx264 out.mkv
Кто-нибудь уже решил проблему или у кого-нибудь появилась новая идея?
решение1
В настоящее время двухэтапное решение.
Создать список:
dir *1.jpg *3.jpg *5.jpg *7.jpg *9.jpg /b /on | c:\prog\unix\sed "s/^/file /" > "!list.txt"
Использовать список:
ffmpeg.exe -r 60 -f concat -safe 0 -i "!list.txt" -vcodec libx264 out.mkv
Плюс: Экономит мне около терабайта только для того, чтобы иметь копию этих файлов с разными именами в качестве входных данных или время декодирования на входном уровне. Почти в 1,5 раза быстрее по сравнению с конвертацией на уровне фильтра с моими огромными .jpg в качестве входных данных.
Минус: Кажется, требует больше оперативной памяти, чем при использовании на уровне фильтра, но почему?
У кого-нибудь есть лучшее решение?