Este é um projeto para baixar áudio de vídeos do YouTube e convertê-los para o formato MP3. Utiliza as bibliotecas pytubefix e pydub para realizar o download e conversão, além de ser construído com o framework FastApi para fornecer uma API para interagir com o serviço.
A estrutura do projeto é a seguinte:
YT LOAD
├── downloads # Diretório para armazenar temporariamente os arquivos baixados
├── src
│ ├── routers # Controladores de rotas da API, onde as rotas e endpoints são definidos
│ │ ├── init.py
│ │ └── download.py
│ ├── schemas # Define a estrutura de dados esperada e permite a validação dos tipos de dados e formatos.
│ │ ├── init.py
│ │ └── file_type.py
│ ├── services # Lógica de serviços de download e conversão, responsável por processar os arquivos
│ │ ├── init.py
│ │ └── download_audio.py
│ ├── utils # Utilitários, como conversão e manipulação de arquivos
│ │ ├── init.py
│ │ ├── convert_to_mp3.py
│ │ ├── file_manager.py
│ │ └── remove_file.py
│ ├── init.py
│ └── main.py # Ponto de entrada da aplicação FastAPI, onde a aplicação é inicializada
└── tests # Diretório para testes unitários e de integração da aplicação
- Docker e Docker Compose instalados no sistema.
docker-compose up -d
Caso deseje verificar os logs em tempo real execute:
docker-compose logs -f
- Python 3.8 ou superior
- PDM como gerenciador de pacotes
-
Clone o repositório.
-
Crie o ambiente virtual e instale as dependências:
pdm install
-
Inicie o servidor FastAPI:
pdm run start
O servidor será iniciado em http://127.0.0.1:8000
, e você poderá acessar a documentação da API em http://127.0.0.1:8000/docs
ou http://127.0.0.1:8000/redoc
.