使用 youtube-dl 下载网络视频

概述

youtube-dl 是一个命令行程序,用于从 YouTube.com 和其他几个网站下载视频。它需要 Python 解释器,版本2.6,2.7或3.2+,它是跨平台程序。它可以运行在 Unix 、Windows 或 macOS 上。它是开源的,这意味着你可以修改它,重新分配或使用它。本文介绍如何使用它从视频网站如 YouTube、Youku、Bilibili 等视频站点下载并处理视频

必备工具

  • 科学上网,下载国内站点视频不需要
  • FFpmeg —— 一个免费软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了 libavcodec —— 这是一个用于多个项目中音频和视频的解码器库,以及 libavformat —— 一个音频与视频格式转换库
  • youtube-dl.exe 命令行程序

安装

UNIX 用户(Linux、OS X 等)键入安装:

$ 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

Windows 用户直接下载 .exe 命令行程序 并配置其环境变量即可

配置环境变量添加程序路径,Windows 配置环境变量详细教程点这里

环境变量

安装 FFmpeg 并配置其环境变量

image.png

从 YouTube 下载一个视频

进入 YouTube 打开任意一个视频,复制视频地址,下图两种方式都可以

image.png

运行 CMD 命令行(Win+R 键入 cmd 并回车),执行 youtube-dl -F https://www.youtube.com/watch?v=dfnCAmr569k

image.png

第一列数字为文件代号,后面的几列分别为 文件格式、分辨率、码率、文件大小等,我们直接下载清晰度最高的视频及音频并使用 FFmpeg 自动合并,执行 youtube-dl -f 137+140 --proxy 127.0.0.1:1080 https://www.youtube.com/watch?v=dfnCAmr569k 即可,请注意我的代理软件端口为 1080 大家的可能不一样

image.png

下载并合并完成,1080p

image.png

配置文件

除了在命令行直接执行命令行选项还可以通过将任何支持的命令行选项放置到配置文件来配置 youtube-dl。在 Linux 和 OS X 上,系统范围的配置文件位于 /etc/youtube-dl.conf,用户范围的配置文件位于 ~/.config/youtube-dl/config。在Windows上,用户范围的配置文件位置是 %APPDATA%\youtube-dl\config.txt 或 C:\Users<user name>\youtube-dl.conf。请注意,默认情况下,配置文件可能不存在,所以您可能需要自己创建它。

例如,使用如下配置文件,youtube-dl 将始终只提取音频,不使用文件上次使用时间来设置文件最后修改时间,使用代理下载并保存所有输出到用户主目录下的 Movies 文件夹下

# Lines starting with # are comments
# Always extract audio
-x
# Do not copy the mtime
--no-mtime
# Use this proxy
--proxy 127.0.0.1:3128
# Save all videos under Movies directory in your home directory
-o ~/Movies/%(title)s.%(ext)s

请注意,配置文件中的选项与常规命令行中所调用的选项(又名 switches)相同,因此在 - 或者 -- 后面不得包含空格,例如 -o--proxy 不能写成 - o 或者 -- proxy

你可以使用 --ignore-config 来禁用配置文件,也可以使用 --config-location 启用自定义配置文件

关于更多的命令参数用法请参阅 youtube-dl 命令参数

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

超全整理!Linux 大牛收集的Linux性能分析工具合集

本文由马哥教育面授班23期学员推荐,转载自恒生研究院,作者为董西孝,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 出于对Linux操作...

1.4K120
来自专栏企鹅号快讯

11个让你吃惊的Linux终端命令

我已经用了十年的linux了,通过今天这篇文章我将向大家展示一系列的命令、工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我。 ? 1. 命...

25790
来自专栏程序员互动联盟

【专业技术】Android 启动性能优化 - kernel篇

题目有点大,其实kernel的启动性能调整和android基本没什么关系,我想应该适用所有使用linux的嵌入式设备。 时间测量 说到性能调整,第一件该干的的事...

42680
来自专栏北京马哥教育

Linux终端下 dstat 监控工具

关于dstat dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了...

31060
来自专栏IT技术精选文摘

带着问题学习分布式系统之数据分片

分布式系统(尤其是分布式存储系统)需要解决的两个最主要的问题,即数据分片和数据冗余,下面这个图片形象生动的解释了其概念和区别: ? 其中数据即A、B属于数据分片...

53260
来自专栏刘君君

Rest Notes-基于网络应用的架构风格

14720
来自专栏数据和云

数据库高可用和分区解决方案-MongoDB 篇

许春植(Luocs) (阿里巴巴高级数据库管理员,7年以上数据库运维管理经验,擅长MySQL、Oracle及MongoDB数据库,目前主要研究并建设Mongo...

98560
来自专栏安恒网络空间安全讲武堂

Couchdb权限绕过和任意命令执行植入挖矿程序入侵分析

41330
来自专栏喵了个咪的博客空间

[Golang软件推荐] Frp内网穿透

在一个IP紧缺的时代,连电信也不分配固定IP给到你用,一条专网专用线路贵的不行,那么作为软件开发人员常常要使用到外网,比如和微信调试程序,给到不在同一网段的朋友...

1.1K40
来自专栏杨建荣的学习笔记

Oracle闪回原理-Logminer解读redo(r11笔记第17天)

说到闪回日志,我们都知道闪回日志中记录的都是逆操作,那么就有两个问题需要解释了。 闪回日志和回滚段保存的数据有什么差别? 如果做了truncate操作,闪回日志...

391120

扫码关注云+社区

领取腾讯云代金券