/streaming-service

An UDP/TCP Video Streaming Service for users and groups developed in Python3

Primary LanguagePython

Biting Wire - Streaming Service

Streaming Service Application developed in Python3 by Igor Cruz, Luam Souza and Lucas Fauster.

The app consists of a Service Manager and a Streaming Server. The Service Manager is responsible for coordinating messages and operations, it communicates with the clients and the streaming server through a TCP connection. The Streaming Server is responsible for listing videos and sending them to the clients through a UDP connection.

The application has guest and premium users. Premium users can play videosfor themselves and also create groups for watch parties, they are able to add/remove other users to the group and simultaneously play videos for all of them. Guest users can take part in a group.

Application available in Engligh and Brazilian Portuguese

Requirements

The application was developed with Python (3.6)

Libraries

Required Native to Python3
  • Opencv-contrib-python
    (4.5.4.60)
  • Imutils (0.5.4)
  • Numpy (1.19.5)
  • Pillow (8.4.0)
  • Tkinter (8.6)
  • Socket
  • Threading
  • Base64
  • Sqlite3
  • Pickle
  • Logging

Most libraries can be downloaded via Pip3 and Tkinter can be installed by running sudo apt-get install python3.6-tk

Running

As User

To run the application you need to do the following steps:

  1. Start the service manager by running python3 service_manager_server/main.py

  2. In another terminal start the streaming service with: python3 streaming_server/serverUDP.py

  3. Now you can run as many User Interfaces as you would like with: python3 interfaces/GUI_login.py

As Admin

To run the admin application you just need to run python3 janelas/GUI_server.py to start the Admin Interface

Navigation


Login Page


Home Page


Creating Group


Adding user to group


Playing a video simultaneously to two users


Admin Interface