Skip to content

Система стриминга видеопотока от хоста к клиенту при помощи UDP протокола.

License

Notifications You must be signed in to change notification settings

Cka3ka1337/Python-UDP-VideoStreaming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python-UDP-VideoStreaming

Description

Это программа для стриминга экрана, использует UDP протокол для передачи фрагментов изображения. Главная её особенность - разбивает изображение на фрагменты и отправляет клиенту только те, что изменились.

В репозитории имеется 2 версии - pygame, cv2, это библиотеки, с помощью которых выводился собранный кадр на экран. Pygame версия совместима с android устройствами, но необходимо будет дописать логику для расширения кадра до размеров экрана.

Libraries

  • mss==10.0.0;
  • numpy==2.2.2;
  • opencv-python==4.11.0.86;
  • pygame==2.6.1;

Program pipeline

  1. Работа с изображением 1.1 Запуск потока для захвата. 1.2 Захват и запись в импровизированный буфер. 1.3 Разбиваем на N**2 фрагментов.
  2. Серверная часть 2.1 Занимаем адрес. 2.2 Запоминаем пользователя, который отправит команду на подключение. 2.3 Из пунтка 1.3 отправляем только те фрагменты, которые не отправлялись ранее.
  3. Клиентская часть 3.1 Отправляем серверу команду на подключение. 3.2 Принимаем фрагмент с координатами и вставляем его в импровизированный буфер. 3.3 Отображаем кадр с буфера.

Other

  1. Необходимо указать свой адрес в клиенте и сервере.
  2. В коде сервера есть подряд закомементированные строки, которые отвечают за отправку зелёных фрагментов, которые не изменились.
  3. При написании своего метода захвата с использованием класса Capture, необходимо передать в super().init() 2 аргумента - длина буфера счётчика кадра и размер фрагментации (!Важно! при делении вашего размера экрана на размер фрагментации, результат должен быть челочисленным).

About

Система стриминга видеопотока от хоста к клиенту при помощи UDP протокола.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages