ITBlog

IT Blog w tematach różnych...

  • O blogu…
  • Edukacja
    • Moodle – stare
    • Moodle2
    • Testy
    • Wykłady IT
  • Firma

Pobieranie audio + video z YouTube

Napisane przez Igor Brzeżek on 16 czerwca 2026
Napisane w: Programowanie.

Contents
  1. ytextractor – pobieranie i konwersja audio/wideo z YouTube z poziomu konsoli
  2. Do czego służy ytextractor?
  3. Jak to działa – mechanizm wewnętrzny
  4. Wymagania
  5. Instalacja i uruchomienie
  6. Opcje wiersza poleceń – szczegółowy opis
  7. Pomoc
  8. Wejście i wyjście
  9. Format (audio)
  10. Format (wideo)
  11. Antyblokowanie
  12. Tryb wyświetlania
  13. Narzędzia
  14. Zarządzanie yt-dlp
  15. Przykłady użycia
  16. 1. Pobranie audio w wysokiej jakości (stereo 196 kbps)
  17. 2. Pobranie audio z listy linków zwartym widokiem i podsumowaniem
  18. 3. Szybkie pobranie wideo 720p z użyciem ciasteczek przeglądarki
  19. 4. Pobranie wideo 1080p z 4 wątkami FFmpeg
  20. 5. Pobranie mono MP3 (oszczędność miejsca) z 3 próbami ponowienia
  21. 6. Przetwarzanie wsadowe z pomijaniem istniejących plików
  22. Zarządzanie plikami tymczasowymi
  23. Najczęstsze problemy i ich rozwiązania
  24. Zatrzymywanie programu
  25. Podsumowanie

ytextractor – pobieranie i konwersja audio/wideo z YouTube z poziomu konsoli

ytextractor to zaawansowane narzędzie konsolowe napisane w Pythonie, służące do pobierania i konwertowania materiałów audio oraz wideo z serwisu YouTube. Program stanowi wygodne opakowanie (wrapper) dla dwóch znakomitych narzędzi: yt-dlp (silnik pobierania) oraz FFmpeg (konwersja i łączenie strumieni).

GitHub: github.com/IgorBrzezek/ytextractor

Do czego służy ytextractor?

Program ma dwa podstawowe zadania:

  • Ekstrakcja audio – pobranie ścieżki dźwiękowej z filmu YouTube i konwersja do formatu MP3 w różnych jakościach (od oszczędnego mono po wysokiej jakości stereo VBR).
  • Pobieranie wideo – ściągnięcie całego filmu z dźwiękiem w rozdzielczościach 480p, 720p lub 1080p i zapis w formacie MP4.

ytextractor świetnie sprawdza się w wielu sytuacjach:

  • Tworzenie biblioteki muzycznej – pobieranie ulubionych utworów z YouTube w formacie MP3.
  • Archiwizacja materiałów szkoleniowych – zapisywanie kursów i tutoriali wideo do późniejszego odtwarzania offline.
  • Przetwarzanie wsadowe – pobieranie całej listy linków z pliku tekstowego w jednym przebiegu.
  • Automatyzacja zadań – tryb cichy (-b, –batch) idealny do skryptów i zadań cron.

Jak to działa – mechanizm wewnętrzny

ytextractor po podaniu URL-i wykonuje następujące kroki:

  1. Pobranie metadanych – program uruchamia yt-dlp z opcją --dump-json, aby uzyskać informacje o filmie: tytuł, czas trwania, dostępne strumienie.
  2. Pobranie strumienia – w zależności od wybranego formatu (audio lub wideo) yt-dlp pobiera odpowiednie strumienie z YouTube.
  3. Konwersja (dla audio) – jeśli wybrano format MP3, FFmpeg konwertuje pobrany strumień audio na zadany format (stereo/mono, różne przepływności VBR).
  4. Łączenie strumieni (dla wideo) – dla opcji wideo yt-dlp pobiera osobno strumień obrazu i dźwięku, a następnie łączy je w jeden plik MP4 bez ponownego kodowania (najszybsza metoda).
  5. Zapis pliku – gotowy plik trafia do wskazanego katalogu (domyślnie bieżący folder).

Program obsługuje interaktywny wybór akcji w przypadku istniejących plików: [y/N/a/q] – nadpisz, pomiń, nadpisz wszystkie lub wyjdź. Nieudane lub niekompletne pobrania są rejestrowane w pliku ytextractor.err.

Wymagania

Przed uruchomieniem programu należy zapewnić następujące zależności:

  • Python 3 – wraz z biblioteką colorama (opcjonalna, do kolorowania terminala). Instalacja: pip install colorama.
  • yt-dlp – główny silnik pobierania. Należy go bieżąco aktualizować, ponieważ YouTube często zmienia swoją stronę. Instalacja: pip install yt-dlp lub winget install yt-dlp (Windows).
  • FFmpeg i FFprobe – wymagane do konwersji audio i łączenia plików MP4. Pobranie ze strony ffmpeg.org.

Program musi mieć dostęp do tych narzędzi przez zmienną środowiskową PATH.

Instalacja i uruchomienie

