这里总结了数个常用下载视频的方式。
在开始之前 本篇文章可能涉及对小部分人来说相对复杂的操作。 本篇文章有较多的链接打开以后都是英文。如果看不懂请善用 https://translate.google.cn 请注意本页面提到的所有下载方式都不要钱,请勿上当受骗。
命令行程序 这些程序因为都是免费开源的,有开源社区持续维护,故此通常都能够成功下载。
系统要求 仅以 Windows 系统举例。macOS 或者其他的系统请自行参考搜索引擎。
Windows 7 以上(推荐 Windows 10) 环境要求 Python 推荐安装 Chocolatey。Chocolatey 可以很方便地安装其他命令行软件(例如 Python)。 安装环境要求:Windows 7+ / Windows Server 2003+ PowerShell v2+ .NET Framework 4+(如果你没有安装 .NET 4.0,安装程序会尝试安装它) 以管理员权限运行 cmd.exe
(开始菜单搜索 ‘cmd’ 然后右键 - 以管理员权限打开),然后进行以下操作:@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" choco install python
在安装过程中如果你遇到了任何问题,请参阅以下页面: 如果上述操作没看明白,可以参考以下内容的一部分 : 可以安装的命令行程序 youtube-dl 这个程序是专门来下载 YouTube 视频的,默认就已经是最高清晰度,甚至可以支持播放列表下载。 项目地址:https://github.com/ytdl-org/youtube-dl 当然,由于众所周知的原因,下载 YouTube 视频的时候必须要有某种特殊的网络连接。
如何安装 (在安装了 Python 以后,在命令提示符 cmd 里面)
pip install --upgrade youtube-dl
安装过程大概是这样的:
C:\Users\imhx>pip install --upgrade youtube-dl Collecting youtube-dl Downloading https://files.pythonhosted.org/packages/43/d5/f3f7ff7fc4d05ba2b6d5904f21b43a625c3681e02fb620bcf789316d6664/youtube_dl-2019.4.7-py2.py3-none-any.whl (1.8MB) 100% |████████████████████████████████| 1.8MB 4.9MB/s Installing collected packages: youtube-dl Successfully installed youtube-dl-2019.4.7
就装好了。
如何使用 (在安装了 youtube-dl 以后,在命令提示符 cmd 里面)
效果如下:
C:\Users\imhx> [youtube] v76gf3_Cqqc: Downloading webpage [youtube] v76gf3_Cqqc: Downloading video info webpage WARNING: Requested formats are incompatible for merge and will be merged into mkv. [download] Destination: ONLY NEED 14 BULLETS - New AWM is INSANE - PUBG-v76gf3_Cqqc.f137.mp4 [download] 5.4% of 556.63MiB at 699.28KiB/s ETA 12:51
播放列表是一样的。其他操作请参考官方文档:https://github.com/ytdl-org/youtube-dl#options
you-get 这也是一个非常著名的视频下载程序。支持非常多的网站,但是它们当中的一部分失效了(所以仅仅推荐作为备用)。完整的支持列表看这里:https://github.com/soimort/you-get#supported-sites
如何安装 (在安装了 Python 以后,在命令提示符 cmd 里面)
pip3 install --upgrade you-get pip install --upgrade you-get
安装过程:
[root@hxco ~] pip3 install --upgrade you-get Collecting you-get Downloading https://files.pythonhosted.org/packages/e6/3d/5da4f2271a8022da8ac41c5f520bbea3a08a9bee65938bae722a89b0f09d/you_get-0.4.1270-py3-none-any.whl (206kB) 100% |████████████████████████████████| 215kB 14.7MB/s Installing collected packages: you-get Found existing installation: you-get 0.4.1148 Uninstalling you-get-0.4.1148: Successfully uninstalled you-get-0.4.1148 Successfully installed you-get-0.4.1270
如何使用 you-get 现在也是默认最高清晰度了。
效果如下:
[root@hxco ~] you-get https://www.youtube.com/watch?v=JGwWNGJdvx8 site: YouTube title: Ed Sheeran - Shape of You [Official Video] stream: - itag: 313 container: webm quality: 3840x2160 (2160p) size: 296.8 MiB (311239788 bytes) download-with: you-get --itag=313 [URL] Downloading Ed Sheeran - Shape of You [Official Video].webm ... 100% (296.8/296.8MB) ├████████████████████████████████████████████████████████████████████████████████┤[2/2] 23 MB/s Merging video parts... Merged into Ed Sheeran - Shape of You [Official Video].webm
更多操作请参考官方文档:https://github.com/soimort/you-get#getting-started
ykdl ykdl 是 you-get 的一个分支,主要为国内视频网站提供支持,由国人开发者维护。可以从这里看到支持的站点:https://github.com/zhangn1985/ykdl/wiki/sites-status
如何安装 (在安装了 Python 以后,在命令提示符 cmd 里面)
安装过程如下:
C:\Users\imhx>pip install --upgrade ykdl Collecting ykdl Using cached https://files.pythonhosted.org/packages/dc/84/94436ac340f840d21c0b26f4437717324a11b8fc2a2c614f7bb74bb23d48/ykdl-1.6.2.tar.gz Collecting m3u8 (from ykdl) Downloading https://files.pythonhosted.org/packages/47/cd/5295ed413e29c7776a1c5c278139e536544d1ff0019b120dc64ed81e2850/m3u8-0.3.8-py3-none-any.whl Collecting pycryptodome (from ykdl) Downloading https://files.pythonhosted.org/packages/30/13/9baa64203f5e87acfcb8575aae8256be973b286928374d0ce65f934ccb69/pycryptodome-3.8.1-cp37-cp37m-win_amd64.whl (10.0MB) 100% |████████████████████████████████| 10.0MB 1.5MB/s Collecting urllib3 (from ykdl) Downloading https://files.pythonhosted.org/packages/62/00/ee1d7de624db8ba7090d1226aebefab96a2c71cd5cfa7629d6ad3f61b79e/urllib3-1.24.1-py2.py3-none-any.whl (118kB) 100% |████████████████████████████████| 122kB 6.0MB/s Collecting iso8601 (from m3u8->ykdl) Using cached https://files.pythonhosted.org/packages/ef/57/7162609dab394d38bbc7077b7ba0a6f10fb09d8b7701ea56fa1edc0c4345/iso8601-0.1.12-py2.py3-none-any.whl Installing collected packages: iso8601, m3u8, pycryptodome, urllib3, ykdl Running setup.py install for ykdl ... done Successfully installed iso8601-0.1.12 m3u8-0.3.8 pycryptodome-3.8.1 urllib3-1.24.1 ykdl-1.6.2
另外需要装个 ffmpeg - 在已经按照上文的方式安装了 Chocolatey 以后(设置 PATH 什么的太麻烦了) 进入 管理员模式 cmd -
完事。
如何使用 ykdl 默认下载最高清晰度。甚至支持 4K。
效果如下:
C:\Users\imhx>ykdl https://www.iqiyi.com/v_19rr9ofttc.html site: 爱奇艺 (Iqiyi) title: 反贪风暴2 artist: None streams: - format: 4k container: flv video-profile: 4k Download: 反贪风暴2_4k part 0 Download: 反贪风暴2_4k part 1 Download: 反贪风暴2_4k part 2 Download: 反贪风暴2_4k part 3 Download: 反贪风暴2_4k part 4 Download: 反贪风暴2_4k part 5 Download: 反贪风暴2_4k part 6 Download: 反贪风暴2_4k part 7 2%
更多操作请参考:https://github.com/zhangn1985/ykdl/wiki 其实说实话以上三个程序已经涵盖了所有的大型视频网站了。另外还有一个基于 Go 语言的 Annie ,因为个人不常用就不介绍了,可以自己去了解。
图形界面程序 其实这个说到底还是需要命令行。 这个组合可以方便地下载部分小型网站的视频,或者某些采用了 m3u8 视频流技术并且没有用严格的鉴权方式 的视频网站。
软件要求 首先下载 Google Chrome:https://www.google.cn/chrome/ ,测试过国内可以正常打开下载安装;如果实在不行自己百度啥的也可以。 然后 FFmpeg 用上面提到的 Chocolatey 安装:
完事。
如何使用 下载小型网站上的视频(直链类型) 这边一时半会不知道有啥小型视频网站,所以这里用微信公众号为例: 地址:https://mp.weixin.qq.com/s/dikZui63P7Assel7FX3fng 首先打开 Chrome,在页面任意空白处右键,选择最下面的那一行(检查),我这里是英文版: 选择 Network 标签: 地址栏输入视频网址,回车,然后点击视频让视频加载。 这时候我们注意到微信公众号加载了电脑端的播放器,我们按这个手机的按钮切换到手机端,刷新页面,就可以获取到 H5 播放器;一般来说正常的小型网站不需要这一步操作。 再次点击视频播放,选择按照大小 从大到小 排序(因为视频基本上是页面上最大的资源),在三个广告以后(一般网站也没有)就可以在页面顶部看到开始加载的视频正片: 我们在最大的那个资源上右键 - Open in new tab: 查看时长是 8 分多钟,没毛病,在右下角三点点击,选择下载(Download),就可以把视频下载到本地了。
下载有分片的视频(m3u8) 这里以香港无线电台 六点半新闻 为例:http://news.tvb.com/programmes/newsat630/5ca35606e603833936de9803 确保 Network 标签已经打开(见上文),打开网址,filter 内输入 m3u8
然后选择其中一条链接右键 - Copy - Copy link address 进入 cmd,确保 ffmpeg 已经安装(见上文),输入命令:
在这个情况下是:
ffmpeg -i http://edge27-1. edgeware.hk4.tvb.com/session/ba037f92-5c39-11e9 -80b1 -005056903a13 /2tqrkw/newsvod/_definst_/mp4:news/content1/export/20190402 /archive_26_443552_cht_1024_576_500k.mp4/playlist.m3u8?token=21e02850553ea31327af94b487a94721_1555060260_1555060260 新闻.mp4
耐心等待下载和转码即可。 下载过程如下:
C:\Users\imhx>ffmpeg -i http://edge27-1.edgeware.hk4.tvb.com/session/ba037f92-5c39-11e9-80b1-005056903a13/2tqrkw/newsvod/_definst_/mp4:news/content1/export/20190402/archive_26_443552_cht_1024_576_500k.mp4/playlist.m3u8?token=21e02850553ea31327af94b487a94721_1555060260_1555060260 新闻.mp4 ffmpeg version N-87871-g7480f232d2 Copyright (c) 2000-2017 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-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-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx libavutil 55. 79.100 / 55. 79.100 libavcodec 57.108.100 / 57.108.100 libavformat 57. 84.100 / 57. 84.100 libavdevice 57. 11.100 / 57. 11.100 libavfilter 6.108.100 / 6.108.100 libswscale 4. 9.100 / 4. 9.100 libswresample 2. 10.100 / 2. 10.100 libpostproc 54. 8.100 / 54. 8.100 [hls,applehttp @ 0000015a2c682280] Opening 'http://edge27-1.edgeware.hk4.tvb.com/session/ba037f92-5c39-11e9-80b1-005056903a13/2tqrkw/newsvod/_definst_/mp4:news/content1/export/20190402/archive_26_443552_cht_1024_576_500k.mp4/chunklist.m3u8' for reading [hls,applehttp @ 0000015a2c682280] Opening 'http://edge27-1.edgeware.hk4.tvb.com/session/ba037f92-5c39-11e9-80b1-005056903a13/2tqrkw/newsvod/_definst_/mp4:news/content1/export/20190402/archive_26_443552_cht_1024_576_500k.mp4/media_0.ts' for reading Input Duration: 00:21:58.89, start: 0.000000, bitrate: N/A Program 0 Metadata: variant_bitrate : 1046229 Stream Metadata: variant_bitrate : 1046229 Stream Metadata: variant_bitrate : 1046229 Stream Metadata: variant_bitrate : 1046229 Stream mapping: Stream Stream Press [q] to stop, [?] for help [libx264 @ 0000015a2c6949e0] using SAR=1/1 [libx264 @ 0000015a2c6949e0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0000015a2c6949e0] profile High, level 3.1 [libx264 @ 0000015a2c6949e0] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output Metadata: encoder : Lavf57.84.100 Stream Metadata: variant_bitrate : 1046229 encoder : Lavc57.108.100 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream Metadata: variant_bitrate : 1046229 encoder : Lavc57.108.100 aac frame= 66 fps= 22 q=28.0 size= 0kB time=00:00:02.92 bitrate= 0.1kbits/s dup=2 drop=0 speed=0.996x
维棠 没啥好说的,老牌视频下载软件。 目前 3.0.1.0 版本不稳定,几乎无法下载任何视频。建议下载使用 2.1.4.1 版本。 下载链接:
维棠可以使用插件。教程见 https://plugin.qrcdn.com 。 大概就没了。还能用 IDM 啥的下载,因为个人也不常用,所以不写了,可以自己研究。
注意 本文内的命令提示符(cmd)的操作,默认目录在 C:\Users\你的用户名
。如果想下载视频到别的目录,或者某个特定的文件夹,可以使用 cd(change directory,更改目录)命令:
cd /path /to /your/location
例如:
cd C :\Users\imhx\Documents\archive
如果想要切换到 C 盘以外的盘,需要先输入盘符,如 D:
,再进行 cd 操作:
C : \Users \imhx > D : D : \> cd D : \Videos D : \Videos >
在任意文件夹上方地址栏点击空白处即可查看当前文件夹的路径: 应该说完了。