使用youtbe-dl来下载youtube的视频,相信大家都不陌生了,youtbe-dl可以在win上和linux上使用,这次就在debian 10上安装吧。

安装超级简单,两条命令完成

wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl
chmod a+rx /usr/local/bin/youtube-dl

然后在安装ffmpeg,以便在下载时,可以音频和视频一起下载合成

apt-get update
apt-get install -y ffmpeg

安装完成后,报错如下:

root@debian:~# youtube-dl -U
WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.
ERROR: can't find the current version. Please try again later.

显示字符有问题,解决如下:

export LANG=en_US.UTF-8
export LANGUAGE=en_US:en

使用方法:

youtube-dl -F [url]

显示可下载的列表,如下:

youtube-dl -F https://www.youtube.com/watch?v=yITr127KZtQ
[youtube] yITr127KZtQ: Downloading webpage
[info] Available formats for yITr127KZtQ:
format code  extension  resolution note
249          webm       audio only tiny   63k , opus @ 50k (48000Hz), 2.42MiB
250          webm       audio only tiny   82k , opus @ 70k (48000Hz), 3.15MiB
140          m4a        audio only tiny  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 5.68MiB
251          webm       audio only tiny  155k , opus @160k (48000Hz), 5.97MiB
394          mp4        230x144    144p   67k , av01.0.00M.08, 30fps, video only, 2.55MiB
160          mp4        230x144    144p   98k , avc1.4d400c, 30fps, video only, 2.66MiB
133          mp4        384x240    240p  120k , avc1.4d400d, 30fps, video only, 3.34MiB
395          mp4        384x240    240p  132k , av01.0.00M.08, 30fps, video only, 4.62MiB
278          webm       230x144    144p  143k , webm container, vp9, 30fps, video only, 4.59MiB
242          webm       384x240    240p  159k , vp9, 30fps, video only, 4.84MiB
134          mp4        576x360    360p  211k , avc1.4d401e, 30fps, video only, 5.97MiB
243          webm       576x360    360p  253k , vp9, 30fps, video only, 7.61MiB
396          mp4        576x360    360p  261k , av01.0.01M.08, 30fps, video only, 8.24MiB
135          mp4        768x480    480p  311k , avc1.4d401f, 30fps, video only, 9.23MiB
244          webm       768x480    480p  359k , vp9, 30fps, video only, 10.39MiB
136          mp4        1152x720   720p  418k , avc1.4d401f, 30fps, video only, 12.93MiB
397          mp4        768x480    480p  439k , av01.0.04M.08, 30fps, video only, 13.50MiB
247          webm       1152x720   720p  604k , vp9, 30fps, video only, 17.12MiB
398          mp4        1152x720   720p  907k , av01.0.05M.08, 30fps, video only, 26.73MiB
18           mp4        576x360    360p  395k , avc1.42001E, 30fps, mp4a.40.2@ 96k (44100Hz), 17.35MiB
22           mp4        1152x720   720p  424k , avc1.64001F, 30fps, mp4a.40.2@192k (44100Hz) (best)

可以看到音频和视频都有编号,下载对应的编号即可


youtube-dl -f 140 [url]

下载对应编号的音频或视频


youtube-dl -f 134+140 [url]

下载音频视频合并文件,注意,视频编号要在前面

youtube-dl -x --audio-format mp3 https://www.youtube.com/watch?v=BaW_jenozKc

将音频下载为mp3格式

youtube-dl --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4 网址

意思是:下载分辨率最大的视频,格式为mp4、下载最好的音频,格式是m4a,然后合并为mp4输出

批量下载视频列表,用以下方法,例如下载:https://www.youtube.com/watch?v=7AmYumzenYw&list=PL7pxtvFgS8Mt-JIaQG5ZCT7NSzKaWdld7 这个列表里的所有视频

把链接改为:https://www.youtube.com/playlist?list=PL7pxtvFgS8Mt-JIaQG5ZCT7NSzKaWdld7

如下:

youtube-dl --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4 https://www.youtube.com/playlist?list=PL7pxtvFgS8Mt-JIaQG5ZCT7NSzKaWdld7

这样就可以一次下载整个列表里的视频了。

如果嫌下载慢,还可以配合aria2来多线程下载

youtube-dl --no-check-certificate -f 401+251 https://www.youtube.com/watch?v=4Z9mUjtFJYY --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"

也可以把所有的链接放在txt的文本里,进行批量下载

yt-dlp -f bv*+ba/b --merge-output-format mp4 -a /mnt/Public/other/xxx/xxx.txt -o "%(title)s.%(ext)s"

用aria2c加速下载youtube上的视频,且最好的音频和最好的视频,自动合并成mp4

yt-dlp -f bv*+ba/b --merge-output-format mp4 https://www.youtube.com/watch?v=yQff757LX30 -o "%(title)s.%(ext)s" --external-downloader aria2c --external-downloader-args "-x 16 -k 1M"

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注