Wystarczy pobrać plik yt_avextractor.py z repozytorium GitHub i uruchomić z konsoli:

python yt_avextractor.py [OPCJE] "URL_1" "URL_2" ...

Do przetwarzania wsadowego z pliku:

python yt_avextractor.py --list "lista_linkow.txt" [OPCJE]

Uwaga: URL-e zawsze należy umieszczać w cudzysłowie („”), aby uniknąć błędów interpretacji znaków specjalnych (np. & w adresach playlist).

Opcje wiersza poleceń – szczegółowy opis

Pomoc

Opcja Opis
-h, --short-help Krótka, jednoliniowa pomoc.
--help Rozszerzona, kategoryzowana pomoc z przykładami.

Wejście i wyjście

Opcja Opis Domyślnie
urls Jeden lub więcej URL-i YouTube (ignorowane przy –list). –
-o, --output NAZWA Niestandardowa nazwa pliku (tylko dla pojedynczego URL). –
--list PLIK Ścieżka do pliku z listą URL-i (jeden na linię). –
--skip Pomija istniejące pliki bez pytania. –
-dst KATALOG Katalog docelowy dla plików. bieżący
--overwrite Nadpisuje istniejące pliki bez pytania. pyta

Format (audio)

Opcja Opis
-mp3high (domyślny) MP3 stereo VBR 192 kbps.
-mp3fast MP3 stereo VBR 128 kbps (szybkie kodowanie).
-mp3slow MP3 stereo VBR 196 kbps (wysoka jakość).
-mono MP3 mono VBR 96 kbps (oszczędność miejsca).

Format (wideo)

Opcja Opis
-mp4fast MP4 720p (najszybsza metoda).
-mp41080 MP4 1080p lub najlepsza dostępna.
-mp4480 MP4 480p lub najlepsza dostępna.

Antyblokowanie

Opcja Opis
--cookies PRZEGLĄDARKA Używa ciasteczek z przeglądarki (np. chrome, firefox). Rozwiązuje blokady 403.
-r, --limit-rate PRĘDKOŚĆ Ogranicza prędkość pobierania (np. 500K, 4.2M).
--add-header Dodaje standardowy nagłówek User-Agent przeglądarki.
--add-android Symuluje zapytanie z oficjalnej aplikacji YouTube na Androida.

Tryb wyświetlania

Opcja Opis
--pb Szczegółowy pasek postępu z yt-dlp.
--min Minimalny, jednoliniowy postęp.
-b, --batch Tryb cichy – brak komunikatów w konsoli.
--compact Zwarty widok dla opcji –list.
-sum, --summarize Wyświetla podsumowanie po zakończeniu wsadu.
--title Pokazuje tytuł każdego pobieranego pliku.
--showname X W trybie –min pokazuje X pierwszych znaków tytułu.

Narzędzia

Opcja Opis
--color Koloruje wyjście terminala.
--log [NAZWA] Zapisuje log yt-dlp do pliku (domyślnie yt-dlp.log).
--debug Pokazuje surowe wyjście yt-dlp i ffmpeg.
--verbose Tryb szczegółowy.
-t, --threads N Liczba wątków FFmpeg do kompresji (domyślnie: 1).
-ret, --retries N Liczba prób ponowienia nieudanego pobrania (domyślnie: 1).

Zarządzanie yt-dlp

Opcja Opis
--dlver Pokazuje aktualną wersję yt-dlp.
--dlchk Sprawdza najnowszą dostępną wersję yt-dlp online.
--dlupg Aktualizuje yt-dlp do najnowszej wersji (automatycznie, w zależności od systemu).

Przykłady użycia

1. Pobranie audio w wysokiej jakości (stereo 196 kbps)

python yt_avextractor.py -mp3slow --color "https://www.youtube.com/watch?v=dQw4w9WgXcQ"

Pobiera najlepszą dostępną ścieżkę dźwiękową i konwertuje ją do MP3 stereo VBR 196 kbps. Opcja –color włącza kolorowanie wyjścia.

2. Pobranie audio z listy linków zwartym widokiem i podsumowaniem

python yt_avextractor.py --list music.txt --compact --summarize --title --color

Przetwarza plik music.txt, pokazuje zwięzłe aktualizacje dla każdego pliku, końcowe podsumowanie oraz tytuły utworów.

3. Szybkie pobranie wideo 720p z użyciem ciasteczek przeglądarki

python yt_avextractor.py -mp4fast --cookies chrome "https://www.youtube.com/watch?v=VIDEO_ID"

Pobiera obraz i dźwięk do 720p i łączy je w plik MP4 bez przekodowywania. Ciasteczka Chrome pomagają ominąć blokady regionalne i ograniczenia wiekowe.

4. Pobranie wideo 1080p z 4 wątkami FFmpeg

python yt_avextractor.py -mp41080 -t 4 --color "https://www.youtube.com/watch?v=VIDEO_ID"

Pobiera strumienie w jakości 1080p, używając 4 wątków procesora do ewentualnego przetwarzania końcowego.

5. Pobranie mono MP3 (oszczędność miejsca) z 3 próbami ponowienia

