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)

相关推荐
Fly-ping43 分钟前
【前端】JavaScript 的事件循环 (Event Loop)
开发语言·前端·javascript
范纹杉想快点毕业1 小时前
基于C语言的Zynq SOC FPGA嵌入式裸机设计和开发教程
c语言·开发语言·数据库·嵌入式硬件·qt·fpga开发·嵌入式实时数据库
rockmelodies1 小时前
【PHP安全】免费解密支持:zend52、zend53、zend54好工具
开发语言·安全·php
Reggie_L1 小时前
Stream流-Java
java·开发语言·windows
巴伦是只猫1 小时前
Java 高频算法
java·开发语言·算法
程序员编程指南1 小时前
Qt容器类:QList、QMap等的高效使用
c语言·开发语言·c++·qt
雄狮少年1 小时前
智能体服务封装
开发语言·windows·python
点云SLAM2 小时前
C++中std::string和std::string_view使用详解和示例
开发语言·c++·算法·字符串·string·c++标准库算法·string_view
云天徽上2 小时前
【数据可视化-70】奶茶店销量数据可视化:打造炫酷黑金风格的可视化大屏
python·信息可视化·数据分析·数据可视化·pyecharts
超浪的晨2 小时前
Java 实现 B/S 架构详解:从基础到实战,彻底掌握浏览器/服务器编程
java·开发语言·后端·学习·个人开发