Add localized README files and update main README to expose them. Creates readme-translations/*.md (Arabic, German, Spanish, French, Hindi, Indonesian, Italian, Japanese, Polish, Portuguese, Russian, Turkish, Chinese) and adds a language list, README Translations table, and a "Contributing Translations" subsection to README.md so contributors can find and update localized docs.
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



