Um ritual de magia digital que transmuda vídeos em animações ASCII coloridas, banindo fundos indesejados (como chroma key) e evocando silhuetas em caracteres que dançam no terminal. Perfeito para quem anseia por arte crua, onde cada frame é um sussurro de luz e sombra. Processa múltiplos vídeos de uma pasta, salva em formato .txt otimizado, e projeta no terminal com loop eterno se desejado.
O grimório principal é invocado com python3 main.py, abrindo o Altar de Transmutação (GUI).
A partir daqui, os seguintes rituais estão disponíveis:
-
Seleção (Arquivo ou Pasta):
- Selecionar Arquivo: Marca um único vídeo para sacrifício (
.mp4,.mkv,.avi,.mov,.webm). - Selecionar Pasta: Marca um diretório inteiro. Todos os vídeos compatíveis dentro dele serão processados em lote.
- Selecionar Arquivo: Marca um único vídeo para sacrifício (
-
A Transmutação (Conversão):
- Converter Selecionado: Inicia a conversão apenas do arquivo de vídeo selecionado.
- Converter Pasta Inteira: Inicia um ritual em lote, convertendo todos os vídeos da pasta selecionada (ou da
input_dirpadrão noconfig.ini). O processo bane o chroma key (conforme configurado) e sela a essência do vídeo em arquivos.txtna pastaoutput_dir.
- A Projeção (Playback):
- Reproduzir (no Terminal): Invoca um novo terminal (
gnome-terminalouxterm) e projeta a arte ASCII (.txt) correspondente ao vídeo selecionado, usando as cores ANSI 256.
- Reproduzir (no Terminal): Invoca um novo terminal (
-
A Calibração (O Triptych):
- Calibrar Chroma Key: O ritual mais complexo. Abre três portais simultâneos:
- Janela 1 (Vídeo Original): A realidade crua (sua webcam ou o vídeo selecionado).
- Janela 2 (Vídeo Filtro): O resultado do filtro chroma key aplicado em tempo real.
- Janela 3 (Terminal): A transmutação ASCII em tempo real do vídeo original, com as áreas filtradas pelo chroma key substituídas por espaços.
- Use os controles deslizantes (em janela separada) para ajustar os valores HSV (Matiz, Saturação, Valor) do filtro e pressione
spara selar (salvar) os valores noconfig.ini. Pressioneqpara sair sem salvar.
- Calibrar Chroma Key: O ritual mais complexo. Abre três portais simultâneos:
-
Abertura de Portais (Utilitários):
- Abrir Vídeo Original: Abre o arquivo de vídeo (
.mp4, etc.) selecionado no seu player de vídeo padrão. - Abrir Pasta de Saída: Abre o diretório
output_dir(definido noconfig.ini) onde os arquivos.txttransmutados repousam.
- Abrir Vídeo Original: Abre o arquivo de vídeo (
- Clone o Repositório:
git clone [https://github.com/AndreBFarias/Conversor-Video-Para-ASCII.git](https://github.com/AndreBFarias/Conversor-Video-Para-ASCII.git) cd Conversor-Video-Para-ASCII - Execute o Ritual de Consagração:
(Este script instalará dependências do sistema via
chmod +x install.sh ./install.sh
apt, criará um ambiente virtualvenv, instalará pacotes Python viapip, criará as pastasvideos_entrada/videos_saida, e adicionará um lançador ao seu menu de aplicativos com o ícone.)
- Via Menu de Aplicativos: Procure por "Êxtase em 4R73".
- Manualmente (Terminal):
cd /caminho/para/Conversor-Video-Para-ASCII source venv/bin/activate python3 main.py
Navegue até a pasta do projeto e execute o Ritual de Banimento:
chmod +x uninstall.sh
./uninstall.sh
(Este script removerá o ambiente virtual, o ícone, o lançador do menu e perguntará se você deseja apagar as pastas videos_entrada e videos_saida.)
Configuração (config.ini)
Edite o arquivo config.ini na raiz do projeto para ajustar os parâmetros:
Ini, TOML
[Pastas]
input_dir = videos_entrada # Pasta onde a GUI procura vídeos
output_dir = videos_saida # Pasta onde os arquivos .txt são salvos
[Player]
# Opções de fallback para main_cli.py (se executado sem -f)
arquivo = videos_saida/Luna_feliz.txt
loop = sim # 'sim' ou 'nao'
[Conversor]
# Largura da animação ASCII (em caracteres)
target_width = 120
# Sensibilidade para detecção de bordas (0-255)
sobel_threshold = 100
# Proporção largura/altura do caractere da fonte do terminal
char_aspect_ratio = 0.45
# Mapeamento de brilho para caracteres (Escuro -> Claro)
LUMINANCE_RAMP = $@B8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'.
[ChromaKey]
# Valores HSV para o filtro (ajustados pelo Calibrador)
# H: 0-179, S: 0-255, V: 0-255
h_min = 35
h_max = 85
s_min = 40
s_max = 255
v_min = 40
v_max = 255
Dependências
Python 3.8+
- Bibliotecas Python (instaladas via pip no venv):
opencv-python
numpy
- Dependências do Sistema (instaladas via apt pelo install.sh):
python3-pip, python3-venv
python3-opencv (Interface OpenCV do sistema)
python3-gi, python3-gi-cairo, gir1.2-gtk-3.0 (Para a interface GTK)
desktop-file-utils, imagemagick (Para integração com o desktop)Este projeto está sob a licença GPLv3. Livre para usar, modificar e distribuir, desde que a liberdade seja mantida.