Первая часть моего вопроса:
Я прочитал в документации ffmpeg ( section 3.2 How do I encode single pictures into movies?
) следующее:
Чтобы закодировать отдельные картинки в фильмы, выполните команду:
ffmpeg -f image2 -i img%d.jpg movie.mpg
Обратите внимание, что `% d 'заменяется номером изображения: img% 03d.jpg означает последовательность img001.jpg, img002.jpg и т. Д.
Мой вопрос: кто делает перевод между img%03d.jpg
и img001.jpg, img002.jpg, etc
? Это оболочка или ffmpeg?
Вторая часть:
Я хотел бы попросить ffmpeg кодировать последовательность изображений в видео. Однако мои последовательности часто начинаются с индекса, отличного от 1 (например, мы можем вызвать его start_index
), и заканчиваются индексом, который мы можем вызвать end_index
. Кроме того, последовательность использует приращения значения increment
, например:
img_0025.png, img_0030.png, img_0035.png, ... img_0100.png
где start_index
было 25, end_index
было 100, и increment
было 5.
Я хотел бы передать последовательность изображений, как указано выше, в ffmpeg без необходимости переименовывать последовательность в первую очередь. Документация объясняет, как сделать это с символическими ссылками, но мне было интересно, есть ли способ вообще их избежать, возможно, с помощью расширенного перемещения по zsh.
while IFS= read -d $'\0' -r file ;do pnmcomp -align=center -valign=middle <(anytopnm "$file" 2>/devnull) done
скрипт перестает работать (т.е. я получаюpipe: could not find codec parameters
). Ты знаешь почему? Должен ли я обязательноpnmscale
илиppmmake
кормитьffmpeg
сpnm
изображениями?avisynth
(мощная среда для создания сценариев видео - avisynth предназначена только для Windows :( Основная причина, по которой я использовалnetpbm
формат, заключается в том, что я продолжал видеть сообщения о проблемах подачи jpegs в канал, поэтому я просто выбрал путь наименьшего сопротивления. Кодирование видео будет шагом, который вызывает потерю качества, но увеличение размера кадра помогает ... Я полагаю, у вас есть конкретные причины для использования видео, но простое слайд-шоу может работать на вас.Только для первой части: это ffmpeg делает работу. Оболочка не понимает
%d
строку как специальный шаблон в именах файлов.источник