LINUX.ORG.RU

ffmpeg меняюшееся имя файла

 ,


0

1

Можно ли в ffmpeg генерировать файлы изображений с видео с меняющимся именем состоящим из текущей даты?

если делать так:

ffmpeg -i «источник» -f image2 -vf fps=fps=3 /dir/%04d.jpg

то в /dir каждый кадр будут создаваться файлы с разным именем

но если попробовать прописать так:

ffmpeg -i «источник» -f image2 -vf fps=fps=3 /dir/date +%s.jpg

то будет создан один файл с именем unixtimestamps.jpg и ffmpeg перестанет работать так как не может записать в уже созданный файл снова по причине того что не обновляет время во время своей работы

Возможно надо как-то иначе дать команду ffmpeg что бы генерировались изображения с датой в имени файла?


И как ты себе представляешь работу этого алгоритма, если у тебя много кадров за одну секунду было извлечено? Какие у них должны быть имена? Получается, что существовать в виде изображения будет только последний кадр, извлеченный в N-ную секунду.

Поясни лучше, зачем тебе реальная дата в имени файла, а то похоже на проблему Х У.

anonymous
()

Это не задача ффмпег, это задача скрипта, который вызовет ффмпег и скажет ему какое должно быть имя файла.

kirill_rrr ★★★★★
()
Последнее исправление: kirill_rrr (всего исправлений: 1)

Можно преписать через цикл и seek’ать.

fulmar_lor
()

Да, это можно сделать.

Добавьте к аргументам -strftime 1 и используйте формат времени в имени файла, подобный тому, который используется в функции, описанной в man 3 strftime. Например:

ffmpeg -re -i "источник" -vf fps=1 -strftime 1 '/dir/%s.jpg'

Ffmpeg будет создавать jpeg-файлы кадров источника каждую секунду, имена будут содержать число секунд, прошедших с 01.01.1970 00:00:00 UTC.

Однако, невозможно сделать так, чтобы имена файлов использовали оба формата одновременно: формат с номером кадра (%d) и формат со временем. Поэтому в примере выше добавлена опция -re, обозначающая «читать источник с такой скоростью, как если бы он воспроизводился в плеере», и частота кадров, к которой приводится видео, уменьшена до одного в секунду.

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