youtube 视频下载

有些视频经常需要重复看,如技术类的。每次看都要去上去翻,而且可能出现某些不可抗力。反正经常会出现各种状况。在Github上找了下,发现能下载的工具不少。有个星数很高,没错了就是他youtube-dl,搜了一下网上各种教程满天飞。

这个工具实际能下载大部分视频网站的视频(其他网站没试过),在readme中列出了支持的网站,包括国内的网站。

下载方法 :
youtube-dl [--proxy 代理] -f 137+140 URL

使用例

//视频地址: https://www.youtube.com/watch?v=uT6Q_AeFTuQ

// 下载720P的视频
$ youtube-dl --proxy socks5://127.0.0.1:1086/. -f 136+140 https://www.youtube.com/watch?v=uT6Q_AeFTuQ

// 下载1080P的视频
$youtube-dl --proxy socks5://127.0.0.1:1086/. -f 137+140 https://www.youtube.com/watch?v=uT6Q_AeFTuQ

参数说明:
--proxy socks5://127.0.0.1:1086/. VPN的地址
-f 136+140 下载内容的格式 136 -- 720Pmp4视频 140--音频

  • 137 -- 格式是 1080P的视频

YouTube是音视频分开的,所以需要同时下载,下载完成会自动合并。(自动合并需要安装ffmpeg)。

查看视频支持的格式

$ youtube-dl [--proxy 代理] -F URL
参数 -F ---- 列出所有支持的格式
注:YouTube的格式编号都是固定的。

如上面的视频,显示所有的格式。

moguf_mac:~ moguf$ 
moguf_mac:~ moguf$ youtube-dl --proxy socks5://127.0.0.1:1086/. -F https://www.youtube.com/watch?v=uT6Q_AeFTuQ
[youtube] uT6Q_AeFTuQ: Downloading webpage
[youtube] uT6Q_AeFTuQ: Downloading video info webpage
[info] Available formats for uT6Q_AeFTuQ:
format code  extension  resolution note
140          m4a        audio only DASH audio  131k , m4a_dash container, mp4a.40.2@128k, 11.23MiB
278          webm       256x144    144p  120k , webm container, vp9, 30fps, video only, 8.67MiB
160          mp4        256x144    144p  120k , avc1.4d400c, 30fps, video only, 7.79MiB
242          webm       426x240    240p  261k , vp9, 30fps, video only, 17.68MiB
133          mp4        426x240    240p  276k , avc1.4d4015, 30fps, video only, 18.74MiB
243          webm       640x360    360p  497k , vp9, 30fps, video only, 34.61MiB
134          mp4        640x360    360p  617k , avc1.4d401e, 30fps, video only, 40.20MiB
244          webm       854x480    480p  958k , vp9, 30fps, video only, 66.81MiB
135          mp4        854x480    480p 1200k , avc1.4d401f, 30fps, video only, 80.16MiB
247          webm       1280x720   720p 2477k , vp9, 30fps, video only, 141.16MiB
136          mp4        1280x720   720p 2490k , avc1.4d401f, 30fps, video only, 181.58MiB
248          webm       1920x1080  1080p 3642k , vp9, 30fps, video only, 231.56MiB
298          mp4        1280x720   720p60 3961k , avc1.4d4020, 60fps, video only, 247.84MiB
302          webm       1280x720   720p60 4573k , vp9, 60fps, video only, 245.69MiB
137          mp4        1920x1080  1080p 5297k , avc1.640028, 30fps, video only, 386.24MiB
303          webm       1920x1080  1080p60 6203k , vp9, 60fps, video only, 385.86MiB
299          mp4        1920x1080  1080p60 6574k , avc1.64002a, 60fps, video only, 500.66MiB
18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k, 58.92MiB
22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
moguf_mac:~ moguf$

安装

mac安装方法:
brew install youtube-dl
brew install ffmpeg

github的地址:

https://github.com/ytdl-org/youtube-dl

其他相关

Q:使用ffmpeg工具合并音视频

ffmpeg -i v1.mp4 -i v1.m4a -vcodec copy -acodec copy output.mp4

输入视频和音频就能直接合并成有声音的mp4

注:系统安装了ffmpeg,youtube-dl会自动合并,一般情况不需要手工处理

Q:使用ffmpeg提取MP4文件的音频

下载的MV想放手机里听,当然用MP3咯。

ffmpeg -i v1.mp4 -f mp3 -vn v1.mp3

参数解释:
-i input,输入的文件
-f format,输出的格式
-vn vedio not,输出不包含视频

原来抓取的一些视频,就可以提取MP3,ffmpeg真是很方便。

End.