一键下载你的youtube视频

很多人喜欢逛油管看视频,自然就会有一些喜欢的收藏集或者视频作者,有时候想要下载下来保存在本地播放,这样的话就不用每次FQ,毕竟有些代理的速度并不是很理想(如果你的代理速度炒鸡快的话,请忽略这篇文章)。

当你想下载油管视频,又觉得一些下载网站或者工具无法满足你的要求的时候,比如我想定制下载的清晰度,我想只下载视频或者只下载音频,又或者想下载字幕等等。这时候下载工具就无法满足你了,今天这里就安利一个强大的工具youtube-dl.看github上3W多个star,就知道这工具很厉害了。下面简单说下如何使用

安装youtube-dl:

youtube-dl is a command-line program to download videos from YouTube.com and other video

这里推荐使用pip安装(需要python环境):

$ pip install youtube-dl

检查安装是否成功:

$ youtube-dl Usage: youtube-dl [OPTIONS] URL [URL...] youtube-dl: error: You must provide at least one URL.Type youtube-dl --help to see a list of all options. 安装ffmpeg

ffmpeg是一个用来合成转换音频视频的工具:

A complete, cross-platform solution to record, convert and stream audio and video.

youtube-dl下载完音频视频后会调用这个工具进行合成,所以也需要安装一下ffmpeg:

1.windows安装:
直接在官网下载zip包,解压后,将path/to/ffmpeg/bin目录加入环境变量即可.这里不多说了

2.ubuntu安装:
ffmpeg在ubuntu14.04中已经被libav取代。但这个决定已经被逆转了,在ubuntu15.04中又可用了。所以如果你使用的是ubuntu15.04以上的版本,可以使用sudo apt-get install ffmpeg命令进行安装,如果你是ubuntu14.04及以下的版本,需要从mc3man ppa源安装:

添加源

$ sudo add-apt-repository ppa:mc3man/trusty-media

出现以下提示,请安

*Please note that if using this ppa I would *not* try upgrading to 14.10/15.04, ect. Do a fresh install instead. The intent here is just for users wishing to stay on 14.04* If upgrading anyway use ppa-purge first - sudo ppa-purge ppa:mc3man/trusty-media Also note that with apt-get a sudo apt-get dist-upgrade is needed for initial setup & with some package upgrades More info: https://launchpad.net/~mc3man/+archive/ubuntu/trusty-media Press [ENTER] to continue or ctrl-c to cancel adding it

更新package list:

$ sudo apt-get update $ sudo apt-get dist-upgrade

安装ffmpeg:

$ sudo apt-get install ffmpeg

检查是否安装成功:

$ ffmpeg ffmpeg version N-89777-g6e80079a28 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7.2.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-amf --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 3.100 / 58. 3.100 libavdevice 58. 0.100 / 58. 0.100 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... 使用youtube-dl

命令使用也很简单:

$ youtube-dl [OPTIONS] URL [URL...]

其强大之处就在于命令选项非常丰富,支持各种功能,下面简单介绍一些:

1.查看视频所有类型:

$ youtube-dl -F <url> ## 或者: $ youtube-dl --list-formats <url>

该命令会列出该视频所存在的所有格式,并不会进行下载
shell $ youtube-dl -F https://www.youtube.com/watch?v=dfnCAmr569k [youtube] sRVRN2DlDp4: Downloading webpage [youtube] sRVRN2DlDp4: Downloading video info webpage [youtube] sRVRN2DlDp4: Extracting video information [info] Available formats for sRVRN2DlDp4: format code extension resolution note 249 webm audio only DASH audio 55k , opus @ 50k, 1.83MiB 250 webm audio only DASH audio 71k , opus @ 70k, 2.37MiB 140 m4a audio only DASH audio 128k , m4a_dash container, mp4a.40.2@128k, 4.72MiB 171 webm audio only DASH audio 131k , vorbis@128k, 4.01MiB 251 webm audio only DASH audio 137k , opus @160k, 4.58MiB 278 webm 256x144 144p 99k , webm container, vp9, 24fps, video only, 3.32MiB 160 mp4 256x144 144p 113k , avc1.4d400c, 24fps, video only, 2.71MiB 242 webm 426x240 240p 228k , vp9, 24fps, video only, 6.75MiB 133 mp4 426x240 240p 248k , avc1.4d4015, 24fps, video only, 5.10MiB 243 webm 640x360 360p 415k , vp9, 24fps, video only, 12.19MiB 134 mp4 640x360 360p 637k , avc1.4d401e, 24fps, video only, 12.23MiB 244 webm 854x480 480p 769k , vp9, 24fps, video only, 20.70MiB 135 mp4 854x480 480p 1187k , avc1.4d401e, 24fps, video only, 22.97MiB 247 webm 1280x720 720p 1539k , vp9, 24fps, video only, 40.88MiB 136 mp4 1280x720 720p 2364k , avc1.4d401f, 24fps, video only, 42.75MiB 248 webm 1920x1080 1080p 2703k , vp9, 24fps, video only, 74.20MiB 137 mp4 1920x1080 1080p 4331k , avc1.640028, 24fps, video only, 78.09MiB 271 webm 2560x1440 1440p 9057k , vp9, 24fps, video only, 197.73MiB 264 mp4 2560x1440 1440p 10409k , avc1.640032, 24fps, video only, 203.63MiB 313 webm 3840x2160 2160p 18092k , vp9, 24fps, video only, 577.79MiB 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)

上述示例展示了一个油管视频的每种清晰度,格式 以及format code

2.下载指定质量的视频和音频并自动合并

$ youtube-dl -f <format code> <url>

其中format code 就是youtube-dl -F <url>命令列出来的第一列结果。这里其实隐含了对ffmpeg的使用,youtube-dl会去寻找ffmpeg并用其进行音视频合并操作

3.对视频质量和音频进行定制下载:

$ youtube-dl -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" <url>

上述示例的意思是:下载最高质量的mp4格式,或者没有mp4格式的情况下 下载最高质量的其他格式,其他示例请参考:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpywsg.html