代码之家  ›  专栏  ›  技术社区  ›  Jadiel de Armas

如何使用videoflow从视频url或usb摄像机读取?

  •  0
  • Jadiel de Armas  · 技术社区  · 6 年前

    Videoflow 有python库 examples 关于如何读取视频文件,但如何从计算机中的usb设备读取视频?

    0 回复  |  直到 6 年前
        1
  •  1
  •   Jadiel de Armas    6 年前

    只是加进去的。你可以这样做。只需确保在代码中正确设置相机的设备id。

    import videoflow
    import videoflow.core.flow as flow
    from videoflow.core.constants import REALTIME
    from videoflow.producers import VideoDeviceReader
    from videoflow.consumers import VideofileWriter
    
    class FrameIndexSplitter(videoflow.core.node.ProcessorNode):
        def __init__(self):
            super(FrameIndexSplitter, self).__init__()
    
        def process(self, data):
            index, frame = data
            return frame
    
    def main():
        output_file = "output.avi"
        device_id = 0
        reader = VideoDeviceReader(device_id)
        frame = FrameIndexSplitter()(reader)
        writer = VideofileWriter(output_file, fps = 30)(frame)
        fl = flow.Flow([reader], [writer], flow_type = REALTIME)
        fl.run()
        fl.join()
    
    if __name__ == "__main__":
        main()