Update translated README feature lists to include audio normalization (EBU R128). Applied the change across multiple language files in readme-translations (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh) to reflect the new audio normalization feature in the project documentation.
26 KiB
Nowoczesny downloader YouTube z przejrzystym interfejsem PySide6.
Pobieraj filmy w dowolnej jakości, wyodrębniaj dźwięk, pobieraj napisy i nie tylko.
🌍 PRZECZYTAJ Języki
Angielski: EN | Numer telefonu: AR | Niemiecki: DE | Hiszpański: ES | Français: FR | हिन्दी: HI | Bahasa Indonezja: ID | włoski: IT | 日本語: JA | Polski: PL | Portugalski: PT | Rosyjski: RU | Turecki: TR | Nazwa: ZH
Instalacja • Funkcje • Użycie • Zrzuty ekranu • Rozwiązywanie problemów • Sponsor • Wspieranie
❓ Dlaczego YTSage?
YTSage jest przeznaczony dla użytkowników, którzy chcą prostego, ale potężnego narzędzia do pobierania YouTube. W odróżnieniu od innych narzędzi oferuje:
- Czysty, nowoczesny interfejs PySide6
- Pobieranie wideo, audio i napisów jednym kliknięciem
- Zaawansowane funkcje, takie jak SponsorBlock, łączenie napisów i wybór listy odtwarzania
- Opcjonalny tryb ogólny dla witryn obsługujących yt-dlp poza YouTube
- Obsługa wielu platform i łatwa instalacja
✨ Funkcje
| Podstawowe funkcje | Zaawansowane funkcje | Dodatkowe funkcje |
|---|---|---|
| 🎥 Formatuj tabelę | 🚫 Integracja z blokiem sponsorskim | 🎞️ Wyświetlacz FPS/HDR |
| 🎵 Ekstrakcja dźwięku | 📝 Wybierz i połącz wiele napisów | 🔄 Automatyczna aktualizacja yt-dlp |
| ✨ Prosty interfejs użytkownika | 💾 Zapisz opis i miniaturę | 🛠️ Wykrywanie FFmpeg/yt-dlp/Deno |
| 📋 Obsługa i wybór list odtwarzania | 🚀 Ogranicznik prędkości | ⚙️ Polecenia niestandardowe |
| 📑 Umieść rozdziały | ✂️ Przytnij sekcje wideo | 🍪 Zaloguj się za pomocą plików cookie |
| 📜 Pobierz historię | 🔄 Zwolnij wybór kanału | 🌐 Wsparcie proxy |
| 🎚️ Konwersja formatu audio | 🎬 Ustawienia formatu wideo | 🆙 Wbudowana zakładka Aktualizator |
| 🌍 Tryb ogólny | 🔊 Normalizacja dźwięku (EBU R128) | 🌍 Lokalizacja w 14 językach |
🚀 Instalacja
⚡ Szybka instalacja (zalecane)
Zainstaluj YTSage z PyPI:
pip install ytsage
🔄 Zaktualizuj istniejącą instalację
pip install --upgrade ytsage
Następnie uruchom aplikację:
ytsage
📦 Gotowe pliki wykonywalne
🪟 Okna
| Formatuj | Opis |
|---|---|
| Standardowy instalator | |
| Z pakietem FFmpeg | |
| Wersja przenośna, nie wymaga instalacji | |
| Przenośny z FFmpeg, spakowany |
🛠️ Kroki instalacji
- Instalator EXE (
.exe): Kliknij dwukrotnie plik i postępuj zgodnie z instrukcjami kreatora instalacji. - Wersja przenośna (
.zip): Wypakuj archiwum do wybranej lokalizacji i uruchomytsage.exe. - FFmpeg w pakiecie: Wybierz wersję w pakiecie FFmpeg, jeśli nie masz zainstalowanego FFmpeg w swoim systemie.
🐧 Linux
| Formatuj | Opis |
|---|---|
| Pakiet Debiana | |
| Obraz aplikacji, przenośny | |
| Pakiet RPM | |
| Pakiet Flatpak |
🛠️ Kroki instalacji
- DEB (
.deb):sudo dpkg -i ytsage_*.deb sudo apt-get install -f # Fix missing dependencies if any - RPM (
.rpm):sudo rpm -i ytsage-*.rpm - Obraz aplikacji (
.AppImage):chmod +x YTSage-*.AppImage ./YTSage-*.AppImage - Flatpak: Postępuj zgodnie z instrukcjami na Flathubie lub uruchom:
flatpak install flathub io.github.oop7.ytsage
🍎 macOS
| Formatuj | Opis |
|---|---|
| Spakowana aplikacja dla Apple Silicon | |
| Instalator obrazu dysku dla Apple Silicon |
🛠️ Kroki instalacji
- Instalator DMG (
.dmg): Kliknij dwukrotnie, aby zamontować, a następnie przeciągnijYTSage.appdo folderu Aplikacje. - Archiwum aplikacji (
.zip): Wypakuj plik ZIP i przenieśYTSage.appdo folderu Aplikacje.
Uwaga: jeśli napotkasz błąd „Aplikacja jest uszkodzona”, zobacz macOS troubleshooting section poniżej.
💻 Instalacja ręczna ze źródła
1. Sklonuj repozytorium
git clone https://github.com/oop7/YTSage.git
cd YTSage
2. Zainstaluj zależności
⚡ Z uv
uv pip install .
📦 Lub ze standardową końcówką
pip install .
3. Uruchom aplikację
python -m ytsage.main
📸 Zrzuty ekranu
📖 Użycie
🎯 Podstawowe użycie
- Uruchom YTSage
- Wklej adres URL YouTube (lub użyj przycisku „Wklej adres URL”)
- Kliknij „Analizuj”
- Wybierz format:
Videodo pobierania plików wideoAudio Onlydo ekstrakcji dźwięku
- Wybierz opcje:
- Włącz napisy i wybierz język
- Włącz scalanie napisów
- Zapisz miniaturę
- Usuń segmenty sponsorów
- Zapisz opis
- Osadzaj rozdziały
- Wybierz katalog wyjściowy
- Kliknij „Pobierz”
💡 Domyślnym katalogiem pobierania jest folder „Pobrane” użytkownika.
📋 Pobieranie listy odtwarzania
- Wklej adres URL listy odtwarzania
- Kliknij „Analizuj”
- Wybierz filmy z selektora playlist (opcjonalnie, domyślnie wszystkie)
- Wybierz żądany format/jakość
- Kliknij „Pobierz”
💡 Aplikacja automatycznie obsługuje kolejkę pobierania
🌍 Tryb ogólny dla witryn innych niż YouTube
Użyj trybu ogólnego, jeśli chcesz, aby YTSage akceptował adresy URL z witryn obsługiwanych przez yt-dlp, takich jak Dailymotion, CBC Gem, TikTok i inne.
Jak z niego korzystać:
- Otwórz
Download Settings. - Włącz
Generic Mode. - Wklej obsługiwany adres URL filmu lub listy odtwarzania spoza YouTube.
- Kliknij
Analyze. - Wybierz format i pobierz jak zwykle.
Uwagi:
- Tryb ogólny zmienia tylko weryfikację adresu URL w YTSage. Witryna docelowa musi nadal być obsługiwana przez zainstalowaną wersję yt-dlp.
- Niektóre witryny wymagają plików cookie, sesji logowania, serwera proxy lub dodatkowych argumentów yt-dlp, w zależności od ekstraktora.
- Jeśli witryna ulegnie awarii, przed zgłoszeniem problemu zaktualizuj najpierw yt-dlp z wbudowanej karty aktualizatora.
🧰 Opcje multimediów i pobierania
- Opcje napisów: Filtruj języki i osadzaj napisy w pliku wideo
- Scalanie napisów: Łączenie napisów z plikiem wideo w celu uzyskania napisów zakodowanych na stałe
- Zapisz opis: Zapisz opis filmu jako plik tekstowy
- Zapisz miniaturę: zapisz miniaturę wideo jako plik obrazu
- Osadzanie rozdziałów: Osadzanie znaczników rozdziałów jako metadanych dla zgodnych odtwarzaczy wideo
- Usuń segmenty sponsora: Usuń segmenty sponsora z filmu za pomocą funkcji SponsorBlock
- Przytnij wideo: Pobierz tylko określone fragmenty filmu, określając zakresy czasu w formacie
HH:MM:SS
⚙️ Ustawienia wyjściowe i plikowe
- Ogranicznik prędkości: Ogranicz prędkość pobierania, na przykład
500Kdla 500 KB/s - Zapisz ścieżkę pobierania: zapisz domyślną ścieżkę pobierania dla przyszłych pobrań. Dostępne w Ustawienia pobierania → Ścieżka pobierania.
- Format nazwy pliku wyjściowego: Dostosuj format nazwy pliku wyjściowego za pomocą zmiennych takich jak
%(title)s,%(uploader)si%(resolution)s. Dostępne w Ustawienia pobierania → Format nazwy pliku. - Wymuś format wyjściowy: Wymuś pobieranie plików wideo w określonym formacie kontenera, takim jak
mp4,webmlubmkv. Dostępne w Ustawienia pobierania → Ustawienia formatu wyjściowego. - Konwersja formatu audio: Konwertuj pliki do pobrania zawierające wyłącznie dźwięk do preferowanych formatów, takich jak
AAC,MP3,FLAC,WAV,Opus,M4A,VorbislubBest. Dostępne w Ustawienia pobierania → Ustawienia formatu audio. - Normalizacja dźwięku: Ujednolicenie głośności pobieranych plików zawierających wyłącznie dźwięk za pomocą EBU R128.
🌐 Dostęp i sieć
- Zaloguj się za pomocą plików cookie: zaloguj się do YouTube za pomocą plików cookie, aby uzyskać dostęp do prywatnych treści.
Jak z niego korzystać:
- Zalecane: Skorzystaj z wbudowanej opcji
Extract cookies from browserw aplikacji, a następnie wybierz przeglądarkę i opcjonalnie profil. - Alternatywnie wyodrębnij pliki cookie ręcznie:
a. Eksportuj pliki cookie ze swojej przeglądarki za pomocą rozszerzenia takiego jak cookie-editor
b. Skopiuj pliki cookie w formacie Netscape
c. Utwórz plik o nazwie
cookies.txti wklej do niego pliki cookie d. Wybierz plikcookies.txtw aplikacji
- Zalecane: Skorzystaj z wbudowanej opcji
- Obsługa proxy: Do pobierania używaj serwera proxy, na przykład
http://<proxy-server>:<port> - Tryb ogólny: Zezwól YTSage na analizowanie i pobieranie z witryn innych niż YouTube obsługiwanych przez yt-dlp. Włącz tę opcję w Ustawienia pobierania → Tryb ogólny.
🛠️ Narzędzia i konserwacja
- Niestandardowe polecenia: Dostęp do zaawansowanych funkcji yt-dlp poprzez argumenty wiersza poleceń
- Karta Aktualizator: Zarządzaj wbudowanymi narzędziami aktualizacji z jednego miejsca w Opcjach niestandardowych:
- Aktualizacje yt-dlp: sprawdź dostępność aktualizacji i przełączaj się między kanałami wersji stabilnej i nocnej
- Kontrola wersji FFmpeg: Sprawdź wersję FFmpeg i otwórz przewodniki instalacji
- Aktualizacje Deno: Sprawdź i zaktualizuj środowisko wykonawcze Deno
- Wykrywanie FFmpeg/yt-dlp/Deno: Automatycznie wykrywa ścieżki i wersje FFmpeg, yt-dlp i Deno w oknie dialogowym Informacje.
- Historia pobierania: Przeglądaj wcześniejsze pobrania z miniaturami i statusami za pomocą przycisku Historia.
🌍 Lokalizacja
YTSage obsługuje 14 języków, zapewniając dostępność na całym świecie. Wybierz preferowany język z Opcje niestandardowe → Język.
Obsługiwane języki
| Język | Kod | Język | Kod |
|---|---|---|---|
| 🇺🇸 Angielski | en |
🇪🇸 Hiszpański | es |
| 🇸🇦 arabski | ar |
🇫🇷 Francuski | fr |
| 🇩🇪 niemiecki | de |
🇮🇳 hindi | hi |
| 🇮🇩 Indonezyjski | id |
🇮🇹 włoski | it |
| 🇯🇵 Japoński | ja |
🇵🇱polski | pl |
| 🇧🇷 portugalski | pt |
🇷🇺 Rosyjski | ru |
| 🇹🇷 Turecki | tr |
🇨🇳 chiński | zh |
Tłumaczenia README
| Język | Plik | Język | Plik |
|---|---|---|---|
| 🇺🇸 Angielski | README.md | 🇪🇸 Hiszpański | README.es.md |
| 🇸🇦 arabski | README.ar.md | 🇫🇷 Francuski | README.fr.md |
| 🇩🇪 niemiecki | README.de.md | 🇮🇳 hindi | README.hi.md |
| 🇮🇩 Indonezyjski | README.id.md | 🇮🇹 włoski | README.it.md |
| 🇯🇵 Japoński | README.ja.md | 🇵🇱polski | README.pl.md |
| 🇧🇷 portugalski | README.pt.md | 🇷🇺 Rosyjski | README.ru.md |
| 🇹🇷 Turecki | README.tr.md | 🇨🇳 chiński | README.zh.md |
💡 Chcesz dodać tłumaczenie? Sprawdź sekcję Contributing, aby pomóc nam dodać więcej języków!
🛠️ Rozwiązywanie problemów
Kliknij, aby wyświetlić typowe problemy i rozwiązania
- Tabela formatów nie wyświetla się: Aktualizuj yt-dlp do najnowszej wersji i co wieczór przełączaj się na yt-dlp.
- Pobieranie nie powiodło się: Sprawdź swoje połączenie internetowe i upewnij się, że plik wideo jest dostępny.
- Specyficzne błędy pobierania:
- Prywatne filmy: Użyj uwierzytelniania plików cookie, aby uzyskać dostęp do prywatnych treści.
- Treści z ograniczeniami wiekowymi: Zaloguj się do konta YouTube, aby oglądać filmy z ograniczeniami wiekowymi.
- Filmy z blokadą geograficzną: rozważ użycie VPN w celu ominięcia ograniczeń regionalnych.
- Usunięte/usunięte filmy: Film nie jest już dostępny w serwisie YouTube.
- Transmisje na żywo: Transmisji na żywo nie można pobrać; poczekaj, aż strumień się zakończy.
- Błędy sieciowe: Sprawdź swoje połączenie internetowe i spróbuj ponownie.
- Nieprawidłowe adresy URL: Upewnij się, że adres URL jest poprawny i pochodzi z obsługiwanej platformy. – Treści premium: wymaga członkostwa YouTube Premium.
- Bloki dotyczące praw autorskich: Treść jest blokowana ze względu na ograniczenia praw autorskich.
- Oddziel pliki wideo i audio po pobraniu: Dzieje się tak, gdy brakuje FFmpeg lub nie został on wykryty. YTSage wymaga FFmpeg do łączenia wysokiej jakości strumieni wideo i audio.
- Rozwiązanie: Upewnij się, że FFmpeg jest zainstalowany i dostępny w PATH twojego systemu. Dla użytkowników systemu Windows najłatwiejszą opcją jest pobranie pliku
YTSage-v<version>-ffmpeg.exe, który jest dostarczany w pakiecie z FFmpeg.
- Rozwiązanie: Upewnij się, że FFmpeg jest zainstalowany i dostępny w PATH twojego systemu. Dla użytkowników systemu Windows najłatwiejszą opcją jest pobranie pliku
🛡️ Ostrzeżenie o programie Windows Defender/antywirusie
Niektóre programy antywirusowe mogą oznaczać pliki .exe jako fałszywe alarmy. Jest to znane ograniczenie aplikacji w pakietach.
Dlaczego tak się dzieje:
- Heurystyka antywirusowa może błędnie zidentyfikować spakowane pliki wykonywalne jako podejrzane
Bezpieczne alternatywy:
- ✅ Użyj instalacji pip:
pip install ytsage(zalecane) - ✅ Kompiluj ze źródła: postępując zgodnie z tym guide
- ✅ Dodaj aplikację do białej listy w swoim oprogramowaniu antywirusowym
🍎 macOS: „Aplikacja jest uszkodzona i nie można jej otworzyć”
Jeśli widzisz ten błąd w systemie macOS Sonoma lub nowszym, musisz usunąć atrybut kwarantanny.
- Otwórz Terminal (możesz go znaleźć za pomocą Spotlight).
- Wpisz następujące polecenie, ale nie jeszcze naciskaj Enter. Pamiętaj o dodaniu spacji na końcu:
xattr -d com.apple.quarantine - Przeciągnij plik
YTSage.appz okna Findera i upuść go bezpośrednio w oknie Terminala. Spowoduje to automatyczne wklejenie prawidłowej ścieżki pliku. - Naciśnij Enter, aby uruchomić polecenie.
- Spróbuj ponownie otworzyć YTSage.app. Powinna teraz uruchomić się poprawnie.
Lokacje konfiguracji (zaawansowane)
- Windows:
%LOCALAPPDATA%\YTSage - macOS:
~/Library/Application Support/YTSage - Linux:
~/.local/share/YTSage
💖 Sponsor
Jeśli YTSage pozwoli Ci zaoszczędzić czas, rozważ sponsorowanie projektu. Sponsoring pomaga pokryć czas opracowywania, testowania na różnych platformach i przyszłych ulepszeń.
- Sponsorzy GitHuba: https://github.com/sponsors/oop7
- Link sponsora jest również dostępny bezpośrednio w aplikacji, w oknie dialogowym Informacje.
👥 Wkład
Zapraszamy do wpłat! Oto jak możesz pomóc:
- 🍴Rozwidl repozytorium
- 🌿 Utwórz gałąź funkcji:
git checkout -b feature/AmazingFeature
- 💾 Zatwierdź zmiany:
git commit -m 'Add some AmazingFeature'
- 📤 Pchnij do oddziału:
git push origin feature/AmazingFeature
- 🔄 Otwórz żądanie ściągnięcia
🌍 Tłumaczenia wspierające
- Zaktualizuj pasujący zlokalizowany plik README (na przykład
README.es.md) - Synchronizuj ciągi aplikacji, edytując
ytsage/languages/<code>.json - Jeśli brakuje Twojego języka, zacznij od
README.mdi utwórzREADME.<code>.md
📂 Struktura projektu
YTSage – Struktura projektu
Ten dokument opisuje zorganizowaną strukturę folderów YTSage.
📁 Struktura projektu
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
⭐️ Historia gwiazd
📜Licencja
Ten projekt jest objęty licencją MIT — szczegółowe informacje można znaleźć w pliku LICENSE.
🙏 Podziękowania
Pokaż podziękowania
Serdecznie dziękujemy wszystkim, którzy przyczynili się do tego projektu, otwierając problem, aby zasugerować ulepszenie lub zgłosić błąd.
| Główne komponenty | |
|---|---|
| yt-dlp | Pobierz silnik |
| FFmpeg | Przetwarzanie multimediów |
| Deno | Środowisko wykonawcze do integracji z yt-dlp |
| Biblioteki i struktury | |
| PySide6 | Struktura GUI |
| Poduszka | Przetwarzanie obrazu |
| żądania | Żądania HTTP |
| opakowanie | Obsługa wersji i pakietów |
| przecena | Renderowanie Markdown |
| loguru | Logowanie |
| Zasoby i współtwórcy | |
| Nowe powiadomienie 09 od Universfield | Dźwięk powiadomienia |
| viru185 | Współtwórca kodu |
⚠️ Zastrzeżenie
To narzędzie jest przeznaczone wyłącznie do użytku osobistego. Prosimy o przestrzeganie warunków korzystania z usługi YouTube i praw twórców treści.
Wykonane z ❤️ przez oop7



