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:
jQmz0EbLIxs: Downloading webpage jQmz0EbLIxs: Downloading video info webpage jQmz0EbLIxs: Extracting video information WARNING: unable to extract uploader nickname jQmz0EbLIxs: Downloading js player en_US-vflYNRqAP 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:
jQmz0EbLIxs: Downloading webpage jQmz0EbLIxs: Downloading video info webpage jQmz0EbLIxs: Extracting video information jQmz0EbLIxs: Downloading js player vflZ_L_3c jQmz0EbLIxs: Downloading js player vflZ_L_3c 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ć.