An open API service indexing awesome lists of open source software.

https://github.com/gabriel04alves/legendas-python

Aplicação web que permite gerar legendas automaticamente para vídeos usando IA.
https://github.com/gabriel04alves/legendas-python

groq-api pydub python qwen-32b streamlit whisper yt-dlp

Last synced: 2 months ago
JSON representation

Aplicação web que permite gerar legendas automaticamente para vídeos usando IA.

Awesome Lists containing this project

README

          

# Gerador Automático de Legendas

## Descrição

LegendaIA é uma aplicação web que permite gerar legendas automaticamente para vídeos. A aplicação extrai o áudio do vídeo, transcreve o conteúdo usando IA, melhora o texto transcrito e aplica as legendas ao vídeo original.

## Funcionalidades

- Upload de vídeos no formato MP4
- Download de vídeos a partir de URLs de plataformas populares:
- YouTube
- Instagram
- Facebook
- Twitter/X
- TikTok
- Extração automática do áudio
- Transcrição do áudio usando IA (Groq API)
- Aprimoramento do texto das legendas
- Geração de arquivos SRT
- Aplicação de legendas ao vídeo
- Download do vídeo com legendas incorporadas

## Tecnologias Utilizadas

- Python 3.11
- Streamlit (interface web)
- Groq API (transcrição e melhoria de texto)
- FFmpeg (processamento de áudio e vídeo)
- Docker (containerização)
- PyDub (processamento de áudio)
- yt-dlp (download de vídeos de plataformas online)

## Instalação

### Pré-requisitos

- Docker
- Chave de API do Groq

### Usando Docker

1. Clone o repositório:

```bash
git clone git@github.com:gabriel04alves/legendas-python.git
cd LegendaIA
```

2. Crie um arquivo `.env` na raiz do projeto com sua chave da API Groq:

```
GROQ_API_KEY=sua-chave-api-aqui
```

3. Construa a imagem Docker:

```bash
docker build -t LegendaIA .
```

4. Execute o container:

```bash
docker run -p 8501:8501 --env-file .env LegendaIA
```

5. Acesse a aplicação em seu navegador:
```
http://localhost:8501
```

### Instalação Local (Sem Docker)

1. Clone o repositório:

```bash
git clone https://github.com/seu-usuario/LegendaIA.git
cd LegendaIA
```

2. Instale as dependências:

```bash
pip install -r requirements.txt
```

3. Instale o FFmpeg:

- No Ubuntu: `sudo apt-get install ffmpeg`
- No macOS: `brew install ffmpeg`
- No Windows: [Instruções para Windows](https://ffmpeg.org/download.html)

4. Crie um arquivo `.env` na raiz do projeto com sua chave da API Groq:

```
GROQ_API_KEY=sua-chave-api-aqui
```

5. Execute a aplicação:
```bash
streamlit run app.py
```

## Como Usar

1. Acesse a aplicação web
2. Escolha entre fazer upload de um vídeo ou fornecer uma URL de vídeo
- Para upload: Selecione um arquivo no formato MP4
- Para URL: Cole o link de uma plataforma suportada (YouTube, Instagram, Facebook, Twitter/X, TikTok)
3. Aguarde o processamento (extração de áudio, transcrição, melhoria do texto e aplicação de legendas)
4. Visualize o vídeo com legendas
5. Faça o download do vídeo legendado

## Estrutura do Projeto

```
LegendaIA/
├── app/
│ ├── __init__.py
│ ├── apply_subtitle.py # Aplicação de legendas ao vídeo
│ ├── audio_processing.py # Extração de áudio
│ ├── file_download.py # Download de vídeos a partir de URLs
│ ├── format_srt_time.py # Formatação do tempo para SRT
│ ├── srt_create.py # Criação do arquivo SRT
│ ├── text_improve.py # Melhoria do texto das legendas
│ └── transcription.py # Transcrição do áudio
├── ui/
│ ├── __init__.py
│ └── app.py # Lógica da aplicação Streamlit
├── main.py # Entrada principal da aplicação
├── Dockerfile # Configuração do Docker
├── .env # Variáveis de ambiente (não versionado)
└── README.md # Documentação
```

## Variáveis de Ambiente

- `GROQ_API_KEY`: Chave de API para acessar os serviços da Groq

## Licença

Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.

## Contribuindo

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.

1. Fork o projeto
2. Crie sua branch de recurso (`git checkout -b feature/novorecurso`)
3. Commit suas alterações (`git commit -m 'Adiciona novo recurso'`)
4. Push para a branch (`git push origin feature/novorecurso`)
5. Abra um Pull Request