Update links in readme-translations/*.md so they point to the project root (prepend ../). Adjusted references for README.md, .github/CI_CD_README.md and LICENSE across the translation files so links resolve correctly from the readme-translations directory.
26 KiB
Un downloader YouTube moderno con un'interfaccia PySide6 pulita.
Scarica video in qualsiasi qualità, estrai audio, ottieni sottotitoli e molto altro.
🌍 Lingue del README
Inglese: EN | Arabo: AR | Tedesco: DE | Spagnolo: ES | Francese: FR | Hindi: HI | Indonesiano: ID | Italiano: IT | Giapponese: JA | Polacco: PL | Portoghese: PT | Russo: RU | Turco: TR | Cinese: ZH
Installazione • Caratteristiche • Utilizzo • Screenshot • Risoluzione dei problemi • Sponsor • Contribuire
❓ Perché YTSage?
YTSage è progettato per gli utenti che desiderano un downloader YouTube semplice ma potente. A differenza di altri strumenti, offre:
- Un'interfaccia PySide6 moderna e pulita
- Download di video, audio e sottotitoli con un solo clic
- Funzioni avanzate come SponsorBlock, fusione dei sottotitoli e selezione della playlist
- Modalità Generica opzionale per siti diversi da YouTube supportati da yt-dlp
- Supporto multipiattaforma e installazione semplice
✨ Caratteristiche
| Funzioni Base | Funzioni Avanzate | Funzioni Extra |
|---|---|---|
| 🎥 Tabella Formati | 🚫 Integrazione SponsorBlock | 🎞️ Visualizzazione FPS/HDR |
| 🎵 Estrazione Audio | 📝 Selezione e Fusione Sottotitoli | 🔄 Aggiornamento automatico yt-dlp |
| ✨ Interfaccia Utente Semplice | 💾 Salva Descrizione e Anteprima | 🛠️ Rilevamento FFmpeg/yt-dlp/Deno |
| 📋 Supporto e Selettore Playlist | 🚀 Limitatore di Velocità | ⚙️ Comandi Personalizzati |
| 📑 Integrazione Capitoli | ✂️ Ritaglio Sezioni Video | 🍪 Login tramite Cookie |
| 📜 Cronologia Download | 🔄 Scelta del Canale di Rilascio | 🌐 Supporto Proxy |
| 🎚️ Conversione Formato Audio | 🎬 Impostazioni Formato Video | 🆙 Tab Aggiornamento Integrato |
| 🌍 Modalità Generica | 🔊 Normalizzazione Audio (EBU R128) | 🌍 Localizzazione in 14 lingue |
| 💾 Esportazione Playlist | ⚙️ Qualità e Sottotitoli Predefiniti |
🚀 Installazione
⚡ Installazione Rapida (Consigliata)
Installa YTSage tramite PyPI:
pip install ytsage
🔄 Aggiornare un'installazione esistente
pip install --upgrade ytsage
Quindi esegui l'applicazione:
ytsage
📦 Eseguibili Pre-compilati (Executable)
🪟 Windows
| Formato | Descrizione |
|---|---|
| Installer Standard | |
| Include FFmpeg | |
| Versione Portable, nessuna installazione richiesta | |
| Portable con FFmpeg, compresso (ZIP) |
🛠️ Passaggi per l'installazione
- Installer EXE (
.exe): Fare doppio clic sul file e seguire la procedura guidata. - Versione Portable (
.zip): Estrarre l'archivio nella posizione desiderata ed eseguireytsage.exe. - FFmpeg integrato: Se non hai FFmpeg sul tuo sistema, scegli le versioni con FFmpeg integrato.
🐧 Linux
| Formato | Descrizione |
|---|---|
| Pacchetto Debian | |
| AppImage, Portable | |
| Pacchetto RPM | |
| Bundle Flatpak |
🛠️ Passaggi per l'installazione
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Se necessario per correggere le dipendenze mancanti - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - AppImage (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Seguire le istruzioni su Flathub o eseguire:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Formato | Descrizione |
|---|---|
| App ZIP per Apple Silicon | |
| Installer Disk Image per Apple Silicon |
🛠️ Passaggi per l'installazione
- Installer DMG (
.dmg): Fare doppio clic per montare, quindi trascinareYTSage.appnella cartella Applicazioni. - Archivio App (
.zip): Estrarre lo ZIP e spostareYTSage.appnella cartella Applicazioni.
Nota: Se ricevi l'errore "L'app è danneggiata", consulta la sezione Risoluzione dei problemi macOS di seguito.
💻 Installazione manuale dai sorgenti
1. Clonare il repository
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Installare le dipendenze
⚡ Con uv
uv pip install .
📦 O con pip standard
pip install .
3. Eseguire l'applicazione
python -m ytsage.main
📸 Screenshot
📖 Utilizzo
🎯 Utilizzo Base
- Avvia YTSage
- Incolla un URL di YouTube (o usa il pulsante "Incolla URL")
- Clicca su "Analizza"
- Scegli il formato:
Videoper il download del videoSolo Audioper l'estrazione dell'audio
- Seleziona le opzioni:
- Abilita i sottotitoli e scegli la lingua
- Abilita la fusione dei sottotitoli
- Salva l'anteprima (thumbnail)
- Rimuovi sezioni sponsor
- Salva la descrizione
- Incorpora i capitoli
- Scegli la directory di destinazione
- Clicca su "Download"
💡 La directory di download predefinita è la cartella "Download" dell'utente.
📋 Download Playlist
- Incolla l'URL della playlist
- Clicca su "Analizza"
- Seleziona i video dal selettore (opzionale, tutti per impostazione predefinita)
- Scegli il formato/qualità desiderati
- Clicca su "Download"
💡 L'applicazione gestisce automaticamente la coda di download e puoi esportare le voci della playlist come file
.txt,.csv,.m3uo.json.
🌍 Modalità Generica per siti non YouTube
Usa la Modalità Generica quando vuoi che YTSage accetti URL da siti supportati da yt-dlp come Dailymotion, CBC Gem, TikTok e altri.
Come usarla:
- Apri
Impostazioni Download. - Abilita
Modalità Generica. - Incolla un URL di un video o di una playlist supportata che non sia YouTube.
- Clicca su
Analizza. - Scegli un formato e scarica normalmente.
Note:
- La Modalità Generica cambia solo la validazione dell'URL all'interno di YTSage. Il sito di destinazione deve essere comunque supportato dalla versione di yt-dlp installata.
- Alcuni siti richiedono cookie, login, proxy o argomenti yt-dlp aggiuntivi a seconda dell'estrattore.
- Se un sito fallisce, aggiorna yt-dlp dal tab di aggiornamento integrato prima di segnalare il problema.
🧰 Opzioni Media e Download
- Opzioni Sottotitoli: Filtra le lingue e incorpora i sottotitoli nel file video.
- Fusione Sottotitoli: Fonde i sottotitoli nel file video per sottotitoli permanenti (hardcoded).
- Salva Descrizione: Salva la descrizione del video come file di testo.
- Salva Anteprima: Salva l'anteprima (thumbnail) del video come file immagine.
- Incorpora Capitoli: Include i segnaposti dei capitoli come metadati per i lettori video compatibili.
- Rimuovi Sezioni Sponsor: Usa SponsorBlock per rimuovere i segmenti sponsorizzati dal video.
- Ritaglia Video: Scarica solo parti specifiche del video specificando un intervallo di tempo nel formato
HH:MM:SS.
⚙️ Impostazioni Output e File
- Limitatore di Velocità: Limita la velocità di download, ad esempio
500Kper 500 KB/s. - Salva Percorso Download: Salva il percorso di download predefinito per i download futuri. Disponibile in Impostazioni Download → Percorso Download.
- Risoluzione Video Predefinita: Imposta la risoluzione video preferita per la selezione automatica (es. 1080p, 720p). Disponibile in Impostazioni Download → Risoluzione Video Predefinita.
- Lingue Sottotitoli Predefinite: Imposta le lingue dei sottotitoli predefinite per la selezione automatica (separate da virgola, es.
it,en). Disponibile in Impostazioni Download → Lingue Sottotitoli Predefinite. - Formato Nome File: Personalizza il formato del nome del file di output utilizzando variabili come
%(title)s,%(uploader)s,%(playlist_index)se%(resolution)s. Disponibile in Impostazioni Download → Formato Nome File. - Forza Formato Output: Forza il download del video in un formato contenitore specifico come
mp4,webmomkv. Disponibile in Impostazioni Download → Impostazioni Formato Output. - Conversione Formato Audio: Converte i download di solo audio nel formato preferito come
AAC,MP3,FLAC,WAV,Opus,M4A,Vorbis, oBest. Disponibile in Impostazioni Download → Impostazioni Formato Audio. - Normalizzazione Audio: Standardizza il volume per i download di solo audio utilizzando EBU R128.
- Connessioni Simultanee: Aumenta significativamente la velocità di download scaricando i file in più parti contemporaneamente. Disponibile in Impostazioni Download → Generali → Connessioni Simultanee (predefinito 1, massimo 8-10 consigliato per evitare blocchi IP).
🌐 Accesso e Rete
- Login tramite Cookie: Accedi a YouTube utilizzando i cookie per accedere ai contenuti privati.
Utilizzo:
- Consigliato: Usa l'opzione integrata nell'app
Estrai cookie dal browser, quindi scegli il browser e opzionalmente il profilo. - In alternativa, estrai i cookie manualmente:
a. Esporta i cookie dal tuo browser utilizzando un'estensione come cookie-editor
b. Copia i cookie nel formato Netscape
c. Crea un file chiamato
cookies.txte incolla i cookie d. Seleziona il filecookies.txtnell'app
- Consigliato: Usa l'opzione integrata nell'app
- Supporto Proxy: Usa un server proxy per i download, ad esempio
http://<server-proxy>:<porta> - Modalità Generica: Consente a YTSage di analizzare e scaricare da siti non YouTube supportati da yt-dlp. Abilitalo da Impostazioni Download → Modalità Generica.
🛠️ Strumenti e Manutenzione
- Comandi Personalizzati: Accedi alle funzioni avanzate di yt-dlp tramite argomenti della riga di comando.
- Tab Aggiornamento: Gestisci gli strumenti di aggiornamento integrati da un unico posto nelle Opzioni Personalizzate:
- Aggiornamento yt-dlp: Controlla gli aggiornamenti e passa tra i canali di rilascio Stabile e Nightly.
- Controllo Versione FFmpeg: Verifica la tua versione di FFmpeg e apri le guide all'installazione.
- Aggiornamento 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 dal dialogo Informazioni.
- Cronologia Download: Visualizza i download passati con anteprime e stati dal pulsante Cronologia.
🌍 Localizzazione
YTSage supporta 14 lingue per una portata globale. Scegli la tua lingua preferita in 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 del 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 aiutare con la traduzione? Consulta la sezione Contribuire per aiutarci ad aggiungere altre lingue!
🛠️ Risoluzione dei problemi
Clicca per visualizzare i problemi comuni e le soluzioni
- La tabella dei formati non appare: Aggiorna yt-dlp all'ultima versione e prova a passare a yt-dlp Nightly.
- Download fallito: Controlla la tua connessione internet e assicurati che il video sia disponibile.
- Errori di download specifici:
- Video Privati: Usa l'autenticazione tramite cookie per accedere ai contenuti privati.
- Contenuti con limiti di età: Accedi al tuo account YouTube per visualizzare i video con limiti di età.
- Video bloccati geograficamente: Considera l'uso di una VPN per aggirare le restrizioni regionali.
- Video rimosso: Il video non è più disponibile su YouTube.
- Live Stream: I live stream non possono essere scaricati durante la trasmissione; attendi la fine dello stream.
- Errori di rete: Controlla la tua connessione internet e riprova.
- URL non valido: Assicurati che l'URL sia corretto e provenga da una piattaforma supportata.
- Contenuti Premium: Richiede un abbonamento YouTube Premium.
- Blocco Copyright: Il contenuto è bloccato a causa di restrizioni sul copyright.
- I file video e audio sono separati dopo il download: Questo accade quando FFmpeg manca o non viene rilevato. YTSage richiede FFmpeg per unire i 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<versione>-ffmpeg.exe, che include 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 pacchettizzate.
Perché succede:
- Le euristiche dell'antivirus potrebbero identificare erroneamente gli eseguibili pacchettizzati come sospetti.
Opzioni sicure:
- ✅ Usa l'installazione tramite pip:
pip install ytsage(consigliato) - ✅ Compila dai sorgenti: Seguendo questa guida
- ✅ Aggiungi l'applicazione alla whitelist 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 di quarantena.
- Apri il Terminale (puoi trovarlo usando 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 del Terminale. Questo incollerà automaticamente il percorso corretto del file. - Premi Invio per eseguire il comando.
- Prova a riaprire YTSage.app. Ora dovrebbe avviarsi correttamente.
Percorsi di configurazione (Avanzato)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsor
Se YTSage ti fa risparmiare tempo, considera di sponsorizzare il progetto. Le sponsorizzazioni aiutano a coprire il tempo di sviluppo, i test su tutte le piattaforme e i miglioramenti futuri.
- GitHub Sponsors: https://github.com/sponsors/oop7
- Il link per la sponsorizzazione è disponibile direttamente tramite il dialogo Informazioni all'interno dell'app.
👥 Contribuire
I contributi sono benvenuti! Ecco come puoi aiutare:
- 🍴 Fork del repository
- 🌿 Crea il tuo ramo per la funzione:
git checkout -b feature/FunzioneIncredibile
- 💾 Fai il commit delle tue modifiche:
git commit -m 'Aggiungi FunzioneIncredibile'
- 📤 Fai il push sul ramo:
git push origin feature/FunzioneIncredibile
- 🔄 Apri una Pull Request
🌍 Contribuire alle traduzioni
- Aggiorna il file README localizzato pertinente (es.
readme-translations/README.it.md) - Mantieni sincronizzate le stringhe dell'app modificando
ytsage/languages/<code>.json - Se la tua lingua manca, parti da
README.mde creaREADME.<code>.md
📂 Struttura del Progetto
YTSage - Struttura del Progetto
Questo documento descrive la struttura organizzata delle cartelle di YTSage.
📁 Struttura del Progetto
YTSage/
├── 📁 .github/ # Configurazioni GitHub
│ ├── 📁 ISSUE_TEMPLATE/ # Modelli per segnalazioni
│ │ └── 🐛-bug-report.md # Modello per segnalazione bug
│ ├─── 📁 workflows/ # Workflow GitHub Actions
│ │ ├── build-linux.yml # Workflow build Linux
│ │ ├── build-macos.yml # Workflow build macOS
│ │ │── build-windows.yml # Workflow build Windows
| | └── release-all.yml # Workflow release master
│ └── 📄 CI_CD_README.md # Documentazione CI/CD
├── 📁 branding/ # Asset di branding (screenshot, SVG)
│ ├── 📁 icons/ # Icone dell'app
│ ├── 📁 screenshots/ # Screenshot per la documentazione
│ └── 📁 svg/ # Asset SVG
├── 📄 LICENSE # File della licenza
├── 📄 pyproject.toml # Metadati del progetto e dipendenze
├── 📄 README.md # Documentazione del progetto
├── 📄 requirements.txt # Dipendenze Python (dev)
└── 📁 ytsage/ # Pacchetto del codice sorgente
├── 📁 assets/ # Asset runtime
│ ├── 📁 Icon/ # Icone dell'app
│ └── 📁 sound/ # File audio
├── 📁 languages/ # File di localizzazione
│ ├── 📄 ar.json # Traduzione araba
│ ├── 📄 de.json # Traduzione tedesca
│ ├── 📄 en.json # Traduzione inglese
│ └── ... # Altre lingue
├── 📁 core/ # Logica di business principale
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_deno.py # Integrazione Deno
│ ├── 📄 ytsage_downloader.py # Funzionalità di download
│ ├── 📄 ytsage_ffmpeg.py # Integrazione FFmpeg
│ ├── 📄 ytsage_utils.py # Funzioni di utilità
│ └── 📄 ytsage_yt_dlp.py # Integrazione yt-dlp
├── 📁 gui/ # Componenti dell'interfaccia utente
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_gui_main.py # Finestra principale dell'app
│ └── 📁 ytsage_gui_dialogs/ # Classi per i dialoghi
├── 📁 utils/ # Moduli di utilità
│ ├── 📄 __init__.py
│ ├── 📄 ytsage_config_manager.py # Gestione configurazione
│ └── 📄 ytsage_logger.py # Strumenti di logging
├── 📄 __init__.py # Punto di ingresso del pacchetto
└── 📄 main.py # Script di esecuzione principale
⭐️ Cronologia Stelle
📜 Licenza
Questo progetto è rilasciato sotto Licenza MIT - vedi il file LICENSE per i dettagli.
🙏 Ringraziamenti
Mostra Ringraziamenti
Un grande ringraziamento a tutti coloro che hanno contribuito a questo progetto aprendo segnalazioni per suggerire miglioramenti o segnalare bug.
| Componenti Principali | |
|---|---|
| yt-dlp | Motore di Download |
| FFmpeg | Elaborazione Media |
| Deno | Runtime per l'integrazione di yt-dlp |
| Librerie e Framework | |
| PySide6 | Framework GUI |
| Pillow | Elaborazione Immagini |
| requests | Richieste HTTP |
| packaging | Gestione Versioni e Packaging |
| markdown | Rendering Markdown |
| loguru | Logging |
| Asset e Collaboratori | |
| New Notification 09 di Universfield | Suono di Notifica |
| viru185 | Collaboratore al Codice |
⚠️ Disclaimer
Questo strumento è solo per uso personale. Rispettate i Termini di Servizio di YouTube e i diritti dei produttori di contenuti.
Creato con ❤️ da oop7



