从网络摄像头流保存帧

时间:2018-12-30 18:38:04

标签: r ffmpeg video-streaming html5-video webcam

我想要一个例程,该例程可以将网络摄像头中的帧有系统地提取并保存到我的个人计算机上的本地目录中。

具体来说,我正在尝试从Yellowstone Natl的Old Faithful间歇泉中的摄像头保存帧。公园。 (https://www.nps.gov/yell/customcf/geyser_webcam_updated.htm

理想情况下,我想:

  1. 能够控制帧的下载速度(例如,每分钟拍摄一帧)
  2. 使用FFMPEG或R
  3. 保存实际框架,而不保存网页的快照

尽管有上述第3点,但我尝试使用Webshot软件包在R中简单地拍摄一个截屏

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 :(得分:2)

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