Programy, których (być może) nie znacie. Cz. 16: youtube-dl 20


To jest proste jak budowa cepa

Stare przysłowie ludowe

Po raz trzeci do serii trafia aplikacja konsolowa. Po raz trzeci jest to aplikacja tak absurdalnie prosta w obsłudze, że nie wiem po co ludzie robią te same rzeczy, ale z GUI. No dobra, wiem po co – bo się da. Bo jest zapotrzebowanie na takie aplikacje. Bo można sobie doinstalować dodatek do swojej ulubionej przeglądarki robiący to samo a nawet znacznie więcej.

Youtube-dl

Youtube-dl jest kawałkiem kodu napisanym w Pythonie dedykowanym tylko jeden funkcji – ściąganiu filmów z tego serwisu. Trafiłem na niego przypadkiem, kiedy miałem ciche dni z Flash Playerem (wywalał się przy 1080p. Po ostatniej aktualizacji 64 bitowa wersja działa poprawnie). Urzekła mnie prostota tego skryptu:

dwimenor@16:06:25:~$ youtube-dl http://www.youtube.com/watch?v=1g50CTNOrxw
[youtube] Setting language
[youtube] 1g50CTNOrxw: Downloading video webpage
[youtube] 1g50CTNOrxw: Downloading video info webpage
[youtube] 1g50CTNOrxw: Extracting video information
[download] Destination: 1g50CTNOrxw.mp4
[download] 100.0% of 546.35M at    3.36M/s ETA 00:00

pobiera film w najwyższej jakości do aktualnego katalogu. Żadnego bawienia się w „jaką wersję pobrać” czy „gdzie zapisać” lub „jakiej aplikacji użyć do odtworzenia ściągniętego materiału”.

Pominięcie Flasha w procesie odtwarzania ma tą zaletę, że znacznie zmniejsza zapotrzebowanie na moc przerobową komputera. Jeżeli macie słaby sprzęt dławiący się przy Flashu i 1080p to warto się zastanowić nad jakąś formą ściągania filmów z YouTube z pominięciem Flasha. Tym bardziej, że stacjonarne odtwarzacze potrafią korzystać z akceleracji sprzętowej, a linuksowy Flash jest pod tym względem humorzasty.

Instalacja

Youtube-dl nie ma paczek .deb (a przynajmniej nie słyszałem). Jednakże jest to skrypt Pythona skondensowany do jednego pliku i wystarczy go umieścić gdzieś na naszej ścieżce dostępowej. Możliwości są dwie:

  1. wget https://raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl -O ~/.local/bin/youtube-dl
    chmod +x ~/.local/bin/youtube-dl
  2. sudo wget https://raw.github.com/rg3/youtube-dl/2011.08.04/youtube-dl -O /usr/bin/youtube-dl
    sudo chmod +x /usr/bin/youtube-dl

Pierwsza opcja zainstaluje program tylko aktualnemu użytkownikowi. Druga zainstaluje go w całym systemie.

Jeżeli nie youtube-dl, to co?

Oczywistym faworytem jest tu aplikacja Minitube, ale to raczej dla użytkowników KDE. Totem z środowiska GNOME ma odpowiednią do tego wtyczkę. W sieci piszą, że VLC potrafi sobie poradzić z tym zadaniem (plik->otwórz strumień sieciowy) ale to u mnie nie działa. MPlayer potrzebuje zaś strasznego kombinowania aby osiągnąć taki efekt.

Inne możliwości youtube-dl

--extract-audio

Podanie tej opcji spowoduje wyciągnięcie ścieżki dźwiękowej z ściągniętego pliku i zapisanie do pliku .aac (wymaga zainstalowanego w systemie ffmpeg i ffprobe. Oba są w repozytoriach)

--get-thumbnail
--get-title
--get-url
--get-description
--get-filename

Te opcje spowodują, że zamiast filmu zostaną pobrane i wyświetlone na ekranie następujące informacje: link do miniaturki filmu, tytuł filmu, bezpośredni link do filmu, opis filmu, nazwa pliku

--batch-file=PLIK

Skrypt pobierze wszystkie filmy, do których linki znajdują się w pliku PLIK

--literal

Do nazwy ściągniętego pliku z filmem zostanie doklejony jego oryginalny tytuł.

--update

Aktualizacja skryptu. Kiedy Google zmienia swoje API skrypt też musi zostać zaktualizowany. Uruchomienie youtube-dl z tą opcją spowoduje rozpoczęcie autoaktualizacji. Jeżeli instalowałeś skrypt w systemie jako administrator, to aby zaktualizować skrypt też musisz użyć uprawnień administratora (sudo przed poleceniem).


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

