买了个网课,快过期了。想下载下来继续看, 但是 m3u8 和 ts 链接的格式后面还带有签名和时间戳什么的。
想请教一下各位大佬 如何下载
稍微用浏览器工具抓了下包,格式大概是这样
m3u8:
ts:
还有一些其他的链接
域名已模糊处理
1
Gr4zy OP 各位大佬麻烦一下了,需要完整数据包的话可以跟我讲声
邮箱:Z3JhenkyMzMzQGdtYWlsLmNvbQ== |
2
599316527 2019-02-28 14:23:53 +08:00
|
3
WordTian 2019-02-28 14:30:21 +08:00 via Android
按一般大厂的套路来说的话,你还是先把 signature 字段的生成规则逆出来再说吧
|
4
shuangyeying 2019-02-28 14:53:23 +08:00
貌似网课手机端可以离线。
|
5
polarbearn 2019-02-28 15:24:12 +08:00
|
6
whwlsfb21 2019-02-28 16:02:06 +08:00
ffmpeg.exe -i "%url%" -bsf:a aac_adtstoasc -codec copy %filename%
|
7
ryanlid 2019-02-28 16:03:54 +08:00
|
8
lyminghao 2019-02-28 16:45:49 +08:00
用过下面这个,还不错:
https://github.com/nilaoda/M3U8-Downloader |
9
ThirdFlame 2019-02-28 17:19:36 +08:00
idm 自动解析 直接下
|
11
Valyrian 2019-02-28 17:26:32 +08:00
以前写过一个,要装 aria2: https://gist.github.com/pxia/b8d09adc759b8530513c8ea9ad193670
|
12
Gr4zy OP @ThirdFlame 想請教一下 IDM 如何下載 m3u8 的視頻呢,嘗試下載,好像不太會用
@ryanlid @whwlsfb21 @599316527 好像不太會用 ffmpeg,不會用 m3u8 文件批量下載,可能是因爲每個 ts 文件帶不同簽名?想請教一下 |
13
Gr4zy OP 使用 FFmpeg 批量下載 ts 的時候是不帶簽名這些參數的,
請問一下有沒有什麼辦法可以帶參數下載呢? |
14
Gr4zy OP |
16
Gr4zy OP 折騰了好幾天了,眼看就快過期了,是不是權重太低大家看不到啊。。。
|
17
Gr4zy OP |
19
crab 2019-02-28 23:32:44 +08:00
没必要下载成 ts 格式啊,直接 ffmpeg 指定去下 m3u8 转 mp4。
|
20
crab 2019-02-28 23:33:35 +08:00
ffmpeg 大了点,可以用 gohls.exe
|
21
hundan 2019-02-28 23:37:16 +08:00 via Android
m3u8 打开就是在线播放源 不出意外的话 里面就是带 sign 的 拿到 m3u8 用 ffmpeg 转成 mp4 就可以了
|
22
Gr4zy OP @hundan 一樓有我郵箱地址,大佬不介意的話發郵箱可以嗎。。。
m3u8 文件下載下來大概是長這樣,URI 那裏做了點模糊處理。。。 https://paste.ubuntu.com/p/6N4jkPrBxd/ 但是把 m3u8 導入 ffmpeg 中會直接訪問 ts 鏈接。。。 問題描述里抓包是有後綴的。。 先感謝下大家的熱心 |
24
hundan 2019-03-01 00:02:30 +08:00 via Android
O ……明白你的点了…… m3u8 里是不带签名的 是前端带上的……这个要么就是手动把链接换成浏览器里抓到的带签名的,要么调试一下 js,找找加签名的地方,改改自用……
都是有点麻烦的 我就不掺和了 加油 |
25
hundan 2019-03-01 00:07:13 +08:00 via Android
照理说可以用 idm 嗅探视频 ts 批量下载 然后下到本地之后 再把 m3u8 里的视频链接改成本地的 然后用 ffmpeg 转成 mp4
不知道里面那个 key 有没有带参的 最好把 key 也下载过来 |
26
Gr4zy OP @crab
@hundan @binux ffmpeg 下載輸出大概如下這樣,不清楚邊下載邊合併會不會不一樣,但是這樣操作完全訪問不了 ts 文件的樣子 https://paste.ubuntu.com/p/wTNQ6CFVsN/ 如同問題描述裏一樣,實際上要帶後綴才能訪問 ts 文件,像這樣 https://video.xxx.xxx/yugu-live/yugucamp5PJ4/2018-10-04-18_50_57_2018-10-04-20_02_20_HD_0.ts?OSSAccessKeyId=77VpRAQE2xbIU9LM&Expires=1551390104&Signature=pNPydf1F0CZTmJDWNwCmxT94Bn8%3D 這裏的 OSSAccessKeyId 應該是阿里的吧,好像這個後綴是不變的 瀏覽器抓包發現,在訪問 ts 之前有訪問類似下面這樣的鏈接 https://class.xxx.com.cn/live/signReplay?url=https:%2F%2Fvideo.xxx.xxx%2Fyugu-live%2Fyugucamp5PJ4%2F2018-10-04-18_50_57_2018-10-04-20_02_20_HD_0.ts 應該是一對一關係。。。 系統說我回覆太頻繁了,1800s 不能發言,有點想用郵件。。 手動來操作完全下不完啊。。太多了 不是很明白前端。。所以也不太清楚是不是前端加的 有沒有可能寫一個腳本抓包,把瀏覽器訪問的 ts 文件識別並下載呢? 可是技術棧不太符合。。只會 C/C++應該沒救。。 idm 嗅探不太會用。key 具體指什麼呢? m3u8 加密用的 key 是在 m3u8 文件裏那項嗎? m3u8 裏的 URI 是完整的鏈接,打開會是這樣: �Z|F.&�z�QG�۲ � |
27
Gr4zy OP |
28
Gua 2019-03-01 02:06:38 +08:00 1
下载个录屏软件,录!
|
29
cy97cool 2019-03-01 06:00:48 +08:00 via Android
咦 不科学啊 如果是前端生成 signature 签名的话
是不是意味着 oss 的密钥也给了前端 如果真这么蠢的话 就可以直接下载这 oss 所有资源了 |
30
Nasei 2019-03-01 07:03:08 +08:00
就是说这东西的下载并不是通用流程而是访问 ts 时带参数了? 那你得先知道每个 ts 后面的参数是怎么得到的, 然后就可以写脚本了.
下载完成之后还得用那个 m3u8 里的 key 解下密, 这个我之前找到过可以用的脚本 https://paste.ubuntu.com/p/mgnQRT6wHs/ |
31
binux 2019-03-01 07:07:26 +08:00 via Android
看起来播放器不是标准 m3u8 播放,还进行了签名
|
32
jiangnanyanyu 2019-03-01 07:22:40 +08:00 via Android
我觉得录屏不错
|
33
leis1015 2019-03-01 07:27:11 +08:00 via iPhone
m3u8 直接 chrome 浏览器地址栏输入就可以下载来了啊,直接就能播放…
只要你的地址正确… 反正斗鱼虎牙的直播视频都直接下的 |
34
d5 2019-03-01 07:28:50 +08:00 via iPhone
带上 cookies 和 header 头访问,一般 token 都允许客户端在短时间反复用
|
35
d5 2019-03-01 07:29:55 +08:00 via iPhone
另外 33 楼说的没错……淘宝的宝贝视频可以直接打开了另存为视频
|
36
bbq777aass 2019-03-01 08:08:12 +08:00 via Android
Cốc Cốc 浏览器,直接下载成 mp4
|
37
yingfengi 2019-03-01 08:57:12 +08:00 via Android
试试 firefox+videodownloadhelper
|
38
okface 2019-03-01 10:53:07 +08:00
@binux 老哥,问一句 pyspider 的分布式部署的问题,是否是在内网主机上搭建同样的 pyspider 环境然后 slave 监听 master 的任务队列就可以? slave 只启动 fetcher 和 processor 就行。谢谢🙏
|
41
okface 2019-03-01 11:02:26 +08:00
@binux 那请问如何验证 slave 的机器确实在抓 master 的任务呢~,slave 的 processor 的日志确实监听到了队列,master 的任务会收到返回一个字段说哪个任务是 slave 抓取的嘛。什么情况下才会触发 slave 呢,高并发?
|
42
binux 2019-03-01 11:30:50 +08:00 1
@okface #41 pyspider 不存在 master, 只有 scheduler,你可以认为所有任务都是 slave 抓的
|
44
ifxo 2019-03-01 11:50:54 +08:00
这个格式可能下载不了吧
|
45
mingl0280 2019-03-01 13:07:36 +08:00
firefox 下使用 Video Downloadhelper,下 m3u8 视频毫无压力……
|
46
leexy 2019-03-01 13:19:49 +08:00
|
47
Gr4zy OP |
48
Gr4zy OP 这个签名好像是访问另一个网站给的,具体链接形式在 26 楼有抓包。。
每个 ts 文件后面的签名都不同,OSS 的 key 倒是相同 |
49
Gr4zy OP |
51
Gr4zy OP @shuangyeying
只有网页端呢。。 @rolitter 这个大概是 ffmpeg 和 aria2 的命令行封装吧。。试过了,不行。不过还是感谢了 @mingl0280 倒是可以看到文件,但是不能自己下载,要手动一个个下。。感觉和抓包下载一样。 有大几百个 ts 分段。。手动有点累 下载下来的 m3u8 文件打开是 22 楼链接里贴的那样 |
54
iro 2019-03-01 14:08:00 +08:00
macOS 下面的 Downie 可以自动下载并合并
|
55
Telegram 2019-03-01 14:15:01 +08:00
我感觉楼上有几位可能想的简单了,我也搞过几个类似的网课视频下载,有些很简单,可以直接抓到 m3u8 地址,然后批量下载片段 ts 合并就行了。
像楼主这种,可能是服务器用了签名认证的,就算下载来了,也不一定在本地能播放,网站那个播放器貌似自带解密的 |
56
d5 2019-03-01 14:36:16 +08:00 via iPhone
总之,客户端能正常播放的,一定有办法弄下来的,也有很多浏览器插件,最不济屏幕录像成了吧
|
57
goodan 2019-03-01 14:58:03 +08:00
ios 不是自带录屏功能么
安卓早就有了吧 |
58
liuguang 2019-03-01 17:23:45 +08:00 1
|
60
liuguang 2019-03-02 13:23:57 +08:00 1
上面的地址可能有问题,用这个地址
https://chrome.google.com/webstore/detail/iogidnfllpdhagebkblkgbfijkbkjdmm 插件名叫 stream recorder,使用的很简单先打开页面,播放视频,他的图标会变成大红点,点击进行下载 会弹出一个新页面,慢慢的下载,页面注意别关了,然后所有的 ts 文件下载好了之后,点击 save 保存 只支持 m3u8 |
61
liuguang 2019-03-02 13:33:09 +08:00 2
插件好像下线了。。。。这是目录打包
链接: https://pan.baidu.com/s/1YzmHzH2Q4iEr05kOvAesVA 提取码: 5ivt |