У меня есть веб-камера, которая работает v4l2 устройством.
Что наиболее удобный способ состоит в том, чтобы получить или движение остановки или видео таймлапса?
N.B.
движение остановки и таймлапс связаны, но концептуально отличающиеся.
Таймлапс - то, где Вы делаете фотографию сцены в интервале набора и затем комбинируете его в видео (который похож, он идет действительно быстро).
Движение остановки состоит в том, где Вы управляете сценой и берете изображение для каждого изменения, Вы делаете, для формирования анимации (например, Wallace и Кольцо).
Приложение для таймлапса должно смочь сделать фотографию в интервале набора.
Первый шаг получает изображения. Давайте предположим, что Вы хотите сделать фотографию один раз в 10 секунд и сохранить это в каталог, находящийся на Вашем рабочем столе
mkdir ~/Desktop/cap
cd ~/Desktop/cap
Мы используем streamer
чтобы сделать получение так позволяют нам установить его:
sudo apt-get install streamer
И теперь мы хотим получить
streamer -o 0000.jpeg -s 300x200 -j 100 -t 2000 -r 1
-t
количество кадров, которые мы хотим получить. -r
кадры в секунду. Таким образом, это должно захватывать один кадр каждую секунду. При сжатии этого вниз в видео 30 кадров в секунду одна минута получения становится 2 секундами видео. Вы захотите настроить это соответственно в зависимости от того, сколько произведенного видео Вы хотите.
Та строка даст Вам изображения 2000 года, она займет полчаса для записи и, на уровне 30 кадров в секунду, генерирует чуть более чем 1 минуту видео.
Я собираюсь использовать ffmpeg
. Существует много различных способов поместить его вместе включая mencoder
но я просто предпочитаю ffmpeg
взгляд на жизнь. После установки его (sudo apt-get install ffmpeg
) просто wang это:
ffmpeg -r 30 -i %04d.jpeg -s hd480 -vcodec libx264 -vpre hq time-lapse.mp4
Качественные настройки там - ничто как этот моей веб-камеры, таким образом, Вы могли бы хотеть играть вокруг с опциями намного больше для получения, лучшее кодируют, но это должно генерировать Вас хорошее видео 30 кадров в секунду, сжатое в x264.
Вы могли бы хотеть играть вокруг с framerate (-r
) но я не понизился бы 15 футов в секунду.
Для получения каждых X сумм секунд от веб-камеры используют движение.
Установка motion
sudo apt-get install motion
или sudo aptitude install motion
Настройте движение для каждых X сумм секунд
sudo nano /etc/motion/motion.conf
Замените переменные minimum_frame_time и snapshot_interval к той же сумме секунд, Вы хотите сделать снимок с веб-камерой.
10 минут = 600 секунд
20 минут = 1 200 секунд
30 минут = 1 800 секунд
1 час = 3 600 секунд
2 Часа = 7 200 Секунд и так далее...
выполненное движение с sudo motion
остановите его с CTRL+C
ОТМЕТЬТЕ - Настраивают motion.conf, чтобы сохранить файлы в другом каталоге, чем значение по умолчанию/tmp. Например, Ваша домашняя папка. Начиная с движения к/tmp нуждается в большем количестве полномочий. Вы также найдете много полезных опций в motion.conf для многих других вещей, которые Вы могли бы любить.
Приложение для получения изображений для генерации видео таймлапса, основывался на gPhoto2 и wxWidgets библиотеках.
Скомпилируйте инструкции
Загрузите источник с веб-сайта SourceForge
в терминале вводят следующее:
cd Downloads
gunzip gtimelapse-0.1.tar.gz
tar -xvf gtimelapse-0.1.tar
cd gtimelapse
sudo apt-get install build-essential libgphoto2-2-dev libwxbase2.8-dev libwxgtk2.8-dev gphoto2
./configure
make
sudo make install
Выполнять тип приложения
gtimelapse &
n.b. 1
gphoto2 --list-cameras | more
n.b. 2
см. этот блог для дальнейшей полезной информации
списки все совместимые устройства, что поддержка приложений
n.b. 3
Я читал, gphoto2 не поддерживает веб-камеры - я оставлю этот ответ видимым так или иначе на всякий случай, любой хочет попробовать этот ответ достойным цифровым фотоаппаратом вместо веб-камеры.
Я использовал Stopmotion, чтобы сделать это, это находится в центре программного обеспечения. Можно также получить с Сыром, но необходимо изменить конфигурацию Сыра для повышения макс. количества изображений. Я нашел самым легким просто использовать Stopmotion для всего процесса.
Необходимо смочь настроить движение (в motion.conf) к потоку - по умолчанию это передает потоком на порте 8081. Все, что затем необходимо сделать для получения зеркала 'заднего вида', должно открыть VLC, "Open Network Stream" и указать на него на http://localhost:8081.
Camorama является средством просмотра/устройством записи веб-камеры, которое я раньше снимал, в интервалах 1 минуты и загружал их на веб-сервер от моей веб-камеры; это - простая установка. Также это доступно в Центре программного обеспечения Ubuntu, или можно установить его использование:
sudo apt-get install camorama
Надеюсь, это поможет.
Лучший и простой способ сделать это путем установки Движения. Это - программное обеспечение наблюдения полномасштабное для основанных на Linux операционных систем.
Быстрая, грязная, но несколько более гибкая опция следующие:
ffmpeg -pattern_type glob -framerate 25 -i 'image-*.jpg' -c:v libx264 \ -profile:v high -crf 20 -pix_fmt yuv420p output.mp4
Здесь я добавляю
-pattern_type glob
, использование подстановочного знака*
, и помещение моего имени файла в единственных цитатах:'image-*.jpg'
.Преимущество: Этот синтаксис позволяет Вам запускаться в любом числе и иметь любой шаблон в своей нумерации (я часто создаю количество 20, запуская приблизительно 20 000, например).
Недостатки: Этот синтаксис не позволяет, Вы для пропуска повторяющихся чисел как '% ##d' синтаксис позволяете. Кроме того, у Вас не может быть нумерации, не предшествуя 0s. Таким образом, схема именования файла должна быть чем-то как 00001, 00002... 00033... (Нумерация не может быть 1,2,3... 33..., еще номер '3' отсортирует между '39' и '40', например).
Отдельно, также обратите внимание, что я должен был поместить свое входное имя файла в одинарные кавычки, иначе ffmpeg пытался перезаписать все мои файлы изображения с копией первого изображения (Это всегда - хорошая идея скопировать для резервного копирования прежде, чем управлять файлами).
От этого редактирования анонимным пользователем.