20 komentarzy do “Programy, których (być może) nie znacie. Cz. 16: youtube-dl

  • pawiecki

    No narzędzie świetne ale jeśli ktoś nie ma szybkiego łącza to nie koniecznie pragnie ściągać tyle zbędnych danych. Szkoda, że nie ma Free Download Managera pod Linuxa bo ma świetną wtyczkę do FF.

  • Dwimenor Autor wpisu

    @Admc
    Popatrz w opcjach programu (youtube-dl –help)

    @pawiecki
    Mówisz tak jakby mało download managerów było pod linuksem. I mało wtyczek do FF do ściągania.

  • Van

    Minitube tylko dla KDE? Niby czemu? Zależności w postaci QT (które i tak się przyda w innych programach) oraz Phonona (ten to jednak nie przyda się poza KDE) nie jest niby tak dużo, a zysk wymierny 🙂 Sam korzystam w XFCE.

  • Dwimenor Autor wpisu

    @brezniew
    Nie wiem jak w debianie, ale jeżeli chodzi o ubuntu, to tylko beta oneiric ma wersję która działa. Starsze wersje, wliczając tegoroczne natty, ma starsze i nie działające wersje.

    @Van
    Na ubuntu.pl zawsze zawsze starano nie mieszać środowisk. Przynajmniej w opisach, poradach, remixach. Ja się staram trzymać tego trendu w tej serii artykułów. Co nie zmienia faktu, że mam u siebie jakieś 30% xfe (aby xfburn działał) i zdrowo ponad połowę KDE (dla różnych programów).

  • Van

    @Dwimenor
    Ok, nie wiedziałem o tym zwyczaju. Ale ciężko bez niektórych aplikacji QT żyć, zwłaszcza, kiedy ich instalacja nie wiąże się z instalacją bibliotek KDE. Sam na XFCE nie wyobrażam sobie systemu bez Guarddoga, Clementine, Minitube, TeamSpeaka 3, QNapi, SMPlayera i Deluge.

  • pterodaktyl

    po co komu programy do ściągania filmików we flashu, przecież gdy ogląda się jakiś filmik to plik tymczasowy z tym filmikiem jest w folderze /tmp i dlatego jak się naciśnie guzik żeby obejrzeć jeszcze raz albo jak się przewinie suwakiem wstecz to plik nie musi być jeszcze raz pobierany z internetu tylko wczytuje się z naszego dysku z folderu /tmp i można go sobie zwyczajnie skopiować w inne miejsce (bo w folderze /tmp zniknie jak się opuści stronę), przecież tak jest prościej – przynajmniej dla mnie

  • laybythesea

    [quote comment=”49294″]po co komu programy do ściągania filmików we flashu, przecież gdy ogląda się jakiś filmik to plik tymczasowy z tym filmikiem jest w folderze /tmp i dlatego jak się naciśnie guzik żeby obejrzeć jeszcze raz albo jak się przewinie suwakiem wstecz to plik nie musi być jeszcze raz pobierany z internetu tylko wczytuje się z naszego dysku z folderu /tmp i można go sobie zwyczajnie skopiować w inne miejsce (bo w folderze /tmp zniknie jak się opuści stronę), przecież tak jest prościej – przynajmniej dla mnie[/quote]
    Nawet nie chce sobie wyobrażać szukania akurat tego jednego pliku.

    Ale… nie mogę znaleźć niczego w folderze /tmp, co by pochodziło od Firefoksa. Z tego co pamiętam, to F. trzyma takie pliki w folderze Cache. Ale jest ich tu masa. Oczywiście, da się to posortować po dacie ale
    skoro jest program, który zrobi to wszystko szybciej… 😉

  • pterodaktyl

    Nawet nie chce sobie wyobrażać szukania akurat tego jednego pliku.

    Ale… nie mogę znaleźć niczego w folderze /tmp, co by pochodziło od Firefoksa. Z tego co pamiętam, to F. trzyma takie pliki w folderze Cache. Ale jest ich tu masa. Oczywiście, da się to posortować po dacie ale
    skoro jest program, który zrobi to wszystko szybciej… ;)[/quote]

    Nie wiem, u mnie jest tak że jak oglądam jakiś filmik we flashu np. na youtube to plik tymczasowy pojawia się w głównym folderze /tmp jako plik bez rozszerzenia, który pojawia się po naciśnięciu play na stronie gdzie jest dany filmik i znika po opuszczeniu strony , natomiast cache firefoksa mam w folderze domowym ale cache sam nie znika. Mi taka metoda bardziej odpowiada bo mogę zapisać filmik po oglądnięciu i nie muszę go jeszcze raz ściągać.

  • gienowemeusz

    można jeszcze szybciej wystarczy :
    1. firefox + byTubeD + Downthemall.
    Po restarcie przeglądarki wchodzimy na dowolny profil YT klikamy ByTubeD i następnie z okienka wybieramy pliki do pobrania i z dostępnych opcji po prawej stronie okna na dole wybieramy generuj listę html i gdy się to już zakończy i otworzy nowa zakładka w niej wybieramy downthemall i zaznaczamy wszystkie i leci pełną parą pobieranie.

    2. do pojedyńczych plików wystarczy również to pierwsze rozwiązanie bądź jakikolwiek dodatek „flash” z tych dostępnych w firefoxie.

    Oprócz wymienionych dodatków do firefoxa, konsolowego youtube-dl kiedyś był jeszcze taki program jak PyTube(nie wiem czy jeszcze rozwijany), z yt pobiera też JDownloader, o ile się nie mylę MiniTube.
    A oglądać można również w umplayerze, totemie itp.

  • okidoki

    Mam kłopot z poprawnym zainstalowaniem tego programu. Pierwsze polecenie z opcji numer dwa dziala. Ale polecenia sudo cmod +x juz nie przyjmuje… O co chodzi?