使用插座将视频从一台PC传输到另一台PC

时间:2019-06-20 14:19:27

标签: python python-3.x

我一直在尝试使用套接字逐帧传输视频,然后使用open-cv呈现视频。第一次传输帧后,代码卡住了。一旦我强制退出传输代码,就会显示第一帧。

试图添加循环和移除循环。我试图增加传输之间的延迟。

服务器代码

import socket, pickle
import os
import cv2
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 4096
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP, TCP_PORT))
s.listen(1)
conn, addr = s.accept()
while 1:
data =b""
    while 1:
        packet = conn.recv(BUFFER_SIZE)
        if not packet: break
        data += packet
    data_arr = pickle.loads(data)
    print("data")
    cv2.imshow('image',data_arr)
    print("cv2")
    if cv2.waitKey(1) & 0xFF == ord('q'):                  
        break
cv2.destroyAllWindows()
conn.close()

客户代码

import socket
import pickle
import cv2
import os
import time

path = os.getcwd()
TCP_IP = '127.0.0.1'
TCP_PORT = 5005
BUFFER_SIZE = 4096
s.connect((TCP_IP, TCP_PORT))
image = cv2.imread(path+"//example.jpg")
data_string = pickle.dumps(arr)
while 1:
    s.send(data_string)
    time.sleep(1)

0 个答案:

没有答案