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)

相关推荐
We་ct4 分钟前
深度剖析浏览器跨域问题
开发语言·前端·浏览器·跨域·cors·同源·浏览器跨域
skywalk816313 分钟前
在考虑双轨制,即在中文语法的基础上,加上数学公式的支持,这样像很多计算将更加简单方便,就像现在的小学数学课本里面一样,比如:定x=2*x + 1
开发语言
小书房16 分钟前
Kotlin的by
android·开发语言·kotlin·委托·by
gqk0125 分钟前
【无标题】
python
就叫飞六吧32 分钟前
QT写一个桌面程序exe并动态打包基本流程(c++)
开发语言·c++
threelab42 分钟前
Three.js 代码云效果 | 三维可视化 / AI 提示词
开发语言·javascript·人工智能
V搜xhliang02461 小时前
OpenClaw科研全场景用法:从文献到实验室的完整自动化方案
运维·开发语言·人工智能·python·算法·microsoft·自动化
kaikaile19951 小时前
风、浪、流环境模型的船舶三自由度(纵荡、横荡、艏摇)运动仿真MATLAB
开发语言·人工智能·matlab
fish_xk1 小时前
map和set
java·开发语言
李崧正1 小时前
Java技术分享:Lambda表达式与函数式编程
java·开发语言·python