[DPlayer] 如何爬取DPlayer网页流视频?

in with 0 comment

最近想看一部电影(感觉很好看),但是优酷没有版权!!而我手里只有优酷会员。没办法,百度一下吧
果真有啊!去了一个网站,能播放想但是有点慢。想下载下来,但是打开F12开发者工具,整个人傻眼了

好多ts文件.png

抱着试试就逝世的心态,我到处乱翻,我发现了DPlayer的踪迹:

dp.png

我眼前一亮,既然用到了这个东西,我们务必知己知彼,方能成功一半
那么,我们总得看看这是什么东东吧!

readme_dp.png

哦,一个播放器啊,涨见识了。但是,主要还是得从ts文件入手

那我们从ts文件入手吧,ts是什么?

ts是日本高清摄像机拍摄下进行的封装格式,全称为MPEG2-TS。ts即"Transport Stream"的缩写。MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。

来自 https://baike.baidu.com/item/TS%E6%96%87%E4%BB%B6/9554188?fr=aladdin

毫无头绪,但是我们将关键词加上dPlayer就有思路了:

dp_way.png

长知识了,原来是一个网页流文件啊!
什么?问我网页流文件是什么?自己百度去。篇幅有限不扯淡

好,我们有办法了!
由于m3u8是一个目录索引文件:

m3u8:m3u8是苹果公司推出的视频播放标准,是m3u的一种,编码格式采用的是UTF-8。m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。

来自:https://zhuanlan.zhihu.com/p/113258324

所以:
第一步,将m3u8 链接get下来
一定要是链接!!!!

get.png

然后,下载ffmpeg,我们用它来GET,一条命令即可:

ffmpeg -i [网址链接] -c [输出文件]
如:ffmpeg -i https://v.v1kd.com/20220402/OL9vnTeN/2000kb/hls/index.m3u8 -c mv.mp4

但是,我们为何不用ffmpeg顺便帮助我们转码成mp4呢?
于是,我们请出下面的命令:

ffmpeg -i "https://aaa.com/bbb.m3u8" -vcodec copy -acodec copy -absf aac_adtstoasc test.mp4

当然,顺便把反过程也说一说;

ffmpeg -i test.mp4 -c:v libx264 -hls_time 60 -hls_list_size 0 -c:a aac -strict -2 -f hls test.m3u8

OK啦!
suc_dp.png

Comments are closed.