良许Linux教程网 干货合集 Linux系统使用youtube-dl下载视频具体解决方案

Linux系统使用youtube-dl下载视频具体解决方案

本篇文章和大家分享一下Linux系统中如何使用youtube-dl下载视频的方法,本文实操记录、绝无水文,如有遗漏或者错误欢迎指正。

Linux系统使用youtube-dl下载视频具体解决方案

1、安装youtube-dl

youtube-dl 的官网:https://ytdl-org.github.io/youtube-dl/index.html

youtube-dl 的GitHub项目地址:https://github.com/ytdl-org/youtube-dl

youtube-dl支持的网站列表:https://ytdl-org.github.io/youtube-dl/supportedsites.html

youtube-dl是一个命令行工具,可以下载http://youtube.com和其他网站(详细网站列表见链接)上的视频内容。

使用前提是需要python解释器(版本需2.6、2.7或3.2+)。

不受限于电脑的操作系统,Linux、Windows、MacOS都可以使用,本文主要介绍Linux下的使用。

下载安装youtube-dl的几种方法:

(1)

sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+rx /usr/local/bin/youtube-dl

(2)

sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl

sudo chmod a+rx /usr/local/bin/youtube-dl

(3)

sudo pip install –upgrade youtube_dl

备注:youtube-dl是通过pypi(Python Package Index)分发的,如果电脑里有pip,用这种方法很好。而且还可以更新到最新版本 –upgrade。本文介绍的就是这种方法

(4)

brew install youtube-dl

经过检查,目前电脑里还没有pip,所以需要先下载安装pip。

不过,安装pip时会需要使用setuptools中的模块,所以,我们还需先下载安装setuptools。

img

img

本地Windows电脑下载好setuptools和pip源安装包,可以用WinSCP将其传到Linux计算云电脑中。

img

img

解压并安装setuptools

# cd /usr1/Softwares

# unzip setuptools-41.0.1.zip // 解压

# cd setuptools-41.0.1

# python setup.py install // 安装setuptools

解压并安装pip

# cd ..

# tar –zxvf pip-19.1.1.tar.gz // 解压

# cd pip-19.1.1

# python setup.py install // 安装pip

img

img

安装youtube-dl

# cd ..

# pip install –upgrade youtube-dl

img

警示:2020年1月1号之后不在维护Python 2.X版本,而且后续版本的pip也不再支持Python 2.X了。

2、用youtube-dl下载视频到Linux电脑中

# youtube-dl –list-formats https://www.youtube.com/watch?v=lyRPyRKHO8M // 查看当前地址链接的视频的所有可下载的格式,但不进行下载。

# youtube-dl –f 22 https://www.youtube.com/watch?v=lyRPyRKHO8M // 执行下载,22表示格式标志码。

img

img

在Linux计算云电脑中下载完成

# youtube-dl –help命令可查看其它更全的操作。

img

从youtube-dl的GitHub项目网站上也能看到更详细的说明信息。

单独下载纯视频、纯音频、字幕,然后合成

从上述的 –list-formats 选项命令中可知,某一视频资源有多种音频视频格式,而且一般只有一个是音视频合成好的。

如果想下载更高质量的音频、视频,然后自己合成,该怎么办?

使用youtube-dl -f 来选择下载列出的任何一条资源(单独视频或单独音频)。若想直接下载更高质量完整视频(如4K),使用youtube-dl配合ffmpeg来实现。

如果系统中安装了ffmpeg的话, youtube-dl 会自动合并下下好的视频和音频, 然后自动删除单独的音频、视频文件。

安装ffmpeg

一套开源免费软件,可以处理视频、音频等多媒体文件和流。

# apt-get update

# apt-get upgrade

# apt-get install ffmpeg

安装ffmpeg后,使用下面的命令就可以下载指定质量的视频和音频并自动合成。

# youtube-dl –list-formats https://www.youtube.com/watch?v=wzEQX1tMLdY

# youtube-dl –list-subs https://www.youtube.com/watch?v=wzEQX1tMLdY

# youtube-dl –f 135+251 –write-auto-sub https://www.youtube.com/watch?v=wzEQX1tMLdY

img

img

其中—list-subs选项命令可以查看此资源的字幕captions情况。

而 –write-auto-sub选项命令可以自动下载一个字幕(一般默认是英语en字幕)。

img

注意:135 标记的是纯视频,251标记的是纯音频,在想音视频合成下载时,必需把视频标记放在加号前面。所以选项命令必需是 –f 135+251,如果写成251+135会报错。

下载的音、视合成的视频格式被自动设成.mkv格式,另外还有一个单独的.vtt格式的字幕。

img

3、用WinSCP将视频从Linux计算云传到本地Windows电脑中

img

4、升级整理Linux中的python等软件

在上述“安装youtube-dl”的时候,发现此Linux电脑中的python还是2.7版本的,并警示说:在2020年1月1号之后就不在维护Python 2.X版本了,而且后续版本的pip也不再支持Python 2.X了。

所以需要升级并整理一下此电脑中的Python。

$ python –version

