Jak łatwo pobrać film (lub muzykę) z filmu z YouTube’a
Kiedyś, dawno temu, za górami, za lasami, istniały rozszerzenia do Safari i innych przeglądarek, które pomagały w pobieraniu treści z YouTube’a na dysk. Niestety, większość wyginęła lub stała się wylęgarnią malware’u, jest podejrzana, lub jest płatna. Jest jednak proste rozwiązanie, które daje ogromne możliwości.
Uwaga – Nie pobierajcie klipów z YouTube’a, które są chronione prawem autorskim. Poniżej stosuję jedynie przykład, aby zilustrować jak ten program działa.
youtube-dl
youtube-dl
to open-source’owy program dla macOS, Linuxa i Windows, za pomocą którego można pobrać z YouTube’a dokładnie to, co chcecie. Można go zainstalować na kilka sposobów – instrukcję znajdziecie tutaj – a ja wybrałem Homebrew, co ma sens, skoro korzystam z niego od lat.
Instalacja Homebrew
Jeśli nie macie Homebrew, to należy go zainstalować następującą komendą, wpisywaną w Terminalu:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Jeśli już macie, to uruchomcie Terminal i upewnijcie się, że wszystko gra…
brew doctor
A potem…
brew update
Instalacja youtube-dl
Instalacja za pomocą Homebrew jest banalnie prosta – do Terminala należy wpisać następującą komendę:
brew install youtube-dl
Po jej wpisaniu, na ekranie pojawi się coś takiego:
moridin@Millennium-Falcon ~> brew install youtube-dl ==> Using the sandbox ==> Downloading https://github.com/rg3/youtube-dl/releases/download/2017.06.05/youtube-dl-2017.06.05.tar.gz ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/1039520/dcfa05ea-4988-11e7-8c99-204050b93d2 ######################################################################## 100.0% ==> Caveats Bash completion has been installed to: /usr/local/etc/bash_completion.d zsh completions have been installed to: /usr/local/share/zsh/site-functions fish completions have been installed to: /usr/local/share/fish/vendor_completions.d ==> Summary 🍺 /usr/local/Cellar/youtube-dl/2017.06.05: 11 files, 1.8MB, built in 6 seconds
Pobieramy
Program youtube-dl
używa się z Terminala. Jeśli nie wiecie jak go użyć, do wystarczy wpisać komendę man youtube-dl
, która wyświetli instrukcję obsługi. Strzałkami możecie przewijąc ją góra/dół, a spacją o cały ekran w dół. Oto jej fragment:
NAME youtube-dl - download videos from youtube.com or other video platforms SYNOPSIS youtube-dl [OPTIONS] URL [URL...] DESCRIPTION youtube-dl is a command-line program to download videos from YouTube.com and a few more sites. It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is not platform specific. It should work on your Unix box, on Windows or on Mac OS X. It is released to the public domain, which means you can modify it, redistribute it or use it however you like.
W dalszej części instrukcji wyświetlą się wszystkie opcje i dostępne funkcje programu. Aby pobrać jeden film lub muzykę z niego, będą nas interesowały tylko dwie z nich.
Najpierw potrzebujemy URL do filmu na YouTubie – znajdziecie go w pasku adresu przeglądarki. Mnie interesowała poniższa muzyka (mój przykładowy URL to https://www.youtube.com/watch?v=jQmz0EbLIxs
):
Chciałem pobrać samą muzykę, w odpowiednim formacie (na YouTubie dostępnych formatów jest wiele, zależnie od Waszego urządzenia), więc wpisałem następującą komendę:
youtube-dl -F "https://www.youtube.com/watch?v=jQmz0EbLIxs"
W powyższej komendzie wywołałem nazwę programu z opcją -F
(z dużej litery!!!). Ta opcja sprawdza w jakich formatach dany materiał jest dostępny. Zwróćcie też uwagę na to, że URL jest w cudzysłowie. Otrzymałem następujący wynik:
[youtube] jQmz0EbLIxs: Downloading webpage [youtube] jQmz0EbLIxs: Downloading video info webpage [youtube] jQmz0EbLIxs: Extracting video information WARNING: unable to extract uploader nickname [youtube] jQmz0EbLIxs: Downloading js player en_US-vflYNRqAP [youtube] jQmz0EbLIxs: Downloading MPD manifest [info] Available formats for jQmz0EbLIxs: format code extension resolution note 139 m4a audio only DASH audio 48k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 750.53KiB 249 webm audio only DASH audio 62k , opus @ 50k, 820.42KiB 250 webm audio only DASH audio 81k , opus @ 70k, 1.06MiB 140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.95MiB 171 webm audio only DASH audio 136k , vorbis@128k, 1.81MiB 251 webm audio only DASH audio 152k , opus @160k, 2.09MiB 278 webm 256x144 144p 105k , webm container, vp9, 30fps, video only, 1.16MiB 160 mp4 256x144 DASH video 114k , avc1.4d400c, 30fps, video only, 1.72MiB 242 webm 426x240 240p 193k , vp9, 30fps, video only, 1.36MiB 133 mp4 426x240 DASH video 253k , avc1.4d4015, 30fps, video only, 3.79MiB 243 webm 640x360 360p 349k , vp9, 30fps, video only, 2.52MiB 134 mp4 640x360 DASH video 387k , avc1.4d401e, 30fps, video only, 4.11MiB 244 webm 854x480 480p 551k , vp9, 30fps, video only, 3.86MiB 135 mp4 854x480 DASH video 670k , avc1.4d401f, 30fps, video only, 7.94MiB 247 webm 1280x720 720p 1041k , vp9, 30fps, video only, 7.19MiB 136 mp4 1280x720 DASH video 1291k , avc1.4d401f, 30fps, video only, 14.89MiB 248 webm 1920x1080 1080p 1785k , vp9, 30fps, video only, 12.19MiB 137 mp4 1920x1080 DASH video 2480k , avc1.640028, 30fps, video only, 29.18MiB 17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k 36 3gp 320x180 small , mp4v.20.3, mp4a.40.2 43 webm 640x360 medium , vp8.0, vorbis@128k 18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k 22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)
Jako że interesowało mnie tylko audio i że format webm/opus/vorbis jest mi obcy, to wybrałem m4a w jakości 128 Kbps, czyli interesuje mnie ta linia z powyższej listy:
140 m4a audio only DASH audio 127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 1.95MiB
Ważny tutaj jest numer 140
, bo to jego wykorzystamy w następnej komendzie, która pobierze samo audio z tego klipu.
youtube-dl -f 140 "https://www.youtube.com/watch?v=jQmz0EbLIxs"
Tym razem wywołałem youtube-dl
z opcją -f 140
(z małej litery!), która pobiera wybraną ścieżkę (wideo lub audio). Numer 140
jest z listy wyników z wcześniejszego kroku. Ta komenda wyrzuciła następujący wynik:
[youtube] jQmz0EbLIxs: Downloading webpage [youtube] jQmz0EbLIxs: Downloading video info webpage [youtube] jQmz0EbLIxs: Extracting video information [youtube] jQmz0EbLIxs: Downloading js player vflZ_L_3c [youtube] jQmz0EbLIxs: Downloading js player vflZ_L_3c [youtube] jQmz0EbLIxs: Downloading MPD manifest [download] Destination: Star Wars - The Force Theme - Epic Cover (Medley 2016) - EMS 019-jQmz0EbLIxs.m4a [download] 100% of 1.95MiB in 00:00 WARNING: jQmz0EbLIxs: writing DASH m4a. Only some players support this container. Install ffmpeg or avconv to fix this automatically.
Pobrany plik pobierany jest do folderu, z którego wywołujemy komendę, więc u mnie trafił do ~/Desktop/
, czyli na Biurko.
Teraz pozostaje uzupełnić metadane w takim pliku audio, opcjonalnie przekonwertować go do innego formatu i można go słuchać.
Komentarze: 28
Downie sprawuje się wyśmienicie.
Wystarczy MacX
http://fastesttube.kwizzu.com działa wyśmienicie. Integruje się ze stroną jakby to był natywny przycisk. W menu pod Subscribe jest dodatkowy link Download. Można wybrać ściągnąć audio/video/oba.
Właśnie takich śmieci nigdy nie uświadczysz na moich komputerach. 😉
Możesz przedstawić swoje argumenty dlaczego te rozszerzenie jest śmieciowe?
Wnioskuję że narzędzie o którym wspominasz zachwalasz dlatego ze jest open source i sam sprawdziłeś jego źródło lub wierzysz innym ludziom którzy to zrobili za Ciebie. Mam rację?
Bo było już przynajmniej kilka alarmów na jego temat. Gdzie dym tam ogień.
Jest też savefrom.net (sama stron czy też pod postacią rozszerzenia do przeglądarki).
@Moridin:disqus: Nie oszukujmy się, zwykły użytkownik będzie wolał “patologiczny” przycisk w przeglądarce pod filmem niż wygibasy w terminalu. Poza tym mając rozszerzenie w przeglądarce jest dużo szybciej. Sam korzystałem z youtube-dl, ale nie uważam żeby było to dobre narzędzie dla osób, które często pobierają z YT.
Nie ma nic przyjemniejszego niż powód do wycieczki do Terminala. 😉
Nie mówię, że nie! Tym bardziej jeżeli stworzysz sobie odpowiedni alias w terminalu. Np.
youtube-dl -f ‘bestvideo[ext=mp4][height<=1080]+bestaudio[ext=m4a]/best[ext=mp4]/best' -o '%(title)s.%(ext)s'
Zwracam tylko uwagę, że istnieją dużo lepsze alternatywy, np. Downie – wspiera ponad 1,100 stron, ma możliwość pobierania napisów, konwertowania (również do formatu audio) i automatycznego łączenia kilku części wideo przy pomocy Permute; dodatkowo Downie posiada rozszerzenie do przeglądarki, więc wystarczy jedno kliknięcie…
PS. W sumie nie wspomniałem o tym, że youtube-dl wspiera pobieranie praktycznie z wszystkiego. https://rg3.github.io/youtube-dl/supportedsites.html
Proszę, proszę to Ci ciekawostka! Korzystam z niego w zasadzie od 4 lat i nie zdawałem sobie sprawy; w man jest tylko zapis: “and few more sites”.
Ja to robię tak:
youtube-dl –extract-audio –audio-format mp3 https://…
I zawsze otrzymuję format mp3.
Całkiem dobrze działa AllMyTube https://www.wondershare.com/pro/allmytube-video-downloader.html
Nie rozumiem dlaczego autor ostrzega przed pobieraniem klipów, które są chronione prawem autorskim. Przecież pobieranie jest legalne . Nie można natomiast tych treści udostępniać.
Bo EULA YouTube’a na to nie pozwala. Chyba, że się coś ostatnio zmieniło.
YouTube może mieć swoje EULA, ale polskie prawo jest ważniejsze w tym wypadku.
Nie działa to tak. 😉
Co nie działa, polskie prawo ?
Wojtek, a nie lepiej po prostu jdownloaderem? Można sobie też wybrać format, bitrate i to dwoma klikami, a nie taką Golgotą w linii poleceń. Kiedy popatrzyłem na te screeny terminala, to się przeraziłem.
Nie lubię takich rozwiązań.
Może pora porzucić GUI na rzecz terminala? W sumie to wszystko da się w nim zrobić, tylko po co?
w życiu nie widziałem prostrzej instrukcji
Cieszę się. ☺️
youtube-dl może nie jest wygodny dla pojedynczego ściągania pliku, ale doskonale nadaje się do skryptów
Interesujące informacje o jakości dźwięku na YouTube https://www.h3xed.com/web-and-internet/youtube-audio-quality-bitrate-240p-360p-480p-720p-1080p
A masz może jakiś sposób na pobieranie z YT na iOSie?
Czy z Tidal nie jaki Brew też potrafi zgrać?
ja pobieram poprzez youtube-dl a z fejsa poprzez https://fbconverter.com/