Spaces:
Sleeping
Sleeping
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,154 +1,166 @@
|
|
| 1 |
-
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
## **
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
##
|
| 62 |
-
|
| 63 |
-
-
|
| 64 |
-
-
|
| 65 |
-
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
```
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: ViralCutterPRO
|
| 3 |
+
emoji: 📊
|
| 4 |
+
colorFrom: indigo
|
| 5 |
+
colorTo: green
|
| 6 |
+
sdk: gradio
|
| 7 |
+
sdk_version: 6.2.0
|
| 8 |
+
app_file: app.py
|
| 9 |
+
pinned: false
|
| 10 |
+
license: gpl-3.0
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# ViralCutter: Gerador de Vídeos Virais
|
| 14 |
+
[  ](https://discord.gg/aihubbrasil) <br>
|
| 15 |
+
[English](https://github.com/RafaelGodoyEbert/ViralCutter/blob/main/README_en.md) | [Português](https://github.com/RafaelGodoyEbert/ViralCutter/blob/main/README.md)
|
| 16 |
+
|
| 17 |
+
## **Descrição**
|
| 18 |
+
ViralCutter é uma ferramenta inovadora para gerar vídeos virais a partir de conteúdo existente. Com técnicas avançadas de processamento de vídeo e áudio, o ViralCutter corta e edita segmentos de vídeo que são perfeitos para compartilhamento em redes sociais. Utilizando o modelo WhisperX para transcrição e geração de legendas automáticas, ele adapta os vídeos para o formato 9:16 (vertical), ideal para plataformas como TikTok e Instagram com Reels e Youtube com Shorts.
|
| 19 |
+
|
| 20 |
+
## **Novidades e Atualizações (Changelog)**
|
| 21 |
+
|
| 22 |
+
Confira as melhorias mais recentes:
|
| 23 |
+
|
| 24 |
+
- **Nova WebUI (Gradio)**: Interface gráfica moderna inspirada no OpusClip, facilitando o uso de todas as ferramentas.
|
| 25 |
+
- **Instalação Rápida (UV)**: Novo script `.bat` que utiliza o `uv` para instalar dependências de forma muito mais rápida.
|
| 26 |
+
- **Otimização de Performance**: "Slicing" de transcrição implementado. O vídeo é transcrito apenas uma vez, e os cortes reutilizam os dados, eliminando reprocessamento.
|
| 27 |
+
- **Suporte a IA Flexível**: Integração nativa com **Gemini API** e suporte experimental ao **G4F** (GPT-4 Free), além de modo Manual.
|
| 28 |
+
- **Configuração Externa**: Arquivos `api_config.json` e `prompt.txt` para fácil personalização sem mexer no código.
|
| 29 |
+
- **Correção de Rostos**: Fix no MediaPipe para rastreamento de rostos preciso sem depender de "Center Crop".
|
| 30 |
+
- **Melhorias em Legendas**: Posicionamento inteligente para vídeos com 2 faces (split screen) e correções de estilo.
|
| 31 |
+
|
| 32 |
+
*(Veja o [changelog.md](changelog.md) para detalhes completos)*
|
| 33 |
+
|
| 34 |
+
## **Interface**
|
| 35 |
+

|
| 36 |
+
*Tela Principal: Ajustes de IA, legendas e visualização de logs*
|
| 37 |
+
|
| 38 |
+

|
| 39 |
+
*Biblioteca: Galeria estilo OpusClip e controles intuitivos*
|
| 40 |
+
|
| 41 |
+
## **Funcionalidades**
|
| 42 |
+
|
| 43 |
+
- **Download de Vídeos**: Baixa vídeos do YouTube através de uma URL fornecida.
|
| 44 |
+
- **Transcrição de Áudio**: Converte áudio em texto utilizando o modelo WhisperX.
|
| 45 |
+
- **Identificação de Segmentos Virais**: Utiliza IA para detectar partes do vídeo com alto potencial de viralização.
|
| 46 |
+
- **Corte e Ajuste de Formato**: Corta os segmentos selecionados e ajusta a proporção para 9:16.
|
| 47 |
+
- **Recorte Inteligente**: Mantém o falante em foco (Face Tracking) ou utiliza modo Split Screen (2-Faces) automático.
|
| 48 |
+
- **Mesclagem de Áudio e Vídeo**: Combina o áudio transcrito com os clipes de vídeo processados.
|
| 49 |
+
- **Exportação em Lote**: Gera um arquivo ZIP com todos os vídeos virais criados, facilitando o download e compartilhamento.
|
| 50 |
+
- **Legenda personalizada**: Você cria uma legenda personalizada com cores, highlight, sem highlight ou palavra por palavra, tendo uma ampla possibilidade de edição.
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
## **Como Usar**
|
| 54 |
+
<!--
|
| 55 |
+
Entre no link e siga os passos na ordem:<br> [](https://colab.research.google.com/drive/1gcxImzBt0ObWLfW3ThEcwqKhasB4WpgX?usp=sharing)
|
| 56 |
+
HF []()
|
| 57 |
+
-->
|
| 58 |
+
|
| 59 |
+
- Entre no link e siga os passos na ordem: [](https://colab.research.google.com/drive/1UZKzeqjIeEyvq9nPx7s_4mU6xlkZQn_R?usp=sharing#scrollTo=pa36OeArowme) <br>
|
| 60 |
+
|
| 61 |
+
## **Limitações**
|
| 62 |
+
|
| 63 |
+
- A qualidade dos vídeos gerados pode variar com base na qualidade do vídeo original.
|
| 64 |
+
- O tempo de processamento depende fortemente da sua GPU.
|
| 65 |
+
- O modelo **G4F** pode ser instável ou ter limites de requisição. Use **Gemini** para maior estabilidade mas precisa de api_key.
|
| 66 |
+
|
| 67 |
+
## Inspiração:
|
| 68 |
+
Este projeto foi inspirado nos seguintes repositórios:
|
| 69 |
+
|
| 70 |
+
* [Reels Clips Automator](https://github.com/eddieoz/reels-clips-automator)
|
| 71 |
+
* [YoutubeVideoToAIPoweredShorts](https://github.com/Fitsbit/YoutubeVideoToAIPoweredShorts)
|
| 72 |
+
|
| 73 |
+
## TODO📝
|
| 74 |
+
- [x] Release code
|
| 75 |
+
- [ ] Huggingface SpaceDemo
|
| 76 |
+
- [x] Two face in the cut
|
| 77 |
+
- [x] Custom caption and burn
|
| 78 |
+
- [x] Make the code faster
|
| 79 |
+
- [ ] More types of framing beyond 9:16
|
| 80 |
+
- [x] The cut follows the face as it moves
|
| 81 |
+
- [ ] Automatic translation
|
| 82 |
+
- [ ] Satisfactory video on the side
|
| 83 |
+
- [ ] Background music
|
| 84 |
+
- [ ] watermark at user's choice
|
| 85 |
+
- [ ] Upload directly to YouTube channel
|
| 86 |
+
|
| 87 |
+
## Exemplos
|
| 88 |
+
### Exmplo de vídeo viral ``com highlight ativo`` [comprimido pra caber no github]
|
| 89 |
+
https://github.com/user-attachments/assets/dd9a7039-e0f3-427a-a6e1-f50ab5029082
|
| 90 |
+
|
| 91 |
+
### Exemplo Opus Clip vs ViralCutter [comprimido pra caber no github]
|
| 92 |
+
https://github.com/user-attachments/assets/12916792-dc0e-4f63-a76b-5698946f50f4
|
| 93 |
+
|
| 94 |
+
### Exemplo 2 faces [comprimido pra caber no github]
|
| 95 |
+
https://github.com/user-attachments/assets/ca7ebb9c-52ba-4171-a513-625bef690a2b
|
| 96 |
+
|
| 97 |
+
## **Instalação e Uso Local**
|
| 98 |
+
|
| 99 |
+
### Pré-requisitos
|
| 100 |
+
- Python 3.10+
|
| 101 |
+
- FFmpeg instalado e no PATH do sistema.
|
| 102 |
+
- GPU NVIDIA recomendada (com CUDA instalado) para o WhisperX.
|
| 103 |
+
|
| 104 |
+
### Configuração
|
| 105 |
+
1. **Instale as dependências**:
|
| 106 |
+
|
| 107 |
+
**Opção A (Recomendada - Rápida)**:
|
| 108 |
+
Execute o arquivo `install_dependencies.bat`. Ele usará o `uv` para instalar tudo rapidamente.
|
| 109 |
+
|
| 110 |
+
**Opção B (Manual)**:
|
| 111 |
+
```bash
|
| 112 |
+
pip install -r requirements.txt
|
| 113 |
+
```
|
| 114 |
+
*(Nota: WhisperX e Torch podem exigir instalação específica para sua versão de CUDA)*.
|
| 115 |
+
|
| 116 |
+
2. **Configure a API (Opcional mas Recomendado)**:
|
| 117 |
+
Edite o arquivo `api_config.json` na pasta raiz:
|
| 118 |
+
```json
|
| 119 |
+
{
|
| 120 |
+
"selected_api": "gemini",
|
| 121 |
+
"gemini": {
|
| 122 |
+
"api_key": "SUA_CHAVE_AQUI"
|
| 123 |
+
}
|
| 124 |
+
}
|
| 125 |
+
```
|
| 126 |
+
|
| 127 |
+
### Executando
|
| 128 |
+
|
| 129 |
+
#### Interface Gráfica (WebUI)
|
| 130 |
+
Para usar a nova interface visual:
|
| 131 |
+
Dê um duplo clique em `run_webui.bat` ou execute:
|
| 132 |
+
```bash
|
| 133 |
+
.\run_webui.bat
|
| 134 |
+
```
|
| 135 |
+
|
| 136 |
+
#### Modo Interativo (Simples)
|
| 137 |
+
Basta rodar o script e seguir as instruções na tela:
|
| 138 |
+
```bash
|
| 139 |
+
python main_improved.py
|
| 140 |
+
```
|
| 141 |
+
|
| 142 |
+
#### Modo CLI (Avançado)
|
| 143 |
+
Você pode passar todos os argumentos via linha de comando para automação:
|
| 144 |
+
|
| 145 |
+
```bash
|
| 146 |
+
python main_improved.py --url "https://youtu.be/EXEMPLO" --segments 3 --ai-backend gemini --model large-v3-turbo
|
| 147 |
+
```
|
| 148 |
+
|
| 149 |
+
**Argumentos Principais:**
|
| 150 |
+
- `--url`: URL do vídeo do YouTube.
|
| 151 |
+
- `--segments`: Número de cortes a gerar.
|
| 152 |
+
- `--ai-backend`: `gemini` (Recomendado), `g4f` ou `manual`.
|
| 153 |
+
- `--viral`: Ativa modo de busca viral automática.
|
| 154 |
+
- `--face-mode`: `auto`, `1` (uma cara), ou `2` (duas caras/split).
|
| 155 |
+
- `--workflow`: `1` (Completo) ou `2` (Apenas Corte, sem legendas/crop).
|
| 156 |
+
|
| 157 |
+
---
|
| 158 |
+
|
| 159 |
+
## **Contribuições**
|
| 160 |
+
Quer ajudar a tornar o ViralCutter ainda melhor? Se você tiver sugestões ou quiser contribuir com o código, fique à vontade para abrir uma issue ou enviar um pull request no nosso repositório do GitHub.
|
| 161 |
+
|
| 162 |
+
## **Versão**
|
| 163 |
+
`0.7v Alpha`
|
| 164 |
+
Uma alternativa gratuita ao `opus.pro` e ao `vidyo.ai`.
|
| 165 |
+
|
| 166 |
+
---
|