热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python写一个app接收摄像头传输的视频_如何使用Python中的tcp套接字发送和接收网络摄像头流?...

我正在尝试重新创建thisproject。我有一台服务器(我的电脑)和一台客户机(我的树莓皮)。我所做的与最初的项目不同的是,我尝试使用一个简单的网络摄像头而不是一个

我正在尝试重新创建this project。我有一台服务器(我的电脑)和一台客户机(我的树莓皮)。我所做的与最初的项目不同的是,我尝试使用一个简单的网络摄像头而不是一个覆盆子pi相机将图像从我的rpi传输到服务器。我知道我必须:从相机获取opencv图像帧。在

将帧(numpy数组)转换为字节。在

将字节从客户端传输到服务器。在

将字节转换回帧和视图。在

请举例说明。在

自我_驱动程序.pyimport SocketServer

import threading

import numpy as np

import cv2

import sys

ultrasonic_data = None

#BaseRequestHandler is used to process incoming requests

class UltrasonicHandler(SocketServer.BaseRequestHandler):

data = " "

def handle(self):

while self.data:

self.data = self.request.recv(1024)

ultrasonic_data = float(self.data.split('.')[0])

print(ultrasonic_data)

#VideoStreamHandler uses streams which are file-like objects for communication

class VideoStreamHandler(SocketServer.StreamRequestHandler):

def handle(self):

stream_bytes = b''

try:

stream_bytes += self.rfile.read(1024)

image = np.frombuffer(stream_bytes, dtype="B")

print(image.shape)

cv2.imshow('F', image)

cv2.waitKey(0)

finally:

cv2.destroyAllWindows()

sys.exit()

class Self_Driver_Server:

def __init__(self, host, portUS, portCam):

self.host = host

self.portUS = portUS

self.portCam = portCam

def startUltrasonicServer(self):

# Create the Ultrasonic server, binding to localhost on port 50001

server = SocketServer.TCPServer((self.host, self.portUS), UltrasonicHandler)

server.serve_forever()

def startVideoServer(self):

# Create the video server, binding to localhost on port 50002

server = SocketServer.TCPServer((self.host, self.portCam), VideoStreamHandler)

server.serve_forever()

def start(self):

ultrasonic_thread = threading.Thread(target=self.startUltrasonicServer)

ultrasonic_thread.daemon = True

ultrasonic_thread.start()

self.startVideoServer()

if __name__ == "__main__":

#From SocketServer documentation

HOST, PORTUS, PORTCAM = '192.168.0.18', 50001, 50002

sdc = Self_Driver_Server(HOST, PORTUS, PORTCAM)

sdc.start()

视频_客户端.py

^{pr2}$



推荐阅读
author-avatar
coldwellmcnealey_242
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有