4

我正在做一些声音和图像处理,为了更快的原型设计,我正在使用 python 和 opencv。到目前为止,我一直在手机上录制一些视频(不能使用网络摄像头 - 需要检查手机中的特定摄像头),上传到桌面,然后离线处理文件。

虽然它变得有点乏味,但我想知道是否有任何方法可以在 python 中进行实时流视频和处理这些视频帧?我注意到有这样的应用程序:DroidCam,但没有适用于 MacOS 的应用程序,而且似乎只能通过 WiFI 工作。我还检查了android 脚本,但只有一种方法可以记录到文件中。

因为在我的情况下,低延迟很重要,通过 USB 流式传输将是一个优势。我注意到 adb 允许端口转发,所以看起来有一种方法可以不用特定的 android /python USB api 而只使用套接字。

是否已经存在任何工具,或者最简单的方法是使用套接字和 adb 转发自己编写一些东西?

对于 iOS,类似的东西也会很棒。

4

1 回答 1

1

尝试设置一个UDP服务器,这里是发送图像的代码,

UDPSock = socket(AF_INET,SOCK_DGRAM)

  while 1:
    image = camProxy.getImageLocal(nameId)
    size = (image[0], image[1])
    data = image[6]
    im = Image.fromstring("YCbCr", size, data)
    s = StringIO.StringIO()
    im.save(s, "JPEG")

    UDPSock.sendto(s.getvalue(), addr)

    camProxy.releaseImage(nameId)

  UDPSock.close()

接收流的代码:

  UDPSock = socket(AF_INET,SOCK_DGRAM)
  UDPSock.bind(addr)

  while 1:
    data, addr = UDPSock.recvfrom(buf)
    # here add code to process image and receive image

  UDPSock.close()

查看:

于 2012-11-29T02:15:52.033 回答