26 KiB
Um downloader moderno do YouTube com uma interface PySide6 limpa.
Baixe vídeos em qualquer qualidade, extraia áudio, busque legendas e muito mais.
🌍 LEIA-ME Idiomas
Inglês: EN | Nome: AR | Alemão: DE | Espanhol: ES | Francês: FR | Nome: HI | Bahasa Indonésia: ID | Italiano: IT | Nome do usuário: JA | Polaco: PL | Português: PT | Russo: RU | Turco: TR | 中文: ZH
Instalação • Recursos • Uso • Capturas de tela • Solução de problemas • Patrocinador • Contribuindo
❓ Por que YTSage?
YTSage foi projetado para usuários que desejam um baixador de YouTube simples, mas poderoso. Ao contrário de outras ferramentas, oferece:
- Uma interface PySide6 limpa e moderna
- Downloads com um clique para vídeo, áudio e legendas
- Recursos avançados como SponsorBlock, mesclagem de legendas e seleção de playlist
- Modo genérico opcional para sites compatíveis com yt-dlp além do YouTube
- Suporte multiplataforma e fácil instalação
✨ Recursos
| Recursos principais | Recursos Avançados | Recursos extras |
|---|---|---|
| 🎥 Tabela de Formatos | 🚫 Integração SponsorBlock | 🎞️ Tela FPS/HDR |
| 🎵 Extração de Áudio | 📝 Seleção e mesclagem de múltiplas legendas | 🔄 Atualização automática do yt-dlp |
| ✨ UI simples | 💾 Salvar descrição e miniatura | 🛠️ Detecção de FFmpeg/yt-dlp/Deno |
| 📋 Suporte e seletor de lista de reprodução | 🚀 Limitador de velocidade | ⚙️ Comandos personalizados |
| 📑 Incorporar capítulos | ✂️ Cortar seções de vídeo | 🍪 Login com Cookies |
| 📜 Histórico de downloads | 🔄 Seleção de canal de lançamento | 🌐 Suporte a proxy |
| 🎚️ Conversão de formato de áudio | 🎬 Configurações de formato de vídeo | 🆙 Guia Atualizador integrado |
| 🌍 Modo Genérico | ||
| 🌍 Localização em 14 idiomas |
🚀 Instalação
⚡ Instalação rápida (recomendado)
Instale YTSage do PyPI:
pip install ytsage
🔄 Atualizar uma instalação existente
pip install --upgrade ytsage
Em seguida, inicie o aplicativo:
ytsage
📦 Executáveis pré-construídos
🪟 Janelas
| Formato | Descrição |
|---|---|
| Instalador padrão | |
| Com FFmpeg incluído | |
| Versão portátil, sem necessidade de instalação | |
| Portátil com FFmpeg, compactado |
🛠️ Etapas de instalação
- EXE Installer (
.exe): Clique duas vezes no arquivo e siga o assistente de configuração. - Versão portátil (
.zip): Extraia o arquivo para o local desejado e executeytsage.exe. - FFmpeg Bundled: Escolha as versões empacotadas do FFmpeg se você não tiver o FFmpeg instalado em seu sistema.
🐧Linux
| Formato | Descrição |
|---|---|
| Pacote Debian | |
| AppImage, portátil | |
| Pacote RPM | |
| Pacote Flatpak |
🛠️ Etapas de instalação
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Fix missing dependencies if any - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Siga as instruções no Flathub ou execute:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Formato | Descrição |
|---|---|
| Aplicativo compactado para Apple Silicon | |
| Instalador de imagem de disco para Apple Silicon |
🛠️ Etapas de instalação
- Instalador DMG (
.dmg): Clique duas vezes para montar e arrasteYTSage.apppara a pasta Aplicativos. - Arquivo de aplicativos (
.zip): Extraia o zip e movaYTSage.apppara a pasta Aplicativos.
Observação: se você encontrar um erro "O aplicativo está danificado", consulte macOS troubleshooting section abaixo.
💻 Instalação manual da fonte
1. Clone o repositório
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Instalar dependências
⚡ Com UV
uv pip install .
📦 Ou com pip padrão
pip install .
3. Execute o aplicativo
python -m ytsage.main
📸 Capturas de tela
📖 Uso
🎯 Uso Básico
- Inicie o YTSage
- Colar URL do YouTube (ou usar o botão "Colar URL")
- Clique em "Analisar"
- Selecione Formato:
Videopara downloads de vídeosAudio Onlypara extração de áudio
- Escolha Opções:
- Ative legendas e selecione o idioma
- Ativar mesclagem de legendas
- Salvar miniatura
- Remover segmentos de patrocinadores
- Salvar descrição
- Incorporar capítulos
- Selecione Diretório de Saída
- Clique em "Baixar"
💡 O diretório de download padrão é a pasta "Downloads" do usuário.
📋 Baixar lista de reprodução
- Colar URL da lista de reprodução
- Clique em "Analisar"
- Selecione vídeos no seletor de playlist (opcional, o padrão é todos)
- Escolha o formato/qualidade desejado
- Clique em "Baixar"
💡 O aplicativo gerencia automaticamente a fila de download
🌍 Modo genérico para sites que não são do YouTube
Use o modo genérico quando quiser que o YTSage aceite URLs de sites suportados pelo yt-dlp, como Dailymotion, CBC Gem, TikTok e outros.
Como usar:
- Abra
Download Settings. - Ative
Generic Mode. - Cole um URL de vídeo ou lista de reprodução compatível que não seja do YouTube.
- Clique em
Analyze. - Escolha um formato e baixe normalmente.
Notas:
- O Modo Genérico altera apenas a validação de URL dentro do YTSage. O site de destino ainda deve ser compatível com a versão yt-dlp instalada.
- Alguns sites exigem cookies, uma sessão de login, um proxy ou argumentos yt-dlp extras, dependendo do extrator.
- Se um site falhar, atualize o yt-dlp primeiro na guia do atualizador integrado antes de relatar o problema.
🧰 Opções de mídia e download
- Opções de legenda: Filtre idiomas e incorpore legendas no arquivo de vídeo
- Mesclagem de legendas: Mesclar legendas no arquivo de vídeo para legendas codificadas
- Salvar descrição: Salve a descrição do vídeo como um arquivo de texto
- Salvar miniatura: Salve a miniatura do vídeo como um arquivo de imagem
- Incorporar capítulos: Incorpore marcadores de capítulo como metadados para players de vídeo compatíveis
- Remover segmentos de patrocinadores: Remova segmentos de patrocinadores do vídeo usando SponsorBlock
- Cortar vídeo: baixe apenas partes específicas de um vídeo especificando intervalos de tempo no formato
HH:MM:SS
⚙️ Configurações de saída e arquivo
- Limitador de velocidade: Limite a velocidade de download, por exemplo
500Kpara 500 KB/s - Salvar caminho de download: Salve o caminho de download padrão para downloads futuros. Disponível em Configurações de download → Caminho de download.
- Formato do nome do arquivo de saída: Personalize o formato do nome do arquivo de saída usando variáveis como
%(title)s,%(uploader)se%(resolution)s. Disponível em Configurações de download → Formato do nome do arquivo. - Forçar formato de saída: Força downloads de vídeo em um formato de contêiner específico, como
mp4,webmoumkv. Disponível em Configurações de download → Configurações de formato de saída. - Conversão de formato de áudio: Converta downloads somente de áudio para formatos preferidos, como
AAC,MP3,FLAC,WAV,Opus,M4A,VorbisouBest. Disponível em Configurações de download → Configurações de formato de áudio.
🌐 Acesso e Rede
- Login com Cookies: Faça login no YouTube usando cookies para acessar conteúdo privado.
Como usar:
- Recomendado: Use a opção
Extract cookies from browserintegrada no aplicativo e selecione seu navegador e, opcionalmente, um perfil. - Como alternativa, extraia os cookies manualmente:
uma. Exporte cookies do seu navegador usando uma extensão como cookie-editor
b. Copie os cookies no formato Netscape
c. Crie um arquivo chamado
cookies.txte cole os cookies nele d. Selecione o arquivocookies.txtno aplicativo
- Recomendado: Use a opção
- Suporte a proxy: Use um servidor proxy para downloads, por exemplo
http://<proxy-server>:<port> - Modo genérico: permite que o YTSage analise e faça download de sites que não sejam do YouTube suportados pelo yt-dlp. Habilite-o em Configurações de download → Modo genérico.
🛠️ Ferramentas e Manutenção
- Comandos personalizados: Acesse recursos avançados do yt-dlp por meio de argumentos de linha de comando
- Guia Atualizador: Gerencie ferramentas de atualização integradas em um só lugar nas Opções Personalizadas:
- Atualizações do yt-dlp: verifique se há atualizações e alterne entre canais de lançamento estável e noturno
- Verificador de versão do FFmpeg: Verifique sua versão do FFmpeg e abra os guias de instalação
- Atualizações do Deno: Verifique e atualize o tempo de execução do Deno
- Detecção de FFmpeg/yt-dlp/Deno: Detecta automaticamente caminhos e versões de FFmpeg, yt-dlp e Deno na caixa de diálogo Sobre.
- Histórico de downloads: Veja downloads anteriores com miniaturas e status no botão Histórico.
🌍 Localização
YTSage oferece suporte a 14 idiomas para acessibilidade mundial. Selecione seu idioma preferido em Opções personalizadas → Idioma.
Idiomas Suportados
| Idioma | Código | Idioma | Código |
|---|---|---|---|
| 🇺🇸 Inglês | en |
🇪🇸 Espanhol | es |
| 🇸🇦 Árabe | ar |
🇫🇷 Francês | fr |
| 🇩🇪 Alemão | de |
🇮🇳 Hindi | hi |
| 🇮🇩 Indonésio | id |
🇮🇹 Italiano | it |
| 🇯🇵 Japonês | ja |
🇵🇱 Polonês | pl |
| 🇧🇷 Português | pt |
🇷🇺 Russo | ru |
| 🇹🇷 Turco | tr |
🇨🇳 Chinês | zh |
LEIA-ME Traduções
| Idioma | Arquivo | Idioma | Arquivo |
|---|---|---|---|
| 🇺🇸 Inglês | README.md | 🇪🇸 Espanhol | README.es.md |
| 🇸🇦 Árabe | README.ar.md | 🇫🇷 Francês | README.fr.md |
| 🇩🇪 Alemão | README.de.md | 🇮🇳 Hindi | README.hi.md |
| 🇮🇩 Indonésio | README.id.md | 🇮🇹 Italiano | README.it.md |
| 🇯🇵 Japonês | README.ja.md | 🇵🇱 Polonês | README.pl.md |
| 🇧🇷 Português | README.pt.md | 🇷🇺 Russo | README.ru.md |
| 🇹🇷 Turco | README.tr.md | 🇨🇳 Chinês | README.zh.md |
💡 Quer contribuir com uma tradução? Confira a seção Contributing para nos ajudar a adicionar mais idiomas!
🛠️ Solução de problemas
Clique para ver problemas e soluções comuns
- Tabela de formato não exibida: Atualize yt-dlp para a versão mais recente e mude para yt-dlp todas as noites.
- Falha no download: Verifique sua conexão com a Internet e certifique-se de que o vídeo esteja disponível.
- Erros específicos de download:
- Vídeos privados: Use autenticação de cookies para acessar conteúdo privado.
- Conteúdo com restrição de idade: Faça login na conta do YouTube para visualizar vídeos com restrição de idade.
- Vídeos bloqueados geograficamente: considere usar uma VPN para contornar restrições regionais.
- Vídeos removidos/excluídos: O vídeo não está mais disponível no YouTube.
- Transmissões ao vivo: As transmissões ao vivo não podem ser baixadas; espere o fluxo terminar.
- Erros de rede: Verifique sua conexão com a Internet e tente novamente.
- URLs inválidos: certifique-se de que o URL esteja correto e seja de uma plataforma compatível.
- Conteúdo Premium: Requer assinatura do YouTube Premium.
- Bloqueios de direitos autorais: O conteúdo está bloqueado devido a restrições de direitos autorais.
- Arquivos de vídeo e áudio separados após o download: Isso acontece quando o FFmpeg está ausente ou não é detectado. YTSage requer FFmpeg para mesclar fluxos de vídeo e áudio de alta qualidade.
- Solução: Certifique-se de que o FFmpeg esteja instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo
YTSage-v<version>-ffmpeg.exe, que vem junto com o FFmpeg.
- Solução: Certifique-se de que o FFmpeg esteja instalado e acessível no PATH do seu sistema. Para usuários do Windows, a opção mais fácil é baixar o arquivo
🛡️ Aviso do Windows Defender / Antivírus
Alguns softwares antivírus podem sinalizar os arquivos .exe como falsos positivos. Esta é uma limitação conhecida dos aplicativos empacotados.
Por que isso acontece:
- A heurística antivírus pode identificar erroneamente executáveis compactados como suspeitos
Alternativas seguras:
- ✅ Use instalação pip:
pip install ytsage(recomendado) - ✅ Construir a partir da fonte: seguindo isto guide
- ✅ Coloque o aplicativo na lista de permissões em seu software antivírus
🍎 macOS: "O aplicativo está danificado e não pode ser aberto"
Se você vir esse erro no macOS Sonoma ou mais recente, será necessário remover o atributo de quarentena.
- Abra o Terminal (você pode encontrá-lo usando o Spotlight).
- Digite o seguinte comando mas não pressione Enter ainda. Certifique-se de incluir o espaço no final:
xattr -d com.apple.quarantine - Arraste o arquivo
YTSage.appda janela do Finder e solte-o diretamente na janela do Terminal. Isso colará automaticamente o caminho correto do arquivo. - Pressione Enter para executar o comando.
- Tente abrir YTSage.app novamente. Agora ele deve iniciar corretamente.
Locais de configuração (avançado)
- Janelas:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Patrocinador
Se o YTSage economizar seu tempo, considere patrocinar o projeto. O patrocínio ajuda a cobrir o tempo de desenvolvimento, testes em plataformas e melhorias futuras.
- Patrocinadores do GitHub: https://github.com/sponsors/oop7
- O link do patrocinador também está disponível diretamente no aplicativo, na caixa de diálogo Sobre.
👥 Contribuindo
Aceitamos contribuições! Veja como você pode ajudar:
- 🍴 Bifurque o repositório
- 🌿 Crie seu branch de recursos:
git checkout -b feature/AmazingFeature
- 💾 Confirme suas alterações:
git commit -m 'Add some AmazingFeature'
- 📤 Empurre para o galho:
git push origin feature/AmazingFeature
- 🔄 Abra uma solicitação pull
🌍 Contribuindo com traduções
- Atualize o arquivo README localizado correspondente (por exemplo
README.es.md) - Mantenha as strings do aplicativo sincronizadas editando
ytsage/languages/<code>.json - Se o seu idioma estiver faltando, comece em
README.mde crieREADME.<code>.md
📂 Estrutura do Projeto
YTSage - Estrutura do Projeto
Este documento descreve a estrutura de pastas organizada do YTSage.
📁 Estrutura do Projeto
YTSage/
├── 📁 .github/ # GitHub configuration
│ ├── 📁 ISSUE_TEMPLATE/ # Issue templates
│ │ └── 🐛-bug-report.md # Bug report template
│ ├─── 📁 workflows/ # GitHub Actions workflows
│ │ ├── build-linux.yml # Linux build workflow
│ │ ├── build-macos.yml # macOS build workflow
│ │ │── build-windows.yml # Windows build workflow
| | └── release-all.yml # Master release workflow
│ └── 📄 CI_CD_README.md # CI/CD documentation
├── 📁 branding/ # Branding assets (Screenshots, SVGs)
│ ├── 📁 icons/ # Application icons
│ ├── 📁 screenshots/ # Screenshots for documentation
│ └── 📁 svg/ # SVG assets
├── 📄 LICENSE # License file
├── 📄 pyproject.toml # Project metadata and dependencies
├── 📄 README.md # Project documentation
├── 📄 requirements.txt # Python dependencies (dev)
└── 📁 ytsage/ # Source package
├── 📁 assets/ # Runtime assets
│ ├── 📁 Icon/ # Application icons
│ └── 📁 sound/ # Audio files
├── 📁 languages/ # Localization files
│ ├── 📄 ar.json # Arabic translation
│ ├── 📄 de.json # German translation
│ ├── 📄 en.json # English translation
│ └── ... # Other languages
├── 📁 core/ # Core business logic
│ ├── 📄 __init__.py # Core package init
│ ├── 📄 ytsage_deno.py # Deno integration
│ ├── 📄 ytsage_downloader.py # Download functionality
│ ├── 📄 ytsage_ffmpeg.py # FFmpeg integration
│ ├── 📄 ytsage_utils.py # Utility functions
│ └── 📄 ytsage_yt_dlp.py # yt-dlp integration
├── 📁 gui/ # User interface components
│ ├── 📄 __init__.py # GUI package init
│ ├── 📄 ytsage_gui_main.py # Main application window
│ └── 📁 ytsage_gui_dialogs/ # Dialog classes
├── 📁 utils/ # Utility modules
│ ├── 📄 __init__.py # Utils package init
│ ├── 📄 ytsage_config_manager.py # Configuration management
│ └── 📄 ytsage_logger.py # Logging utilities
├── 📄 __init__.py # Package entry point
└── 📄 main.py # Main execution script
⭐️ História da estrela
📜 Licença
Este projeto está licenciado sob a licença MIT - consulte o arquivo LICENSE para obter detalhes.
🙏 Agradecimentos
Mostrar agradecimentos
Um sincero obrigado a todos que contribuíram para este projeto abrindo um problema para sugerir uma melhoria ou relatar um bug.
| Componentes principais | |
|---|---|
| yt-dlp | Mecanismo de download |
| FFmpeg | Processamento de mídia |
| Deno | Tempo de execução para integração com yt-dlp |
| Bibliotecas e Estruturas | |
| PySide6 | Estrutura GUI |
| Travesseiro | Processamento de imagem |
| solicitações | Solicitações HTTP |
| embalagem | Manuseio de versões e pacotes |
| remarcação | Renderização de redução |
| loguru | Registro |
| Ativos e Contribuintes | |
| Nova Notificação 09 por Universfield | Som de notificação |
| viru185 | Colaborador de código |
⚠️ Isenção de responsabilidade
Esta ferramenta é apenas para uso pessoal. Respeite os termos de serviço do YouTube e os direitos dos criadores de conteúdo.
Feito com ❤️ por oop7



