Как отправлять видео с помощью NetGear

#python #sockets #video #video-streaming

#python #сокеты #Видео #потоковое видео

Вопрос:

Как я могу отправить видео с клиента на сервер. У меня есть эти коды, но я не могу отправлять с клиента на сервер. Я использую NetGear. NetGear реализует высокоуровневую оболочку вокруг PyZmQ python library, которая содержит привязки python для ZeroMQ — высокопроизводительной асинхронной библиотеки распределенных сообщений, предоставляющей очередь сообщений, но, в отличие от промежуточного программного обеспечения, ориентированного на сообщения, его система может работать без специального посредника сообщений.

У меня есть сервер с открытым портом. Назначение клиента — подключиться к серверу и отправить видео. Серверу необходимо получить это видео.

Это серверный код `

 # import required libraries
from vidgear.gears import VideoGear
from vidgear.gears import NetGear

# open any valid video stream(for e.g `test.mp4` file)
stream = VideoGear(source="test.mp4").start()

# Define Netgear Server with default parameters
server = NetGear()

# loop over until KeyBoard Interrupted
while True:

    try:

        # read frames from stream
        frame = stream.read()

        # check for frame if Nonetype
        if frame is None:
            break

        # {do something with the frame here}

        # send frame to server
        server.send(frame)

    except KeyboardInterrupt:
        break

# safely close video stream
stream.stop()

# safely close server
server.close()
 

Это клиентский код `

 from vidgear.gears import NetGear
import cv2


# define Netgear Client with `receive_mode = True` and default parameter
client = NetGear(receive_mode=True)

# loop over
while True:

    # receive frames from network
    frame = client.recv()

    # check for received frame if Nonetype
    if frame is None:
        break

    # {do something with the frame here}

    # Show output window
    cv2.imshow("Output Frame", frame)

    # check for 'q' key if pressed
    key = cv2.waitKey(1) amp; 0xFF
    if key == ord("q"):
        break

# close output window
cv2.destroyAllWindows()

# safely close client
client.close()
 

Комментарии:

1. Вы должны рассказать нам, с какой проблемой вы столкнулись. «но я не могу отправить с клиента на сервер» недостаточно конкретно. Какие ошибки вы получаете?