从安卓设备流式传输视频到台式电脑

4
我正在进行一些音频和图像处理,为了更快地进行原型设计,我使用Python和OpenCV。到目前为止,我已经在手机上录制了一些视频(无法使用网络摄像头-需要检查我手机上的特定摄像头),上传到桌面电脑,然后离线处理文件。
虽然这变得有点繁琐,但我想知道是否有任何方法可以实时流式传输视频并在Python中处理这些视频帧?我注意到有一个名为DroidCam的应用程序,但没有适用于MacOS的应用程序,似乎它只能通过WiFI工作。我还检查了android scripting,但只有将记录到文件的方法。
因为低延迟在我的情况下很重要,通过USB进行流式传输将是一个加分项。我注意到adb允许端口转发,所以看起来有一种方法可以不使用特定的Android/Python USB API,而仅使用套接字来完成。
已经存在任何工具吗?还是最简单的方法是编写自己的内容,使用套接字和adb转发?
类似iOS的东西也很棒。
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()

请查看:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接