cv2 视频UDP传输

#server

import socket

import pickle

import cv2

import sounddevice as sd

import struct

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

s.bind(("127.0.0.1",3000))

#s.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 65565)

all_data=b''

while(1):

data,addr=s.recvfrom(1024)

all_data=data

data_size=struct.unpack('!L',data[0:4])[0]

print(data_size)

while(len(all_data)<data_size+4):

data,addr=s.recvfrom(1024)

all_data+=data

print(len(all_data))

frame=pickle.loads(all_data[4:])

frame=cv2.imdecode(frame, 1)

cv2.imshow("cesgi",frame)

print("接收完毕")

if cv2.waitKey(1) & 0xFF == ord('q'):

break

all_data=b''

#client

import socket

import cv2

import pickle

import sounddevice as sd

import struct

cap = cv2.VideoCapture(0)

s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM,0)

s.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, 1024)

while(1):

#my_recording = sd.rec(int(4410), samplerate=44100, channels=1)

ret, frame = cap.read()

_, send_data = cv2.imencode('.jpg', frame, [cv2.IMWRITE_JPEG_QUALITY, 50])

data=pickle.dumps(send_data)

data_size=struct.pack('!L',len(data))

all_data=data_size+data

data_list=[all_data[i:i+1024] for i in range(0,len(all_data),1024)]

#audio=pickle.dumps(my_recording)

if ret:

for i in data_list:

s.sendto(i,("127.0.0.1",3000))

#s.sendto(audio,("127.0.0.1",3000))

if cv2.waitKey(1) & 0xFF == ord('q'):

break

相关推荐
斯~内克2 小时前
UniApp 页面传参方式详解
网络协议·udp·uni-app
飞鸟真人3 小时前
linux下用c++11写一个UDP回显程序
linux·udp·即时通信
jndingxin5 小时前
OpenCV图像注册模块
人工智能·opencv·计算机视觉
R-G-B5 小时前
【P14 3-6 】OpenCV Python——视频加载、摄像头调用、视频基本信息获取(宽、高、帧率、总帧数)
python·opencv·视频加载·摄像头调用·获取视频基本信息·获取视频帧率·获取视频帧数
荼蘼5 小时前
OpenCv(三)——图像平滑处理
人工智能·opencv·计算机视觉
破刺不会编程8 小时前
socket编程UDP
linux·运维·服务器·网络·c++·网络协议·udp
R-G-B21 小时前
OpenCV Python——报错AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘,解决办法
人工智能·python·opencv·opencv python·attributeerror·module ‘cv2‘·no attribute
伯恩bourne21 小时前
MIME(多用途互联网邮件扩展)
网络·网络协议
似乎很简单1 天前
【opencv-Python学习笔记(5):几何变换】
笔记·opencv·学习
Mr_Xuhhh1 天前
传输层协议TCP(3)
运维·服务器·网络·网络协议·tcp/ip·http·https