一、准备工作

1、安装python,详见https://www.cnblogs.com/cnwuchao/p/10562416.html

2、安装ffmpeg,详见https://www.cnblogs.com/cnwuchao/p/10562455.html

3、安装youtube-dl,详见https://www.cnblogs.com/cnwuchao/p/10562502.html

4、科学上网工具自备,详见https://www.seoimo.com/wordpress-vps/#putty-ssh-vpshttps://www.wervps.com/we/1162.html

二、下载YouTube视频

1、查看视频所有类型,只看不下载:

youtube-dl -F [url]
youtube-dl --list-formats [url]

这个只是列出清单信息,并不会下载视频,我们可以看一看有哪些格式可以下载,然后再选择下载,最左边一列就是编号对应着不同的格式。

2、下载视频和音频并主动合并

youtube-dl -f [format code] [url]           //下载指定格式的视频和音频,如youtube-dl -f 135+140 [url]
youtube-dl -f bestvideo+bestaudio [url] //下载质量最好的视频和音频

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

3、下载字幕

youtube-dl --write-sub [url]                           //这样是会下载一个vtt格式的英文字幕和视频
youtube-dl --write-sub --skip-download [url] //下载单独的vtt字幕文件,而不会下载视频
youtube-dl --write-sub --all-subs [url] //下载所有语言的字幕(如果有的话)
youtube-dl --write-auto-sub [url] //下载自动生成的字幕(YouTube only)
youtube-dl --sub-format srt --sub-lang english [url] //下载srt格式,并且语言是英文的字幕

4、下载视频列表

youtube-dl -f [format code] [playlist_url]        //下载指定清晰度(format code)的整个列表的视频
youtube-dl -f bestvideo+bestaudio [playlist_url] //下载视频列表,用质量最好的视频和音频格式
youtube-dl [playlist_url] //下载视频列表,这种方式下载的视频可能是mkv格式或者webm格式

5、youtube-dl还有很多参数

github项目地址:https://github.com/rg3/youtube-dl/

相关参数的翻译:https://www.cnblogs.com/cnwuchao/p/10562502.html

6、其他

youtube-dl-gui(基于youtube-dl的GUI软件):https://github.com/MrS0m30n3/youtube-dl-gui

youtube-dl-gui汉化:https://www.52pojie.cn/thread-766582-1-1.html

you-get:https://github.com/soimort/you-get

使用python+ffmpeg+youtube-dl下载youtube上的视频的更多相关文章

  1. 如何使用python下载网站上的视频

    youtube-dl 从名字上也能看出来,是专门用来下载YouTube的视频. 不过本人对YouTube不感兴趣,但是这个模块可以用来下载bilibili上的视频我们就来试一试 首先pip insta ...

  2. Python:使用youtube-dl+ffmpeg+FQ软件下载youtube视频

    声明:本文所述内容都是从http://blog.csdn.net/u011475134/article/details/71023612博文中学习而来. 背景: 一同学想通过FQ软件下载一些youtu ...

  3. Jenkins 使用python进行调度,并下载apphost上的安装包

    在持续集成的过程中,Jenkins工具是我们必须要会用的工具,那么今天分享一个使用python对Jenkins进行调度的案例 使用的是python-jenkins 库,借用selenium登陆jenk ...

  4. 如何下载网页上的视频和flash的方法

    下面介绍一种下载视频的简便方法,这种方法不需要安装任何下载软件,而且适合所有 FLV(Flash Video)格式的视频文件. 第一步 清空Temporary Internet Files(临时网络文 ...

  5. 如何下载网页上的视频 并且 flv 格式转化成 MP4

    链接:http://www.jb51.net/softjc/222135.html https://jingyan.baidu.com/article/25648fc162f2899190fd0042 ...

  6. 【图文教学】如何轻松下载tiktok上的视频

    我是真诚的想和大家分享这个办法的!这个叫光影存图,图标就是这个绿色的箭头,我是苹果手机,安卓手机也可以用,就是它分免费版和会员版的,没有强制要你充会员,看一下广告就可以获取下载次数,我就是这么干的,只 ...

  7. 老司机教你下载tumblr上视频和图片的正确姿势

    本文面向初学者. 很多同学问我:“我非常想学Python编程,但是找不到兴趣点”. 还有的同学呢,找到了很好的兴趣点,但是无从下手,“玄魂老师,我想下载tumblr上的视频, 怎么下载,Python能 ...

  8. 小白学Python(7)——利用Requests下载网页图片、视频

    安装 Requests 如果安装了Requests就已经可用了,否则要安装 Requests,只要在你的CMD中运行这个简单命令即可: pip install requests requests使用 ...

  9. python爬虫脚本下载YouTube视频

    python爬虫脚本下载YouTube视频 爬虫 python YouTube视频 工作环境: python 2.7.13 pip lxml, 安装 pip install lxml,主要用xpath ...

随机推荐

  1. Gitlab注册时报错:There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.

    今天注册时碰到以下问题: 上面的错误是因为注册时有一个google的验证码需要输入.但是中国无法访问google,因此无法访问并输入该验证码导致. 解决方案: FanQiang或者通过Github登陆 ...

  2. 字符编码几个缩写 ACR CCS CEF CES TES

    摘自https://zhuanlan.zhihu.com/p/27012967 5. 在Unicode Technical Report (UTR统一码技术报告) #17<UNICODE CHA ...

  3. 设计模式之Decorator(油漆工)(转)

    Decorator常被翻译成"装饰",我觉得翻译成"油漆工"更形象点,油漆工(decorator)是用来刷油漆的,那么被刷油漆的对象我们称decoratee.这 ...

  4. linux常用命令:cat 命令

    cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用. 1.命令格式: cat [选项] [文件] ...

  5. 项目方说性能达到百万TPS,如何测试它的可信度?

    项目方说性能达到百万TPS,如何测试它的可信度? 应用系统性能提升的关键在于运维端的接入管理模型(AAA,认证 Authentication.授权 Authorization.计费 Accountin ...

  6. SQL语句执行性能

    通过设置STATISTICS我们可以查看执行SQL时的系统情况.选项有PROFILE,IO ,TIME.介绍如下: SET STATISTICS PROFILE ON:显示分析.编译和执行查询所需的时 ...

  7. Java精选面试题之Spring Boot 三十三问

    Spring Boot Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一: Spring Boot.Spring MVC 和 ...

  8. java根据图片的url地址下载图片到本地

    package com.daojia.haobo.aicircle.util; import sun.misc.BASE64Encoder; import java.io.*; import java ...

  9. tomcat 启动时遇到org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs

    当发生这样的错误的时候 org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet ...

  10. Eloquent JavaScript #06# class

    索引 Notes this Prototype 类 class符号 覆盖派生属性 Maps Symbols iterator接口 Getters, setters, and statics 继承 in ...