python yt_avextractor.py -mono -ret 3 "https://www.youtube.com/watch?v=VIDEO_ID"

Konwertuje dźwięk do pojedynczego kanału (mono) z przepływnością 96 kbps. Jeśli pobranie się nie powiedzie, program podejmie do 3 prób.

6. Przetwarzanie wsadowe z pomijaniem istniejących plików

python yt_avextractor.py --list downloads.txt --skip --color

Automatycznie pomija pliki, które już istnieją w folderze docelowym, bez zadawania pytań.

Zarządzanie plikami tymczasowymi

Od wersji 1.20 wszystkie pliki tymczasowe używają prefiksu ytextr_tmp_, co ułatwia ich identyfikację. Program automatycznie sprząta pozostałe pliki tymczasowe przy starcie oraz podczas normalnego działania, zapobiegając ich gromadzeniu się na dysku.

Najczęstsze problemy i ich rozwiązania

  • Błąd 403 Forbidden / ograniczenia wiekowe – użyj opcji --cookies chrome (lub innej przeglądarki). To rozwiązuje problem w 99% przypadków.
  • Skrypt nie działa – wszystkie pobrania kończą się błędem – Twój yt-dlp jest nieaktualny. Wykonaj yt-dlp -U lub użyj opcji --dlupg wbudowanej w program.
  • „ffmpeg: command not found” – FFmpeg nie znajduje się w zmiennej PATH. Pobierz go z ffmpeg.org i dodaj do PATH.
  • URL-e z & (np. playlisty) powodują błędy – zapomniałeś umieścić URL w cudzysłowie („”).
  • Nie udało się pobrać niektórych plików w trybie wsadowym – sprawdź plik ytextractor.err w katalogu programu. Zawiera on listę nieudanych URL-i wraz z przyczyną błędu.

Zatrzymywanie programu

Program można bezpiecznie zatrzymać naciskając Ctrl+C. ytextractor obsługuje sygnał SIGINT – natychmiast kończy procesy potomne (yt-dlp, ffmpeg) i usuwa niekompletne pliki. Przy starcie program automatycznie usuwa pozostałe pliki tymczasowe z poprzednich sesji.

Podsumowanie

ytextractor to solidne i elastyczne narzędzie konsolowe do pobierania materiałów z YouTube. Dzięki wykorzystaniu sprawdzonych silników (yt-dlp i FFmpeg) oferuje wysoką niezawodność i bogaty zestaw opcji konfiguracyjnych. Obsługa pojedynczych URL-i i przetwarzania wsadowego, różne formaty audio i wideo, mechanizmy antyblokujące oraz interaktywny wybór akcji dla istniejących plików czynią go uniwersalnym rozwiązaniem zarówno do jednorazowych pobrań, jak i do zautomatyzowanych procesów.

Wersja ANSI C (samodzielna) nie jest dostępna – program działa wyłącznie w Pythonie. Źródła: github.com/IgorBrzezek/ytextractor.

Nawigacja

← Automatyczne kopiowanie tekstów do schowka
microMon – prosty monitoring zasobów →
  • Szukaj

  • Kategorie

    • IT ogólnie (158)
      • AI (1)
      • Bezpieczeństwo (20)
        • Model AAA (7)
        • Szyfrowanie (1)
      • CCTV (3)
      • Hardware (2)
      • Podstawy informatyki (1)
      • Sieci (47)
        • Cisco (4)
          • Obsługa haseł (2)
        • MikroTik (8)
        • Monitorowanie sieci (3)
        • Pomiary w sieciach LAN (6)
          • iptraf-ng (3)
        • Protokół ARP (5)
        • Symulator sieci GNS3 (5)
        • Tunelowanie ruchu (6)
          • Tunele GRE (2)
          • Tunele SSH (4)
        • WLAN / WiFi (7)
      • Software (78)
        • Bazy danych (13)
        • Programowanie (21)
        • Systemy operacyjne (21)
          • Linux Debian (18)
        • Windows (8)
      • Wirtualizacja (26)
  • Ostatnie wpisy

    • Opencode – darmowe kredyty
    • Tunel SSH – zwrotny (remote forwading)
    • GNS3 – Interfejsy sieciowe
    • GNS3 – Konfiguracja urządzenia IOU (L2/L3)
    • Tunel GRE + EoIP na Cisco
  • Strona odwiedzona

    od 11.01.2013

  • Doskonała platforma e-learningowa Uzyskaj certyfikat IT

Proudly powered by WordPress Theme: Parament by Automattic.
7ads6x98y

Powered by
Necessary cookies enable essential site features like secure log-ins and consent preference adjustments. They do not store personal data.
None
Functional cookies support features like content sharing on social media, collecting feedback, and enabling third-party tools.
None
Analytical cookies track visitor interactions, providing insights on metrics like visitor count, bounce rate, and traffic sources.
None
Advertisement cookies deliver personalized ads based on your previous visits and analyze the effectiveness of ad campaigns.
None
Unclassified cookies are cookies that we are in the process of classifying, together with the providers of individual cookies.
None
Powered by