<xmp id="63nn9"><video id="63nn9"></video></xmp>

<xmp id="63nn9"></xmp>

<wbr id="63nn9"><ins id="63nn9"></ins></wbr>

<wbr id="63nn9"></wbr><video id="63nn9"><ins id="63nn9"><table id="63nn9"></table></ins></video>

Loading

youtube-dl下載太慢了,我選yt-dlp

前言

最近過年嘛,過年前照例來下載一些賀歲歌曲,現在國內沒啥人做賀歲專輯,這方面還得看馬來西亞華人,他們每年都有出專輯,質量很不錯!

國內平臺自然是沒有(或者不全的),需要在YouTube下載~

之前我都是用Chrome插件下載完再使用腳本合并視頻,有點繁瑣,今年試試自動下載的黑科技~

作為對比的這倆工具,都用 pip 安裝即可

pip install youtube-dl
pip install yt-dlp

youtube-dl

PS:youtube-dl 之前曾經被Github封禁了,后面應該是迫于開源界的壓力,又恢復了這個倉庫

首先這是項目地址: https://github.com/ytdl-org/youtube-dl

具體咋用,文檔寫得很詳細

參數很復雜

最主要的問題是下載速度太慢了(一秒50、60k) (應該是被YouTube之類的網站識別出來,限流了)

下載合集中的多個視頻

 youtube-dl --proxy http://127.0.0.1:10809 -f "bestvideo[ext=mp4,height<=1080]+bestaudio[ext=m4a]/bestvideo[ext=mp4,height<=720]+bestaudio[ext=m4a]/bestvideo[ext=mp4,height<=480]+bestaudio[ext=m4a]/best[ext=mp4,height<=480]/best" -o "%(title)s.%(ext)s" --embed-thumbnail --playlist-start 1 --playlist-end 9 "https://www.youtube.com/watch?v=xxx&list=xxx"

參數說明

下面這倆組合起來表示下載合集里第1-9個視頻

--playlist-start 1
--playlist-end 9

-f 后面跟著的一大串,表示從1080p開始下載,不行的話就逐步降級到480p

設置代理啥的就不說了

yt-dlp

使用體驗非常不錯,推薦!

這是一個后面新出的工具,參數簡化了很多,而且支持使用外部下載器(例如 Aria2)

先看看基本用到的命令長啥樣~

下載單個視頻

yt-dlp -f 137+140 --proxy http://127.0.0.1:10809 --merge-output-format mp4 https://www.youtube.com/watch?v=xxx

下載合集中的多個視頻

yt-dlp -I 1:9 --proxy http://127.0.0.1:10809 --merge-output-format mp4 "https://www.youtube.com/watch?v=xxx&list=xxx"

選擇格式使用的是下面這樣的參數

-f 137+140

初看可能一頭霧水,但其實這是YouTube的畫質代碼

在YouTube上面,1080p及以上分辨率的視頻,畫面和聲音是分開的,畫面一般是mp4或者webm這種格式,聲音是m4a格式,所以要下載高清視頻,需要分別下載畫面和聲音,然后自行合并。

PS:在之前我確實是分開下載然后寫個腳本使用ffmpeg來批量合并的,不過用這個工具就不用這么復雜了,它可以自動調用ffmpeg來合并視頻(不過要確保系統中已經安裝了ffmpeg哈)。

上面這個 137 和 140 就是畫面和聲音的代碼。

那這么知道各種畫質和音質的代碼是啥呢?使用 -F 參數就行。

yt-dlp -F --proxy http://127.0.0.1:10809 "https://www.youtube.com/watch?v=xxx"

用了這個參數,就可以把指定視頻的各種畫質代碼都顯示出來,按需選擇組合就行

[youtube] Extracting URL: https://www.youtube.com/watch?v=kjuB12RFtDE
[youtube] kjuB12RFtDE: Downloading webpage
[youtube] kjuB12RFtDE: Downloading android player API JSON
[info] Available formats for kjuB12RFtDE:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb2 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb1 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb0 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
140 m4a   audio only      2 │    4.42MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    4.66MiB  137k https │ audio only          opus       137k 48k medium, webm_dash
22  mp4   1280x720    25  2 │ ~ 44.82MiB 1284k https │ avc1.64001F   1284k mp4a.40.2    0k 44k 720p
136 mp4   1280x720    25    │   39.41MiB 1155k https │ avc1.4d401f   1155k video only          720p, mp4_dash
247 webm  1280x720    25    │   39.53MiB 1158k https │ vp9           1158k video only          720p, webm_dash
137 mp4   1920x1080   25    │  117.11MiB 3431k https │ avc1.640028   3431k video only          1080p, mp4_dash
248 webm  1920x1080   25    │   75.15MiB 2202k https │ vp9           2202k video only          1080p, webm_dash

從這結果就可以看出,上面的 137 是 1080p 的 mp4視頻;140 是 129k 的音頻。

至于外部下載器,我沒搞,默認下載速度就很快了,一秒幾m,夠用就不折騰了。

參考資料

posted @ 2023-01-24 23:26  程序設計實驗室  閱讀(733)  評論(4編輯  收藏  舉報
人碰人摸人爱免费视频播放

<xmp id="63nn9"><video id="63nn9"></video></xmp>

<xmp id="63nn9"></xmp>

<wbr id="63nn9"><ins id="63nn9"></ins></wbr>

<wbr id="63nn9"></wbr><video id="63nn9"><ins id="63nn9"><table id="63nn9"></table></ins></video>