如何简单稳定免费下载到腾讯、优酷、a站的高质量mp4视频?
2020.04.18最后更新:目前优酷更新算法加密了ts,此方法已对优酷失效。腾讯的m3u8似乎很难这样扒出来了,不过只要扒得到依然适用。a站无变化依然适用。本文更新次数用完,若以后彻底失效则本文作废(也许其中的思路方法有一定启发意义。下面是原正文:

不用那种傻比第三方工具,不用解析网站也不用会编程。言归正传,从它们客户端下载的视频都自带编码格式,不用客户端就不能播放,一般免费软件转码不行,也无法当素材用。若还想追求高质量,从其它解析网站,云盘等下载的话,视频压制传输角度来说又多经了一手,质量多了些损耗,且不论找不找得到资源,资源好不好,是否正版。
所以,这个方法是直接从它们的网页上下载,做到保证质量,支持正版,想下就是真的下(草
而且腾讯和优酷的还没有水印,a站的可能是水印本来已经硬嵌在视频里了(对不起呐
(质量的话多少还是有一点损耗的,但感觉可能是最小损耗的方法了x)
前提是Windows系统网络良好,缺点是不能断点续传。
先说明,下载是用于非营利学习研究等用途,不要未经原作者同意就私自乱传,不要侵害别人的权益。
一、腾讯视频、优酷、a站的视频下载
使用的工具:
①浏览器火狐或chrome,其它可能也可以。个人推荐火狐
②ffmpeg,它的下载、安装、怎么运行请看下面这篇专栏,本文不再说了

(听名字就不是什么傻比的第三方工具,不知道可以搜一下百科看ffmpeg有多牛比)
③一个bat批处理文件(后面下文直接分享给你们)
(话说mac系统有没什么类似的批处理文件(当然如果想自制这个bat的话还要excel和记事本x
三个平台这个道理都一样,先说腾讯。(这里用的是chrome浏览器)
打开一个视频
可以看到视频右上角有腾讯视频水印

这里up以普通用户账号登录,可以看720p。不登录的话网页这只能最高480p。
按键盘F12打开控制台
点击“network”,再点“media”

刷新或者直接播放,能看到加载出一个这样的文件

右键单击,点“open in the new tab”


噔噔!再右键另存为就可以了
注意这样下载的也是720p,没有腾讯视频的水印
emmm等一下,这里想说两点。一是这样未免也太简单了吧??嗯,当然没那么简单,不过腾讯上有些视频就是这么简单,还有一些平台例如新片场、场库、一席、开眼也是这样下载的。
二,720p也敢说高质量??俺知道,因为按当前这些操作最高的就是720p了,如果有腾讯、优酷会员,那包括会员观看的视频在内就都能1080p(x
因此,像其它一些影视番剧等比如下面这个樱桃小丸子
当然不是那么好下,不过其实也不难
(这里是火狐浏览器)

有水印这点还有步骤都和之前一样x
F12控制台选择“网络”→“媒体”(注意chrome是network→XHR)
播放视频让它加载,或者F5刷新
我们能看到有很多“xxx.ts”的文件,可以理解成缓存的切片视频
当然不是把这些一个个下载下来
我们找到下面这个出现的文件(一般要几秒到几分钟可能,不行就刷新或换浏览器)

也可以在“过滤URL”打上m3u8进行搜索,像百度的道理(chrome里叫“filter”)

右键复制这个m3u8文件的网址

接着在ffmpeg里输入以下命令行(怎么看懂命令行请看下面这个专栏)


ffmpeg -i "之前复制的网址" 视频想保存的目录\.m3u8
(注意就是.m3u8,不要在这给m3u8文件起名字,ffmpeg自己知道怎么办)
回车开始下载,像下面这样有很多“xxx.ts”

等待完成即可。注意网络断了只能重来
速度偏慢。如果是电视剧1080p的话一般0.5~0.7x,电影的话可能更慢,我没下过x
但这样视频实际质量是最好的
如果想求快的话就加上“-c:v copy”,如下
ffmpeg -i "复制的网址" -c:v copy 保存的目录\.m3u8
速度大概比原来相应快几倍到十几倍,可能看个人电脑和网络情况
这样会牺牲一点点画面质量,不过up不觉得对观看或作素材来说有什么影响(推荐)

有时会遇到以下的情况(up现在就是x


这样最后是得到一个0.ts文件

.m3u8文件可以删了。看看这个视频有没有什么质量问题
一般都没有(有就重来x)转码成mp4就可以了,使用ffmpeg以下命令
ffmpeg -i 所在目录\0.ts -c copy 另外的保存目录\可以起个名字了.mp4
如果不是上面的情况,一般就是像下面这样下载完成:


这里有775个ts切片视频,要把它们都合并起来
用到之前说的bat批处理文件,下面这里是分享
(蓝奏云链接https://lusisi.lanzouv.com/b015cklqb 密码:ezd4)
up做了一个“2000个ts视频合并.bat”文件,一般用于80分钟的视频没问题

将bat文件放到和ts视频一个文件夹里,双击运行
(up修改过专栏,懒得换图了)

自动生成合并的`news.ts文件
同样,最后转码成mp4就可以了。其它的都可以删掉

没有水印

优酷也是这个做法

其它步骤一模一样

这里up没登录优酷最高480p,可以看到没有优酷水印
a站也是一模一样

就不演示了。a站有水印,可能原来就已经硬嵌在视频里了
二、下载的相关注意事项(避免踩坑不要跳过!)
1、那些复制的网址不用想着保存下来。因为这些网址好像每隔一段几个小时以上的时间(俺也不知道多久,反正挺久的不担心)就会变换一次,这样再用之前的网址,ffmpeg里会显示403 forbidden(所以如果下载的时候出现这个,多半是网址变了,去复制新的网址就行)。
2、如果懂ffmpeg操作和常用参数,首先不太建议考虑-c copy或-c:a copy,虽然是更加快,但视频质量、音质似乎会更多损失一点(这点up存疑,不过感觉-c:v copy也够速度了)。
3、还有,首先不太建议考虑ffmpeg -i "input url" -c copy .\output.mp4命令行来下载,俺知道这样下直接合并当然爽啦,但好像会有码率被限制的情况。up这试了几次明明1080p的视频都只有1000k的画面码率……(当然如果没这情况的话结合第2点还是可以考虑,毕竟也不用另外合并ts了)
4、如果不懂ffmpeg其它操作之类又或者不想再学,那就按上文所说的命令行就行。不懂可问我。
三、如何制作这个bat文件
说完这个最后还有这个下载做法的原理背景。其实就是利用Windows系统的cmd命令(不懂可自行搜一下“cmd命令”),现在一般社会上都不怎么了解学习这些了好像,但它非常实用又免费,好。
这个bat文件里就是一串命令行,如下:
copy/b 0.ts+1.ts+2.ts+3.ts new.ts
意思是把名字是0、1、2、3这四个ts视频,按从左到右顺序合并成一个名为new.ts的视频
所以这就好办了,我们打开记事本

就这么写,越多越好,写多了照样可以只用来合并几个ts视频
虽说一劳永逸,但这样手打几十上百也是很有趣的x
所以我们用到excel,像下面这样直接往右拉

然后复制粘贴到记事本


复制出现的空白,选择“编辑-替换”

把空白粘贴到“查找内容”,直接点击“全部替换”

(记得注意“copy/b 0.ts”、“+333.ts new.ts”这两个本身是带空格的)
最后给这个txt文本起个名字,把后缀改为“.bat”就完成啦

四、原理背景:HLS协议简要介绍
因为腾讯视频、优酷、a站都用到了这个hls协议,所以都可以用这个方法来下视频。但不是说只要用了hls协议的平台都可以这样做,没加密的就可以,就比如像压缩包有密码一样。
hls是苹果家的技术,也不是什么新鲜东西,2013年之前就已经有了,近几年逐步被我们一些视频平台所采用。因此对用控制台下载视频的朋友们来说,就不像以前那样去找到整段mp4、flv或者分段flv这样来下载了。
它的意思是,把网络视频切成许许多多的ts小段视频,以一个m3u8纯文本文件作为索引,网上播放视频的时候m3u8像索引表一样找到相应的ts小视频接连播放。那我们知道它的原理规则,就知道问题是要去找到这个m3u8文件,再去下载想下的视频就可以了。当然如果能明白m3u8文件里写的东西的意思就更好啦。
科普文章:https://blog.csdn.net/cabbage2008/article/details/50522190
感谢你观看到这里。