3

Можно ли добавить к видео один JPEG-кадр (или небольшое количество кадров), сохраняя при этом хорошее качество изображения и сжатие? У меня есть скрипт, который загружает изображение в формате JPEG с веб-камеры каждые 30 секунд. Я могу создать видео из этих кадров, используя ffmpeg или mencoder, например:

ffmpeg -f image2 -i %d.jpg out.swf

Я бы хотел обновлять это видео по мере поступления новых кадров, но не хочу, чтобы компьютер был занят повторным кодированием всего видео. Я также беспокоюсь о том, что ffmpeg/mencoder делает что-то умное только с одним кадром новых данных - например, будет ли он пытаться сделать каждый новый кадр ключевым кадром (делая видео чрезмерно большим)?

Любая идея о том, как сделать это разумно, будет принята с благодарностью.

2 ответа2

1

Почему вы хотите построить его по одному кадру за раз? Как это поможет вам? Почему бы вашему сценарию не перестраивать видео каждые 15 минут (30 кадров) или что-то более разумное в этом роде?

SWF - это необычный формат файла для вывода видео. В общем, нет, вы не можете добавить один кадр в конец фильмов SWF (или FLV), потому что для этого требуется компрессор с сохранением состояния - компрессор должен оставаться в ОЗУ и запоминать состояние последнего ключевого кадра и всех межкадровых кадров. сжатие сделано с тех пор, чтобы закодировать следующий кадр.

Если по какой-то причине вам абсолютно необходимо добавить один кадр в конец вашего текущего видео, используйте MPEG 1. Видео MPEG 1 - это просто последовательность отдельных кадров без межкадрового сжатия, поэтому вы можете сжимать FFMPEG для каждого JPEG и просто вставлять его в конец незавершенной работы. Конечно, результатом будет огромный плохо сжатый файл по современным стандартам.

0

Если это несколько кадров, преобразуйте их в анимированный GIF вместо фильма (например, с помощью ImageMagick).

Вот как www.weather.gov оживляет радиолокационные изображения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .