youtube-dl的下載與使用方法[2]在官網上都有。不過命令選項很多,對剛接觸的人,可能會有難入手的感覺。本文就做點簡單的使用介紹,主要是在Ubuntu上安裝與使用youtube-dl來下載YouTube影片時的使用範例。
下載安裝
- 若是Ubuntu的機器,可用apt install:
sudo apt install youtube-dl
- 或是其他Linux,可用curl或wget取得檔案:
或是:sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl
下載後記得設置成可執行:sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
sudo chmod a+rx /usr/local/bin/youtube-dl
- 也可用pip
pip install youtube-dl
至於Windows版,有單一.exe檔可下載使用,可放在PATH變數中,%SYSTEMROOT%\System32以外的位置;還需要有Microsoft Visual C++ 2010 Redistributable Package (x86),詳見下載頁說明。如果執行時覺得啟動很慢,請調整Windows Defender設置,排除youtube-dl.exe。
使用範例
基本的命令形式
youtube-dl [OPTIONS] URL [URL...]
幾個基本用途的選項
顯示幫助
youtube-dl -h
顯示版號
youtube-dl --version
更新版本
youtube-dl --update
這種更新方式,可適用於前述所建議的安裝方式。Linux上的更新記得要前置sudo,除非是直接使用root帳號。下載影片
模擬下載
在真正下載影片之前,先介紹一下模擬功能,也就是-s或是--simulate選項,它可讓你看一下命令行執行時顯示的訊息,但不會真的下載影片或是儲存任何檔案,這在尚不確定該命令行是否正確,想先試行一下但又不想浪費頻寬時就很有用。以下的範例,如果你想照著做,但不想實際下載影片,都可以加上此選項。像:youtube-dl -s URL
最簡單的下載方式
youtube-dl URL
這個URL可以是:- 影片網址:看Youtube影片時,可在撥放畫面上按右鍵後“複製影片網址”取得。
- 看影片時,在瀏覽器網址列所顯示的網址。
- 播放清單的網址:這可方便下載播放清單中的所有影片。
youtube-dl https://youtu.be/OfIaU9Tyt-E
可利用複製/貼上的方式把URL輸入命令行中,不必逐字打,這樣也可避免打錯字。這個YouTube影片的例子,其實也可以簡化成:
youtube-dl OfIaU9Tyt-E
下載的影片會放在你當前所在的路徑。若要加上前述的模擬選項會像:youtube-dl -s https://youtu.be/OfIaU9Tyt-E
這裡提醒一下,有時候因為URL中含有某些字元特殊如&,可能導致整個命令行的解析出錯,最保險的做法就是URL前後以半形雙引號括住,像:youtube-dl "https://youtu.be/OfIaU9Tyt-E"
從前面提到的基本的命令形式來看,可以指定一個以上的URL,意即一命令行可下載一個以上的影片,如:youtube-dl https://youtu.be/OfIaU9Tyt-E https://youtu.be/He3IJmbdwFY
取得影片格式與品質
以YouTube與vimeo而言,一部影片一般會提供不同格式與品質的檔案。可以先取得這方面資料後再決定要下載哪個檔案,此時使用-F選項,如:youtube-dl -F https://youtu.be/OfIaU9Tyt-E
執行時顯示如下:[youtube] OfIaU9Tyt-E: Downloading webpage
[youtube] OfIaU9Tyt-E: Downloading video info webpage
[info] Available formats for OfIaU9Tyt-E:
format code extension resolution note
140 m4a audio only DASH audio 130k , m4a_dash container, mp4a.40.2@128k, 2.19MiB
160 mp4 256x144 144p 108k , avc1.4d400b, 24fps, video only
134 mp4 640x360 360p 184k , avc1.4d401e, 24fps, video only, 894.42KiB
133 mp4 426x240 240p 242k , avc1.4d400c, 24fps, video only
136 mp4 1280x720 720p 549k , avc1.4d401f, 24fps, video only, 2.14MiB
135 mp4 854x480 480p 1155k , avc1.4d4014, 24fps, video only
17 3gp 176x144 small 56k , mp4v.20.3, mp4a.40.2@ 24k (22050Hz), 978.19KiB
36 3gp 320x180 small 125k , mp4v.20.3, mp4a.40.2 (22050Hz), 2.12MiB
43 webm 640x360 medium , vp8.0, vorbis@128k, 2.03MiB
18 mp4 640x360 medium 241k , avc1.42001E, mp4a.40.2@ 96k (44100Hz), 4.07MiB
22 mp4 1280x720 hd720 256k , avc1.64001F, mp4a.40.2@192k (44100Hz) (best)
假定要下載format code為22的那個影片,使用-f選項來指定:youtube-dl -f 22 https://youtu.be/OfIaU9Tyt-E
下載整個撥放清單
YouTube上創作者所提供的影片撥放清單,其網址的形式像:https://www.youtube.com/playlist?list=PLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
要一次下載撥放清單中所有影片的方式其實就與前述下載單一影片的一樣:
youtube-dl https://www.youtube.com/playlist?list=PLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
也可以簡化為:youbube-dl PLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
不過如果撥放清單以後做了更新,下回如何只下載新的影片,而不要整個重新下載呢?--download-archive FILE選項可以辦到這點。第一次下載時就啟用此功能,會把下載的影片記錄在FILE檔案中,下回再下載時可略過這些影片。例如:
youbube-dl --download-archive archive.txt PLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
執行一次後,會記錄下載的影片資訊在archive.txt中。往後執行相同命令行時,就只下載新的影片並記錄到archive.txt中。以上只是幾個簡單的使用範例,詳細的使用請見官方使用說明文件[2]。
參考
- https://itsfoss.com/download-youtube-linux/
- https://github.com/rg3/youtube-dl/blob/master/README.md#readme
沒有留言:
張貼留言