`
sunbin
  • 浏览: 341635 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

python opencv实现视频UDP传输

阅读更多

python实现服务器录制视频,UDP实时传输到客户端,实时显示。
报错
data, addr = s.recvfrom(4096),socket.error: [Errno 10040]
Buffer设置为65536,按说不应该会有buffer不足的情况。 

代码如下:

host.py

import cv2
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(('127.0.0.1', 9999))
cap = cv2.VideoCapture(1)
cap.set(3, 320)
cap.set(4, 240)
while True:
data, addr = s.recvfrom(4096)
if data != '0':
_, fra = cap.read()
_, enfra = cv2.imencode('.jpg', fra)
s.sendto(enfra, ('127.0.0.1', 9999))
s.close()

 

client.py

import cv2
import socket
port = 9999
host = '127.0.0.1'
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(b'1', (host, port))
cv2.namedWindow('img')
while True:
data, addr = s.recvfrom(400000)
if data:
imde = cv2.imdecode(data, 1)
cv2.imshow('img', imde)
k = cv2.waitKey(1)
if k == ord('q'):
s.sendto(b'0', (host, port))
break

s.close()
cap.release()
cv2.destroyAllWindows()

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics