26 KiB
Un moderno downloader da YouTube con un'interfaccia PySide6 pulita.
Scarica video di qualsiasi qualità, estrai audio, recupera sottotitoli e altro ancora.
🌍 README Lingue
Inglese: EN | Indirizzo: AR | Tedesco: DE | Español: ES | Francese: FR | Nome: HI | Bahasa Indonesia: ID | Italiano: IT | 日本語: JA | Polacco: PL | Portoghese: PT | Russo: RU | Turchia: TR | Nome: ZH
Installazione • Caratteristiche • Utilizzo • Screenshot • Risoluzione dei problemi • Sponsor • Contribuendo
❓Perché YTSage?
YTSage è progettato per gli utenti che desiderano un downloader YouTube semplice ma potente. A differenza di altri strumenti, offre:
- Un'interfaccia PySide6 pulita e moderna
- Download con un clic per video, audio e sottotitoli
- Funzionalità avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist
- Modalità generica opzionale per i siti supportati da yt-dlp oltre YouTube
- Supporto multipiattaforma e facilità di installazione
✨Caratteristiche
| Caratteristiche principali | Funzionalità avanzate | Funzionalità extra |
|---|---|---|
| 🎥 Tabella dei formati | 🚫Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR |
| 🎵Estrazione audio | 📝 Seleziona e unisci più sottotitoli | 🔄 Aggiornamento automatico yt-dlp |
| ✨Interfaccia utente semplice | 💾 Salva descrizione e miniatura | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno |
| 📋 Supporto e selettore playlist | 🚀Limitatore di velocità | ⚙️ Comandi personalizzati |
| 📑 Incorpora capitoli | ✂️ Taglia le sezioni video | 🍪 Accedi con i cookie |
| 📜 Scarica Cronologia | 🔄 Rilascio Selezione canale | 🌐Supporto proxy |
| 🎚️ Conversione del formato audio | 🎬 Impostazioni formato video | 🆙 Scheda Aggiornamento integrata |
| 🌍 Modalità generica | ||
| 🌍 Localizzazione in 14 lingue |
🚀 Installazione
⚡ Installazione rapida (consigliata)
Installa YTSage da PyPI:
pip install ytsage
🔄 Aggiorna un'installazione esistente
pip install --upgrade ytsage
Quindi avvia l'app:
ytsage
📦 Eseguibili predefiniti
🪟 Finestre
| Formato | Descrizione |
|---|---|
| Programma di installazione standard | |
| Con FFmpeg in bundle | |
| Versione portatile, nessuna installazione richiesta | |
| Portatile con FFmpeg, zippato |
🛠️ Passaggi di installazione
- Programma di installazione EXE (
.exe): fare doppio clic sul file e seguire la procedura guidata di installazione. - Versione portatile (
.zip): estrai l'archivio nella posizione desiderata ed eseguiytsage.exe. - FFmpeg in bundle: scegli le versioni in bundle di FFmpeg se non hai FFmpeg installato sul tuo sistema.
🐧Linux
| Formato | Descrizione |
|---|---|
| Pacchetto Debian | |
| AppImage, portatile | |
| Pacchetto RPM | |
| Pacchetto Flatpack |
🛠️ Passaggi di installazione
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Fix missing dependencies if any - Giri/min (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: segui le istruzioni su Flathub o esegui:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Formato | Descrizione |
|---|---|
| Applicazione zippata per Apple Silicon | |
| Programma di installazione dell'immagine disco per Apple Silicon |
🛠️ Passaggi di installazione
- DMG Installer (
.dmg): fai doppio clic per montare, quindi trascinaYTSage.appnella cartella Applicazioni. - Archivio app (
.zip): estrai il file zip e spostaYTSage.appnella cartella Applicazioni.
Nota: se riscontri l'errore "L'app è danneggiata", consulta macOS troubleshooting section di seguito.
💻 Installazione manuale dalla fonte
1. Clonare il repository
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Installa le dipendenze
⚡ Con uv
uv pip install .
📦 Oppure con pip standard
pip install .
3. Eseguire l'applicazione
python -m ytsage.main
📸 Schermate
📖 Utilizzo
🎯 Utilizzo di base
- Avvia YTSage
- Incolla l'URL di YouTube (o utilizza il pulsante "Incolla URL")
- Fai clic su "Analizza"
- Seleziona formato:
Videoper i download di videoAudio Onlyper l'estrazione audio
- Scegli le opzioni:
- Abilita i sottotitoli e seleziona la lingua
- Abilita l'unione dei sottotitoli
- Salva miniatura
- Rimuovere i segmenti dello sponsor
- Salva descrizione
- Incorpora capitoli
- Seleziona directory di output
- Fai clic su "Scarica"
💡 La directory di download predefinita è la cartella "Download" dell'utente.
📋 Download della playlist
- Incolla l'URL della playlist
- Fai clic su "Analizza"
- Seleziona i video dal selettore della playlist (facoltativo, l'impostazione predefinita è tutti)
- Scegli il formato/la qualità desiderata
- Fai clic su "Scarica"
💡 L'applicazione gestisce automaticamente la coda di download
🌍 Modalità generica per siti non YouTube
Utilizza la modalità generica quando desideri che YTSage accetti URL da siti supportati da yt-dlp, come Dailymotion, CBC Gem, TikTok e altri.
Come usarlo:
- Apri
Download Settings. - Abilita
Generic Mode. - Incolla un video o un URL di playlist non YouTube supportato.
- Fare clic su
Analyze. - Scegli un formato e scarica come al solito.
Note:
- La modalità generica modifica solo la convalida dell'URL all'interno di YTSage. Il sito di destinazione deve essere ancora supportato dalla versione yt-dlp installata.
- Alcuni siti richiedono cookie, una sessione di accesso, un proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore.
- Se un sito non funziona, aggiorna prima yt-dlp dalla scheda di aggiornamento integrata prima di segnalare il problema.
🧰 Opzioni multimediali e di download
- Opzioni sottotitoli: Filtra le lingue e incorpora i sottotitoli nel file video
- Unione sottotitoli: unisci i sottotitoli nel file video per i sottotitoli hardcoded
- Salva descrizione: salva la descrizione del video come file di testo
- Salva miniatura: salva la miniatura del video come file immagine
- Incorpora capitoli: incorpora indicatori di capitolo come metadati per lettori video compatibili
- Rimuovi segmenti di sponsor: rimuovi i segmenti di sponsor dal video utilizzando SponsorBlock
- Taglia video: scarica solo parti specifiche di un video specificando gli intervalli di tempo nel formato
HH:MM:SS
⚙️ Impostazioni file e output
- Limitatore di velocità: Limita la velocità di download, ad esempio
500Kper 500 KB/s - Salva percorso di download: salva il percorso di download predefinito per download futuri. Disponibile in Impostazioni di download → Percorso di download.
- Formato nome file di output: Personalizza il formato del nome file di output utilizzando variabili come
%(title)s,%(uploader)se%(resolution)s. Disponibile in Impostazioni download → Formato nome file. - Forza formato output: forza i download dei video in un formato contenitore specifico come
mp4,webmomkv. Disponibile in Impostazioni download → Impostazioni formato output. - Conversione del formato audio: Converti i download solo audio nei formati preferiti come
AAC,MP3,FLAC,WAV,Opus,M4A,Vorbis, oBest. Disponibile in Impostazioni download → Impostazioni formato audio.
🌐 Accesso e Rete
- Accedi con i cookie: Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati.
Come usarlo:
- Consigliato: utilizza l'opzione
Extract cookies from browserintegrata nell'app, quindi seleziona il browser e, facoltativamente, un profilo. - In alternativa, estrarre manualmente i cookie:
un. Esporta i cookie dal tuo browser utilizzando un'estensione come cookie-editor
b. Copia i cookie in formato Netscape
c. Crea un file denominato
cookies.txte incollaci i cookie d. Seleziona il filecookies.txtnell'app
- Consigliato: utilizza l'opzione
- Supporto proxy: utilizza un server proxy per i download, ad esempio
http://<proxy-server>:<port> - Modalità generica: consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da Impostazioni download → Modalità generica.
🛠️ Attrezzi e Manutenzione
- Comandi personalizzati: accedi alle funzionalità avanzate di yt-dlp tramite argomenti della riga di comando
- Scheda Aggiornamento: gestisci gli strumenti di aggiornamento integrati da un'unica posizione in Opzioni personalizzate:
- Aggiornamenti yt-dlp: controlla gli aggiornamenti e passa tra i canali di rilascio stabile e notturno
- Controllo versione FFmpeg: controlla la tua versione di FFmpeg e apri le guide di installazione
- Aggiornamenti Deno: controlla e aggiorna il runtime Deno
- Rilevamento FFmpeg/yt-dlp/Deno: rileva automaticamente i percorsi e le versioni di FFmpeg, yt-dlp e Deno dalla finestra di dialogo Informazioni.
- Cronologia download: visualizza i download precedenti con miniature e stati dal pulsante Cronologia.
🌍 Localizzazione
YTSage supporta 14 lingue per l'accessibilità in tutto il mondo. Seleziona la tua lingua preferita da Opzioni personalizzate → Lingua.
Lingue supportate
| Lingua | Codice | Lingua | Codice |
|---|---|---|---|
| 🇺🇸 Inglese | en |
🇪🇸Spagnolo | es |
| 🇸🇦 Arabo | ar |
🇫🇷 Francese | fr |
| 🇩🇪 Tedesco | de |
🇮🇳 Hindi | hi |
| 🇮🇩 Indonesiano | id |
🇮🇹Italiano | it |
| 🇯🇵Giapponese | ja |
🇵🇱 Polacco | pl |
| 🇧🇷 Portoghese | pt |
🇷🇺 Russo | ru |
| 🇹🇷 Turco | tr |
🇨🇳Cinese | zh |
Traduzioni README
| Lingua | File | Lingua | File |
|---|---|---|---|
| 🇺🇸 Inglese | README.md | 🇪🇸Spagnolo | README.es.md |
| 🇸🇦 Arabo | README.ar.md | 🇫🇷 Francese | README.fr.md |
| 🇩🇪 Tedesco | README.de.md | 🇮🇳 Hindi | README.hi.md |
| 🇮🇩 Indonesiano | README.id.md | 🇮🇹Italiano | README.it.md |
| 🇯🇵Giapponese | README.ja.md | 🇵🇱 Polacco | README.pl.md |
| 🇧🇷 Portoghese | README.pt.md | 🇷🇺 Russo | README.ru.md |
| 🇹🇷 Turco | README.tr.md | 🇨🇳Cinese | README.zh.md |
💡 Vuoi contribuire con una traduzione? Dai un'occhiata alla sezione Contributing per aiutarci ad aggiungere altre lingue!
🛠️ Risoluzione dei problemi
Fai clic per visualizzare problemi e soluzioni comuni
- La tabella di formato non viene visualizzata: Aggiorna yt-dlp alla versione più recente e passa a yt-dlp ogni notte.
- Download non riuscito: controlla la tua connessione Internet e assicurati che il video sia disponibile.
- Errori di download specifici:
- Video privati: utilizza l'autenticazione tramite cookie per accedere ai contenuti privati.
- Contenuti soggetti a limiti di età: accedi all'account YouTube per visualizzare video soggetti a limiti di età.
- Video geo-bloccati: valuta la possibilità di utilizzare una VPN per aggirare le restrizioni regionali.
- Video rimossi/eliminati: il video non è più disponibile su YouTube.
- Streaming live: Gli streaming live non possono essere scaricati; attendere la fine dello streaming.
- Errori di rete: controlla la connessione Internet e riprova.
- URL non validi: assicurati che l'URL sia corretto e provenga da una piattaforma supportata.
- Contenuti premium: richiede l'abbonamento a YouTube Premium.
- Blocchi dovuti al copyright: Il contenuto è bloccato a causa di restrizioni sul copyright.
- Separare i file video e audio dopo il download: Ciò accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire flussi video e audio di alta qualità.
- Soluzione: assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file
YTSage-v<version>-ffmpeg.exe, fornito in bundle con FFmpeg.
- Soluzione: assicurati che FFmpeg sia installato e accessibile nel PATH del tuo sistema. Per gli utenti Windows, l'opzione più semplice è scaricare il file
🛡️ Avviso Windows Defender/Antivirus
Alcuni software antivirus potrebbero contrassegnare i file .exe come falsi positivi. Questa è una limitazione nota delle applicazioni in pacchetto.
Perché ciò accade:
- L'euristica dell'antivirus può identificare erroneamente gli eseguibili compressi come sospetti
Alternative sicure:
- ✅ Utilizza installazione pip:
pip install ytsage(consigliato) - ✅ Crea dal codice sorgente: seguendo questo guide
- ✅ Autorizza l'applicazione nel tuo software antivirus
🍎 macOS: "L'app è danneggiata e non può essere aperta"
Se visualizzi questo errore su macOS Sonoma o versioni successive, devi rimuovere l'attributo quarantena.
- Apri Terminale (puoi trovarlo utilizzando Spotlight).
- Digita il seguente comando ma non premere ancora Invio. Assicurati di includere lo spazio alla fine:
xattr -d com.apple.quarantine - Trascina il file
YTSage.appdalla finestra del Finder e rilascialo direttamente nella finestra Terminale. Questo incollerà automaticamente il percorso file corretto. - Premere Invio per eseguire il comando.
- Prova ad aprire nuovamente YTSage.app. Ora dovrebbe avviarsi correttamente.
Posizioni di configurazione (avanzate)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsor
Se YTSage ti fa risparmiare tempo, valuta la possibilità di sponsorizzare il progetto. La sponsorizzazione aiuta a coprire i tempi di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri.
- Sponsor GitHub: https://github.com/sponsors/oop7
- Il collegamento allo sponsor è disponibile anche direttamente all'interno dell'app dalla finestra di dialogo Informazioni.
👥 Contribuire
Diamo il benvenuto ai contributi! Ecco come puoi aiutare:
- 🍴 Effettua il fork del repository
- 🌿 Crea il tuo ramo di funzionalità:
git checkout -b feature/AmazingFeature
- 💾 Applica le tue modifiche:
git commit -m 'Add some AmazingFeature'
- 📤 Spingere verso il ramo:
git push origin feature/AmazingFeature
- 🔄 Apri una richiesta di pull
🌍 Contribuire alle traduzioni
- Aggiorna il file README localizzato corrispondente (ad esempio
README.es.md) - Mantieni sincronizzate le stringhe dell'app modificando
ytsage/languages/<code>.json - Se manca la tua lingua, inizia da
README.mde creaREADME.<code>.md
📂 Struttura del progetto
YTSage - Struttura del progetto
Questo documento descrive la struttura di cartelle organizzata di YTSage.
📁 Struttura del progetto
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
⭐️ Storia delle stelle
📜 Licenza
Questo progetto è concesso in licenza con la licenza MIT: per i dettagli vedere il file LICENSE.
🙏Ringraziamenti
Mostra Ringraziamenti
Un sentito ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo un issue per suggerire un miglioramento o segnalare un bug.
| Componenti principali | |
|---|---|
| yt-dlp | Scarica motore |
| FFmpeg | Elaborazione multimediale |
| Deno | Runtime per integrazione con yt-dlp |
| Librerie e framework | |
| PySide6 | Framework GUI |
| Cuscino | Elaborazione immagini |
| richieste | Richieste HTTP |
| imballaggio | Gestione versioni e pacchetti |
| ribasso | Rendering riduzione |
| loguru | Registrazione |
| Risorse e contributori | |
| Nuova notifica 09 di Universfield | Suono di notifica |
| viru185 | Codice Contributore |
⚠️ Disclaimer
Questo strumento è solo per uso personale. Rispetta i termini di servizio di YouTube e i diritti dei creatori di contenuti.
Realizzato con ❤️ da oop7



