[教学] youtube-dl win版文字接口 简易版教学

楼主: x94fujo6   2020-03-26 22:21:39
文字接口对不懂英文的人可能比较难上手
做个简易教学
这篇不会用到git流程
也不需要架python或其他语言环境
(会上面的请不要看这篇好吗XD)
https://github.com/ytdl-org/youtube-dl
这是ytdl的git页面
往下拉直接就是说明
要下载 点release
https://i.imgur.com/qoeehWn.png
最上面就是最新的版本
https://i.imgur.com/Goykg4T.png
youtube经常在更新
最常见就是突然无法下载,跳错误
(一些贴网址下载的钓鱼(划掉)网站也会很神奇的同步失效 ㄏㄏ)
当你发现无法下载,大概过一两天有新版下指令更新就好了
你要稳定+更新快就是用ytdl
(ytdl不只能抓youtube 还能抓twitter、bili、p_rnhub等一大堆网站根本数不完)
因为git是全世界的人都可以共同维护
youtube一偷改什么,大概没几分钟就会有人反应
(然后太多人洗版直接关issues→在修了不要吵辣XD)
(一些看vtuber的监控室(?)/自家保存(?)工具其实也是用ytdl,几乎24小时都有人盯着)
大约1~2小时,很快就会有人写好修复方法推上去
但因为要跑流程,不会马上就release新版本
需要第一时间更新请自己学git流程
人家改好放上去,就自己下指令更新/自己修改编译/直接用python跑
就不用等git那边release
windwos懒人环境就是下载*.exe执行档
https://i.imgur.com/Z1W6PyQ.png
然后做一些设定后
打开cmd/powershell (就windows的文字接口)
输入youtube-dl就可以直接调用
下载之后放到你好记的位置
例如C:\youtube-dl\youtube-dl.exe
(这是超懒人的烂例子,知道我在说啥就不要乱学)
win10
开始→右键→系统→(右上)系统资讯→(左上)进阶系统设定
进阶→环境变量
上面的使用者变量下
有个path(路径)
点两下 编辑
新增
输入刚才放youtube-dl.exe的"资料夹路径"
上面例子就是C:\youtube-dl
改好一路确定储存
这样设定之后
C:\youtube-dl这个资料夹下面所有的exe执行档
都可以在任何地方打开cmd/powershell后直接调用
就跟内键的dos/powershell指令一样
在任意资料夹(最好是你要放下载档案的位置)下
按住shift+右键
会多一个在这里开启powershell
你现在可以用youtube-dl下载所有支援网站的影片了
指令很简单
youtube-dl youtube影片/播放清单/使用者影片列表的网址
例如
youtube-dl https://www.youtube.com/watch?v=pIZHuwR6FKQ
就会直接开始下载默认的格式 (一般是mp4)
这不是最好的,但是是最懒人的格式
[以下进阶使用]
更多指令请看,全都写在上面了
https://github.com/ytdl-org/youtube-dl
要说真的一篇说不完
google很方便,相信有写得比我好的教学
没有也没关系,不懂英文没啥好怕
现在chrome右键直接翻译很方便
加减看也能懂个七八成
看不懂就直接试试看就懂了
ytdl
可以下载影像
可以下载声音
可以下载缩图(Thumbnail)
可以下载字幕(Subtitle)←要过滤出你要的不然会一大堆自动翻译/多国语言全抓下来
可以下载串流
可以设定多个设定档,下载不同网站时直接调用就不用花时间改指令
可以配合cookie/代理绕过各种魔法(?)
可以用批次档/python/其他语言环境调用配合其他工具各种花式使用
etc...
youtube为了适应各种下载速度/硬件,自动减少流量使用/调整画质
现在一个影片会有一大堆不同格式
用-F指令可以看有什么格式(注意大小写有差)
这指令也可以用来测试ytdl支不支援这网站
支援的话就会列出能下载的格式
youtube-dl -F https://www.youtube.com/watch?v=t2X3wlvoShg
https://i.imgur.com/qV6qAs7.png
默认的mp4下载一些短片并不会有什么问题
但如果是几十分钟甚至一小时以上,或是2K、4K
那个档案大小会很欢乐
一般会改选vp9(影像)+opus(声音)←这样会包成mkv,因为mp4不支援
相比mp4+m4a档案更小,品质还可能更好
指令用小写的 -f 格式就可以选你想要的格式
以上面当范例
要抓最高画质又想节省空间,指令就改成
youtube-dl -f 303+251 https://www.youtube.com/watch?v=pIZHuwR6FKQ
因为不一定所有影片都有你要的格式
想要自动选择也可以写好几个条件选最好的
只要用/隔开就好,优先级是由左到右
像这个例子
-f 243+251/243+140/134+140/bestvideo+bestaudio/best
会从最左边条件开始尝试抓
都抓不到就会抓默认的best
下载的档案名称也可以用-o自由设定
可以抓取的资料都在说明页面的OUTPUT TEMPLATE下
https://github.com/ytdl-org/youtube-dl
这些主要是支援youtube但其他网站也是可以用的
只是可能其他网站并没有这个资料,就抓不到
范例
youtube-dl -o "%(uploader)s\%(playlist)s_%(upload_date)s_%(title)s.%(ext)s"
https://www.youtube.com/watch?v=pIZHuwR6FKQ
(上面两行请自行改成一行)
这样抓下来档案会自己放到
アズールレーン资料夹下
档名
NA_20200326_期间限定イベント“闇霭払う银翼” イメージPV.mp4
↑因为这是单影片网址所以抓不到播放清单名称显示NA
[好孩子不要学]
播放清单有可能影片很多
但ytdl为了避免流量太大youtube不爽
默认是一个抓完才会抓下一个
加速方法
用播放清单(playlist)指令+不下载影片只输出资料
只提取影片的网址,再传递给多个ytdl/其他批量工具
就可以一次下载好几个影片
不过这样会损失播放清单名称
不想损失播放清单名称
ytdl可以指定下载清单里的第几个档案
用个简单循环
想同时下载几个就执行几个ytdl
好几倍速
其实已经接近程式设计的领域了XD
指令跟工具一大堆
1万个人可以有1万种花式解法
纯指令→批次档/设定档→python或其他语言→结合其他工具
[结合其他工具使用]
live(直播)是hls(串流)
https://i.imgur.com/EPU9njw.png
可以用ffmpeg/streamlink +vlc直接用拨放器看
相比在浏览器开网页看
优点:
消耗的系统资源大幅降低
可以多线程降低网络不稳(不论你或up)的影响←可能增加延迟
减少延迟
可以一次开10几个拨放器同时看
可以设定buffer(缓冲)←播放会更稳定,但缓冲越大延迟也越高
串流不只能看,也可以直接下载
(我会跟你说有时人家vtuber还在直播,翻译群已经分工打轴+翻译完了吗)
但ytdl原意是下载影片,对直播的支援还是streamlink比较好
虽然没有一定
下面Q&A有
Should I add
作者: holishing   2020-03-26 22:29:00
推个,这个就是最简单可靠的 youtube 影音下载方法了其他 GUI 什么的都是多余的
作者: ch010062 (faker)   2020-03-27 15:57:00
帮补几个自己碰到的雷,网址引入时最好用双引号刮住,ph网址尽量改成http另外引入Cookie蛮担心被侦测到的,除非是登入限定不然我是尽量不用
作者: Bellkna (柔弱气质伪少女)   2020-03-27 18:58:00
这个真的简单好用 都用它+mpv看直播
作者: kesdoputr (k7)   2020-03-28 01:57:00
youtube-dl抓b站第二个part以后的问题不知道解决了没
作者: empingao (empingao)   2020-03-30 18:01:00
有时 GUI 还是比较一目了然,眼拙看错行数抓错格式。
作者: drkh (eutatosp)   2020-05-05 12:17:00
有人做了一个 youtube-dl 的 gui.见 http://mrs0m30n3.github.io/youtube-dl-gui/以及 Github 的网页:https://github.com/MrS0m30n3/youtube-dl-gui名字就叫做 Youtube-DLG. 可是它自带的 ffmpeg.exe 以及ffprobe.exe 已老旧, 最好自行更换为新版.

Links booklink

Contact Us: admin [ a t ] ucptt.com