首页 > 编程语言 >使用python+ffmpeg+youtube-dl下载youtube上的视频

使用python+ffmpeg+youtube-dl下载youtube上的视频

时间:2023-09-13 10:22:08浏览次数:43  
标签:视频 dl ffmpeg url youtube https 下载

使用python+ffmpeg+youtube-dl下载youtube上的视频

 

一、准备工作

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-vps 和 https://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

 

标签:视频,dl,ffmpeg,url,youtube,https,下载
From: https://www.cnblogs.com/flyingsir/p/17698827.html

相关文章

  • 3.1 DLL注入:常规远程线程注入
    动态链接库注入技术是一种特殊的技术,它允许在运行的进程中注入DLL动态链接库,从而改变目标进程的行为。DLL注入的实现方式有许多,典型的实现方式为远程线程注入,该注入方式的注入原理是利用了Windows系统中提供的CreateRemoteThread()这个API函数,该函数第四个参数是准备运行的线程,我......
  • 3.2 DLL注入:远程APC异步注入
    APC(AsynchronousProcedureCall)异步过程调用是一种Windows操作系统的核心机制,它允许在进程上下文中执行用户定义的函数,而无需创建线程或等待OS执行完成。该机制适用于一些频繁的、短暂的或非常细微的操作,例如改变线程优先级或通知线程处理任务。在APC机制中,当某些事件发生时(例如......
  • RTMP视频服务器EasyDSS互联网视频直播点播平台如何基于FastDFS、ffmpeg、videojs实现
    互联网视频直播点播EasyDSS平台能实现视频流媒体的上传、转码、存储、录像、推流、拉流、直播等功能,在场景上,可以应用到互联网教育、在线课堂、游戏直播、视频点播、无人机等领域。 视频点播平台是指提供用户上传、存储和播放视频内容的在线平台。它可以让用户随时随地观看各......
  • FFmpeg进阶: 音频滤镜大全
    在做音频处理模块的时候,为了对声音进行优化处理,我很多时候会使用各种算法对音频进行变换,效果包括变音变调、声音降噪等等。其实FFmpeg库里的滤镜模块包含了很多有用的音频滤镜算法,这对于提升开发效率避免重复造轮子是很有帮助的。这里翻译了一下FFmpeg官方文档的所有音频滤镜的介......
  • 用ffmpeg实现ECNR
    ECNR(EchoCancellationandNoiseReduction)是一种处理语音信号的技术,可以去除回声和噪声,提高通话质量。FFmpeg是一个流行的开源多媒体框架,它可以实现对音频、视频等多种格式的编解码、过滤、转换等操作。要使用FFmpeg实现ECNR,需要先了解以下几个概念:回声:当我们在手机或......
  • 提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了
    提取.NET开发的DLL中的类为json文件工具软件ConsoleApp_Dll_Class2Json_V1.0开源了同步在github和gitee上面发布。github https://github.com/binghe021/ConsoleApp_Dll_Class2Jsongitee https://gitee.com/binghe021/ConsoleApp_Dll_Class2Json......
  • HookWinInet库实现类似fiddler的替换url
    fiddler正常情况下只能捕获WinInet库的请求,所以,只要浏览器设置代理服务器为fiddler,且fiddler可以正常抓包,就可以推测这些请求所使用的网络库是WinInet库。本文想要通过hook的方式实现类似于fiddler的替换响应,也就是替换一个url链接,访问的时候,响应变成了另外一个服务器发出来的。......
  • 使用gradle的方式进行Springboot3的web开发(微服务版)
    简要:最近看了很多的Springboot3的项目,但是发现很多都是用maven来进行版本管理的,很少有用gradle来管理的,通过网上查找资料,看视频,终于自己写一个gradle管理的Springboot3的项目 第一步:创建项目注意:JDK的版本必须要在17或者以上。 第二步:设置gradle仓库 第三步:创建项目......
  • 【学习笔记】折半搜索 Meet In The Middle
    点击查看目录目录算法实现杂题乱写[CEOI2015Day2]世界冰球锦标赛题单oi-wiki算法实现我们正常的搜索应该是一个指数级的:\(2^n\)。然而我们可以把这个搜索拆成两半,设小于整张图的限制\(limit\)为合法:对于上半搜索,我们有若干符合限制的答案\(sum_1\),对于下半搜索,我......
  • ffmpeg 视频处理
    ffmpeg合并视频报"Unsafefilename"问题:增加-safe=0参数ffmpeg-fconcat-safe0-i./video.txt-ccopy-y./Scratch安装步骤.mp4#第一种方式#video.txt文本内容需要注意文件顺序file'1.mp4'file'2.mp4'#mp4文件合并命令ffmpeg-fconcat-safe0-i./vi......