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)

相关推荐
THMAIL4 分钟前
深度学习从入门到精通 - BERT与预训练模型:NLP领域的核弹级技术详解
人工智能·python·深度学习·自然语言处理·性能优化·bert
中国胖子风清扬32 分钟前
Rust 序列化技术全解析:从基础到实战
开发语言·c++·spring boot·vscode·后端·中间件·rust
我就是全世界37 分钟前
【存储选型终极指南】RustFS vs MinIO:5大维度深度对决,95%技术团队的选择秘密!
开发语言·分布式·rust·存储
nuclear20111 小时前
Python 实现 Markdown 与 Word 高保真互转(含批量转换)
python·word转markdown·markdown转word·word转md·md转word
山烛1 小时前
深度学习:CNN 模型训练中的学习率调整(基于 PyTorch)
人工智能·pytorch·python·深度学习·cnn·调整学习率
yudiandian20141 小时前
【QT 5.12.12 打包-Windows 平台下】
开发语言·qt
要记得喝水1 小时前
C#某公司面试题(含题目和解析)--1
开发语言·windows·面试·c#·.net
THMAIL1 小时前
深度学习从入门到精通 - 神经网络核心原理:从生物神经元到数学模型蜕变
人工智能·python·深度学习·神经网络·算法·机器学习·逻辑回归