分類 FAQ 下的文章

国内网络问题,YouTube下载过程中容易失败,返回信息为:

...
[download]  57.0% of ~41.62MiB at 578.57KiB/s ETA 01:28 
[download]  57.0% of ~41.62MiB at 694.36KiB/s ETA 01:27 
ERROR: unable to download video data: <urlopen error EOF occurred in violation of protocol (_ssl.c:600)>

若有此类错误,则可以重试下载。
甚至这些错误也会去重试:

unable to download video data:
unable to rename file:
WinError 10061
Did not get any data blocks
aria2c exited with code
unable to rename file: [WinError 32]
nonnumeric port:

程序中,碰到此类情况,默认重试10次。一般情况下,就能解决问题了,但有些10次不够,怎么办?
改配置文件。
请定位到%appdata%\CRTubeGet文件夹,在CRTubeGet.ini之[Download]节中,加入如下字段:

[Download]
MaxRetryTimes=100

之后启动程序,则下载过程失败后,可重复100次。

如何看到它起了作用?
还是%appdata%\RTubeGet文件夹下,日志文件,CRTubeGet.log中,看有没有如下字串:

2019-05-13 20:26:05 Retry download times: 0, url: https://www.youtube.com/watch?v=eY1vR-g6R0c
2019-05-13 20:26:21 Retry download times: 1, url: https://www.youtube.com/watch?v=eY1vR-g6R0c
2019-05-13 20:26:45 Retry download times: 2, url: https://www.youtube.com/watch?v=eY1vR-g6R0c

如有这个的,且download times: 后面数字一直递增,即为它在工作。
直到达到指定重试次数,才显示以失败。

OK,若您碰到如此情况,这样改下再做下载吧

CR TubeGet支持主流搜索引擎之视频结果下载。
当前支持的搜索引擎为:google、bing、baidu、yahoo、yandex、ask

以google为例,比如搜索[月季花],并选择视频:
2019-05-05_164349.png

并Copy其URL地址入CR TubeGet,可得视频列表:
2019-05-05_164358.png

点击下载,即可下载支持的视频结果:
2019-05-05_164502.png

是不是很简单呢?
其它搜索引擎视频搜索结果亦如此,请试试吧。
ask.png
bd.png

注:v0.9.1.6版起,参数设置中加入此选择项
auto_start.png


程序启动,若下载列表中有未完成任务,则在启动后会继续下载。
如何不让它自动下载呢?

修改配置文件可实现此功能。
请定位到%appdata%\CRTubeGet文件夹,在CRTubeGet.ini之[System]节中,加入如下字段:

[System]
ResumeOnStartUp=False

之后启动程序。
这样,当程序启动后,未完成任务,将显示为[已暂停]状态。
paused.png
待您手动点击[下载]按钮,即可开始继续下载。

新版CR TubeGet已内置支持,此教程已失效。

youtube-dl对于bilibili列表下载不支持。
实际上,bilibili普通视频与播放列表,其url在入口处没有分别,因此以url做区分,不行。
但若有教程类列表,其中视频后以?p=1表示,比如:

这大概是最好的C#入门教程了吧
https://www.bilibili.com/video/av2357992/?p=1

根据此特征,设计其内置列表表达式,得列表如:
bl_p1.png
但youtube-dl对此解析取cid有问题,我已做反馈,至此时尚无回音。
BiliBili列表下载同一个视频问题分析

2019.05.31:好吧,我也等不及了,自己编译youtube-dl_cr.exe,这个是为bilibili及其它中国网站而特别编译的。
1、下载crtubeget.rar,解压
2、下载ytdl_cr.exe,丢入crtubeget目录中,即可实现bilibili的列表下载
注:v0.9.1.9版,遇到此种情况,自动下载此组件
它的文件描述是:YouTube video downloader for CR TubeGet
bilibili.png

然后再下载列表视频,如下图:
bilibili download.png
下载结果,是想要的:
bilibili downloaded.png



还有一类是记录片。
比如:

深入大脑:第1集_纪录片_bilibili_哔哩哔哩
https://www.bilibili.com/bangumi/play/ep275928

它将被解析为Watch列表。而另种形式,直接解析为播放列表:

深入大脑 _ 纪录片 _ bilibili _ 哔哩哔哩弹幕视频网
https://www.bilibili.com/bangumi/media/md28220253

解析如下:
documentary.png



第三种就是搜索结果。
今天突然对清江画廊有点兴趣,就搜索一把:

https://search.bilibili.com/all?keyword=清江画廊

以此写解析式,得结果如下:
bl_p2.png
非常不错。一键下载,可以慢慢欣赏了~
pl_3.png



第四就是up主上传的视频:
bl_list.png



还有一种情况是,视频是分段的,也以列表处理。
注:此问题,在v0.9.2.0中已解决,分片视频被完全下载为单一文件。
比如:https://www.bilibili.com/video/av17558564
以youtube-dl下之,其显示如下:
bipl.png
CR TubeGet亦对它做列表处理。
因为分段视频地址与普通视频地址格式一样,判断是否列表需要请求其页面源码解析,耗时一点,因此默认没有设置,而以配置文件开关实现。
使用此功能,需要在配置文件中加个开关:
请定位到%appdata%\CRTubeGet文件夹,在CRTubeGet.ini之[Download]节中,加入如下字段:

[Download]
ParseBiliBiliPlaylist=True

之后启动程序。
那么,在解析上述url时,它将以列表解析:
bipl_2.png
OK,它将被完全下载。
pl_downloaded.png
不完美的是,它显示的视频时间,是整个视频的,目前没法拿到视频片段时间。

它是基于youtube-dl而封装的一款视频下载软件。
支持千多个视频站点下载,大部分是国外的。国内网站,原生对bilibili支持很好。
而经由自定义解析器,可以扩充对其它视频网站的支持。

其用法很简单。即提供一条视频URL,可下载其中视频。
下面以齐豫[一面湖水]为例子,列下视频下载方法:



1、常规方法
去YouTube网站(其它视频网站一样),找到要下载视频的Url,复制它
copy1.png
copy2.png
paste.png
这里,甚至可以用Ctrl+V来粘贴
downloading.png



2、简单用法
内置浏览器,这里视频下方有[下载]按钮,及url地址栏右侧亦可下载
m2.png



3、剪切板监测
此为便捷用法。此功能开启,在参数设置中:
clip_board.png
之后,复制支持的视频url,即会添加一条下载任务,如图示:
clip.gif



4、懒人用法
我最喜欢的方法,即拖放。
drag.gif
b3.gif
甚至,可以拖段文字上来:
drag2.gif



5、拖放有视频url的文本文件
此方法,只是懒人方法一个变种,大批量下载时有用:
drag2.gif

好的,亲爱的朋友,这么多方法,你喜欢哪一种呢?