代码之家  ›  专栏  ›  技术社区  ›  Alex Witsil

从网络摄像机流保存帧

  •  1
  • Alex Witsil  · 技术社区  · 7 年前

    我想要一个程序,系统地提取和保存从网络摄像机镜头到我个人电脑上的本地目录的帧。

    具体来说,我正试图从黄石国家公园的老忠实间歇泉的摄像头中保存画面。公园。( 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秒),但这两个图像是相同的,更不用说中间明显的播放按钮了。这种方法似乎也有点 乱劈 因为它保存的是网站的快照,而不是框架本身。

    我当然愿意使用更合适的命令行工具(我只是不确定它们是什么)。非常感谢您的帮助!

    1 回复  |  直到 7 年前
        1
  •  2
  •   Gyan    7 年前

    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