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

相关推荐
二狗mao5 小时前
Uniapp使用websocket进行ai回答的流式输出
websocket·网络协议·uni-app
1560820721911 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发
踏浪无痕13 小时前
线上偶发 502 排查:用 Netty 成功复现 KeepAlive 时间窗口案例实战(附完整源码)
运维·网络协议
爱学习的小可爱卢13 小时前
Java UDP编程实战:UDP数据报套接字编程DatagramPacket、DatagramSocket 、InetSocketAddress
java·udp·udp数据报
北京耐用通信13 小时前
告别“牵一发而动全身”:耐达讯自动化Profibus PA分线器为石化流量计网络构筑安全屏障
人工智能·网络协议·安全·自动化·信息与通信
Sinowintop13 小时前
易连EDI-EasyLink无缝集成之消息队列Kafka
分布式·网络协议·kafka·集成·国产化·as2·国产edi
阿巴~阿巴~21 小时前
自定义协议设计与实践:从协议必要性到JSON流式处理
服务器·网络·网络协议·json·操作系统·自定义协议
jinxinyuuuus1 天前
GTA 风格 AI 生成器:跨IP融合中的“视觉语义冲突”与风格适配损失
人工智能·网络协议
嵌入式-小王1 天前
每天掌握一个网络协议----ICMP
网络·网络协议·ping
Awkwardx1 天前
Linux网络编程—应用层协议HTTP
网络·网络协议·http