img

但是,当 $ python3 –V 时,发现此电脑已经也装有Python 3.5了。

img

所以现在需要修改一下系统的默认Python为 Python 3.X。

另外,Python 2.X也建议保留,别卸载、别删除,因为可能会有一些东西是在2.X版本玩的。

一般Linux系统中,软件的二进制文件都可以在 /usr/bin 或 /usr/local/bin (这个优先级更高)找到。

下面截图中也可以看到,新安装的pip、youtube-dl软件也都是默认放在 /usr/local/bin目录中的。

$ ls –al /usr/bin

img

img

在 /usr/bin 下面查看Python的路径,可以看到python链接的是 python 2.7。所以,执行python就相当于执行python 2.7。

另外,再查看下 /usr/local/bin 的情况。

$ ls –al /usr/local/bin

img

用修改链接文件方法来整理Python

$ ls –al /usr/bin | grep python // 查看安装目录下python相关文件

$ sudo rm /usr/bin/python // 删除原来的python软链接

$ ls –al /usr/bin | grep python

$ sudo ln –s /usr/bin/python3.5 /usr/bin/python // 创建新的软链接指向已有的3.5版本

$ ls –al /usr/bin | grep python

$ python –V // 查看此时python的版本

img

img

img

img

用update-alternatives方法来整理Python

这个update-alternatives是Debian系提供的一个工具(非Debian系的Linux不适用),原理上类似通过链接的方式来整理电脑里的相同软件的不同版本,不过其切换过程非常方便。

但是,如果使用中很少做软件的版本切换,大多数情况都使用Python 3.5的话,上述用修改软链接文件的方法就足够了。

$ sudo update-alternatives –list python // 先列出所有可用的Python替代版本的信息

img

出现错误,返回 update-alternatives: error: no alternatives for python

表示当前电脑里的Python替代版本信息还没有被添加进update-alternatives中。

将Python的替代版本信息添加进update-alternatives中。

$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python3.5 2

$ sudo update-alternatives –install /usr/bin/python python /usr/bin/python2.7 1

$ sudo update-alternatives –list python

$ sudo update-alternatives –config python

$ python –version

img

其中 –install 选项使用多个参数用于创建符号链接,最后一个“2”或“1”表示优先级,值越大优先级越高。自动模式下高优先级(2)链接选定的是Python 3.5版本。

其中 –config 命令是列出所有python版本信息,并可以很方便的选择切换任意版本。

至此,两种系统级整理软件版本(比如Python)的方法就介绍完毕!

用Python3.5重新安装整理setuptools和pip软件

上述的截图中能发现之前用python安装的setuptools和pip软件都是版本较低的,具体可以查看安装目录 /usr/local/bin

img

强迫症的我想卸载重装setuptools和pip软件。

卸载之前使用python setup.py install方式安装的包

(尝试过使用$ sudo apt –purge remove python-pip 结果根本找不到python-pip,因为pip不是通过apt install安装的,所以用apt卸载时根本找不到已安装包。)

img

正确的卸载方法是:

使用之前的Python2.7版本重新再装一次pip,并且设置好记录文件

$ cd pip-19.1.1

$ python –version

$ python2 –version

$ sudo python2 setup.py install –record pipfile.txt

img

img

$ ls –al /usr/local/bin

img

可以看到pip(pip2、pip2.7)的确是被刚刚重新安装过。

而安装记录文件 pipfile.txt 被新建并存放在 /usr1/Softwares/pip-19.1.1/ 目录中。

$ sudo cat pipfile.txt | xargs rm –rf // 卸载删除这些pip安装文件

注意此时用管理员账户无法卸载删除,不被允许 permission denied。

img

所以需要用root的账号进行卸载删除操作。

img

img

的确,/usr/local/bin 目录下已经没有pip相关软件了。

同理,卸载删除setuptools相关软件。

img

img

img

img

重新安装Python3.5版本的setuptools和pip,并升级youtube-dl

$ python –V

$ sudo python setup.py install –record py3setuptoolsRecord.txt

$ ls –al /usr/local/bin

$ sudo rm –f py2setuptoolsfile.txt // 强制删除之前Python2版本重装时产生的记录文件

$ cd ..

$ cd pip-19.1.1

$ sudo python setup.py install –record py3pipRecord.txt

img

img

img

注意由于youtube-dl是之前用pip2.7安装的,所以此时的youtube-dl会出现错误。

而且用管理员账号使用pip升级youtube-dl的时候也不成功。

使用root账号来升级youtube-dl软件版本。

img

img

搞定!

然后,使用2019.5.11的新版youtube-dl再下载个视频。

杨超导演在2016年“一席”栏目中以专业视角分析周星驰《喜剧之王》镜头的视频(个人超爱)。

# youtube-dl –list-formats https://www.youtube.com/watch?v=UQfAEYhcH3A

# youtube-dl –f 43 https://www.youtube.com/watch?v=UQfAEYhcH3A

img

img

至此关于Linux系统中使用youtube-dl下载视频的教程分享结束,欢迎大家在评论区留言。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部