/pydash_improvements

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

pyDash: A Framework Based Educational Tool for Adaptive Streaming Video Algorithms Study

Este projeto é uma versão melhorada do projeto pyDash, originalmente disponível em https://github.com/mfcaetano/pydash.git.

Versão do SO utilizada: Ubuntu 20.04.3 LTS

Versão do Gstreamer: 1.0

Instalation Process

Pré-requisitos

Para a utilização deste projeto é necessária a instalação de alguns pacotes python descritos no arquivo requirements.txt.

Para a utilização do reprodutor de mídia DASH, é necessário a instalação de alguns pacotes do framework GStreamer. Atualmente, só é possível ativá-lo em sistemas operacionais Linux. Logo, você encontrará instruções sobre como instalar tudo apenas em ambientes Linux.

Instalando o Gstreamer no Ubuntu, Debian, elementary OS, Pop!_OS

Instalar tudo o que precisamos no Ubuntu e sistemas operacionais relacionados é fácil! Basta executar o seguinte comando no terminal:

sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-{base,good,bad,ugly} gstreamer1.0-tools python3-gi gir1.2-gstreamer-1.0

Por onde eu começo?

Existem algumas formas de você configurar o seu ambiente. Nesta seção iremos apresentar apenas uma das formas possíveis.

  • O primeiro passo é fazer o checkout do seu código. Utilizando um terminal, faça um clone do repositório.
git clone https://github.com/GuCosta/pydash_improvements.git

Em seguida, crie um ambiente virtual

python3 -m venv pydash_improvements/venv
  • Entre no repositório
cd pydash_improvements
  • O próximo passo é ativar o terminal e carregar as configurações python.
source venv/bin/activate
  • Agora você precisa instalar as bibliotecas utilizadas pela ferramenta pyDash.
pip3 install -r requirements.txt

Pronto! Para testar o código, basta executar:

python3 main.py

Para usar a exibição de estatísticas através de gráficos dinâmicos simultaneamente com a aplicação pyDash, basta executar em um novo prompt de comando ou guia, após o comando acima:

python3 dynamic_plot.py

Arquitetura

Arquitetura

Arquitetura_Servidor

Arquitetura_Cliente