python udp视频服务端客户端

import cv2

import socket

import threading

from PIL import ImageFont, ImageDraw, Image

import numpy as np

ca=cv2.VideoCapture(0)

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

text = "Hello!"

position = (50, 50)

font = cv2.FONT_HERSHEY_SIMPLEX

font_scale = 1

color = (0, 255, 0) # 绿色

thickness = 2

def fun():

global text

while(1):

text=input("请输入想发送的内容:")

def recv():

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

s.bind(("0.0.0.0",8000))

while(1):

data=s.recvfrom(65536)

#print(data[1])

if len(data)>0:

zip_data=np.frombuffer(data[0],dtype=np.uint8)

cur_data=cv2.imdecode(zip_data,cv2.IMREAD_COLOR)

cv2.imshow("1111",cur_data)

cv2.waitKey(1)

t2=threading.Thread(target=recv)

t2.start()

print("视频服务端已准备好!")

视频写入配置

#fourcc = cv2.VideoWriter_fourcc(*'XVID')

#out = cv2.VideoWriter('output_chinese.avi', fourcc, 20.0, (640, 480))

加载中文字体(Windows 示例)

font_path = "simhei.ttf" # 你可以换成系统其他中文字体

font = ImageFont.truetype(font_path, 32)

ip=input("输入对方ip地址:")

print("准备发送")

t=threading.Thread(target=fun)

t.start()

while(1):

ret, frame = ca.read()

if not ret:

break

转换为 PIL 图像对象

img_pil = Image.fromarray(cv2.cvtColor(frame, cv2.COLOR_BGR2RGB))

draw = ImageDraw.Draw(img_pil)

写入中文文本

draw.text((50, 50), text, font=font, fill=(255, 0, 0))

转回 OpenCV 格式

frame = cv2.cvtColor(np.array(img_pil), cv2.COLOR_RGB2BGR)

显示窗口

#cv2.imshow('Video with Chinese', frame)

写入视频文件

#out.write(frame)

zip_data=cv2.imencode('.jpg', frame, [int(cv2.IMWRITE_JPEG_QUALITY), 80])[1]

buffer_data=zip_data.tobytes()

jj=s.sendto(zip_data,(ip,8000))

print(jj)

if cv2.waitKey(1) & 0xFF == 27: # ESC键退出

break

cv2.waitKey(1)

相关推荐
小成202303202654 小时前
Linux高级02
linux·开发语言
知行合一。。。4 小时前
Python--04--数据容器(总结)
开发语言·python
架构师老Y4 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
咸鱼2.04 小时前
【java入门到放弃】需要背诵
java·开发语言
ZK_H5 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
A.A呐5 小时前
【C++第二十九章】IO流
开发语言·c++
椰猫子5 小时前
Java:异常(exception)
java·开发语言
lifewange5 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
pluvium275 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
cmpxr_5 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法