сохранение кадров из потока веб-камеры - PullRequest
0 голосов
/ 30 декабря 2018

Мне нужна процедура, которая систематически извлекает и сохраняет кадры из видеороликов с веб-камеры в локальном каталоге на моем персональном компьютере.

В частности, я пытаюсь сохранить кадры с веб-камеры на гейзере Old Faithful в Йеллоустоне.Natl.Парк.(https://www.nps.gov/yell/customcf/geyser_webcam_updated.htm)

В идеале я хотел бы:

  1. иметь возможность контролировать скорость загрузки кадров (например, принимать 1 кадр каждую минуту)
  2. используйте FFMPEG или R
  3. Сохраните фактический кадр, а не снимок веб-страницы

Несмотря на пункт 3 выше, я попытался простопринимая снимок экрана в R с использованием пакета webshot:

library(webshot)
i=1
while(i<=2) { 
webshot('https://www.nps.gov/yell/customcf/geyser_webcam_updated.htm',delay=60,paste(i,'.png',sep=""))

i=i+1
}

Однако из приведенного выше кода я получаю эти два изображения:

enter image description here enter image description here Несмотря на задержку в функции webshot () (60 секунд), два изображения одинаковы, не говоря уже об очевидной кнопке воспроизведения в середине. Этот метод также выглядит немного hack , поскольку он сохраняет снимок веб-сайта, а не сами фреймы.

Я, безусловно, открыт для использования более подходящих инструментов командной строки (я просто не уверен, что они есть).Любая помощь с благодарностью!

1 Ответ

0 голосов
/ 30 декабря 2018

Исходный код URL отображается под тегом видео

<source type="application/x-mpegurl" src="//56cf3370d8dd3.streamlock.net:1935/nps/faithful.stream/playlist.m3u8">

src идентифицирует список воспроизведения HLS.Таким образом, вы можете периодически запускать ffmpeg, чтобы получить вывод изображения, подобный этому:

ffmpeg -i https://56cf3370d8dd3.streamlock.net:1935/nps/faithful.stream/playlist.m3u8 -vframes 1 out.png
...