【发布时间】:2017-07-13 17:45:33
【问题描述】:
客户端.py
import cv2
import numpy as np
import socket
import sys
import pickle
import struct
cap=cv2.VideoCapture(0)
clientsocket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
clientsocket.connect(('localhost',5000))
while True:
ret,frame=cap.read()
data = pickle.dumps(frame)
clientsocket.sendall(struct.pack("H", len(data))+data)
错误在最后一行。
错误:struct.error: ushort 格式需要 0
【问题讨论】:
-
有什么不明白的地方吗?显然,
len(data) > USHRT_MAX。一个快速的谷歌会告诉你USHRT_MAX == 65535 -
谢谢,但我应该在哪里编辑才能让这段代码正常工作?
-
让你的数据更短(降低相机分辨率),或者在
struct.pack中编码一个更大的整数
标签: python sockets numpy video-streaming