m3u8 格式视频下载 请教一下各位

2019-02-28 13:55:22 +08:00
 Gr4zy

买了个网课,快过期了。想下载下来继续看, 但是 m3u8 和 ts 链接的格式后面还带有签名和时间戳什么的。

想请教一下各位大佬 如何下载

稍微用浏览器工具抓了下包,格式大概是这样

m3u8:

https://video.xxx.xxx/xxx/2018-10-01-08_27_36_2018-10-01-11_55_21_HD.m3u8?OSSAccessKeyId=77VpRAQE2xbIU9LM&Expires=1551354564&Signature=atUjGH7PyT3G55%2FsaTPATrPNPDA%3D

ts:

https://video.xxx.xxx/xxx/2018-10-01-08_27_36_2018-10-01-11_55_21_HD_2.ts?OSSAccessKeyId=77VpRAQE2xbIU9LM&Expires=1551354600&Signature=tY6xV3k80FE1T7BzNgs8aOgKbdY%3D

https://video.xxx.xxx/xxx/2018-10-01-08_27_36_2018-10-01-11_55_21_HD_7.ts?OSSAccessKeyId=77VpRAQE2xbIU9LM&Expires=1551354756&Signature=1F1McnzEKNOrfAlbuhNww54vX4A%3D

还有一些其他的链接

https://xxx.com.cn/live/signReplay?url=https:%2F%2Fvideo.xxx.xxx%2Fyugu-live%2Fyugucamp5tg1%2F2018-10-01-08_27_36_2018-10-01-11_55_21_HD_2.ts

域名已模糊处理

7070 次点击
所在节点    问与答
62 条回复
hundan
2019-02-28 23:37:16 +08:00
m3u8 打开就是在线播放源 不出意外的话 里面就是带 sign 的 拿到 m3u8 用 ffmpeg 转成 mp4 就可以了
Gr4zy
2019-02-28 23:40:01 +08:00
@hundan 一樓有我郵箱地址,大佬不介意的話發郵箱可以嗎。。。

m3u8 文件下載下來大概是長這樣,URI 那裏做了點模糊處理。。。

https://paste.ubuntu.com/p/6N4jkPrBxd/

但是把 m3u8 導入 ffmpeg 中會直接訪問 ts 鏈接。。。

問題描述里抓包是有後綴的。。

先感謝下大家的熱心
binux
2019-02-28 23:44:04 +08:00
@Gr4zy 你怎么就听不懂呢,ffmpeg 边下载边合并就行了啊
hundan
2019-03-01 00:02:30 +08:00
O ……明白你的点了…… m3u8 里是不带签名的 是前端带上的……这个要么就是手动把链接换成浏览器里抓到的带签名的,要么调试一下 js,找找加签名的地方,改改自用……
都是有点麻烦的 我就不掺和了 加油
hundan
2019-03-01 00:07:13 +08:00
照理说可以用 idm 嗅探视频 ts 批量下载 然后下到本地之后 再把 m3u8 里的视频链接改成本地的 然后用 ffmpeg 转成 mp4
不知道里面那个 key 有没有带参的 最好把 key 也下载过来
Gr4zy
2019-03-01 00:52:14 +08:00
@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�۲ �
Gr4zy
2019-03-01 01:18:06 +08:00
@hundan 剛才用 idm 試過,這種帶簽名的 idm 說是受保護的文件,無法下載

寫腳本抓包也許可行?只是我太弱不會。。
Gua
2019-03-01 02:06:38 +08:00
下载个录屏软件,录!
cy97cool
2019-03-01 06:00:48 +08:00
咦 不科学啊 如果是前端生成 signature 签名的话
是不是意味着 oss 的密钥也给了前端
如果真这么蠢的话 就可以直接下载这 oss 所有资源了
Nasei
2019-03-01 07:03:08 +08:00
就是说这东西的下载并不是通用流程而是访问 ts 时带参数了? 那你得先知道每个 ts 后面的参数是怎么得到的, 然后就可以写脚本了.
下载完成之后还得用那个 m3u8 里的 key 解下密, 这个我之前找到过可以用的脚本 https://paste.ubuntu.com/p/mgnQRT6wHs/
binux
2019-03-01 07:07:26 +08:00
看起来播放器不是标准 m3u8 播放,还进行了签名
jiangnanyanyu
2019-03-01 07:22:40 +08:00
我觉得录屏不错
leis1015
2019-03-01 07:27:11 +08:00
m3u8 直接 chrome 浏览器地址栏输入就可以下载来了啊,直接就能播放…
只要你的地址正确…
反正斗鱼虎牙的直播视频都直接下的
d5
2019-03-01 07:28:50 +08:00
带上 cookies 和 header 头访问,一般 token 都允许客户端在短时间反复用
d5
2019-03-01 07:29:55 +08:00
另外 33 楼说的没错……淘宝的宝贝视频可以直接打开了另存为视频
bbq777aass
2019-03-01 08:08:12 +08:00
Cốc Cốc 浏览器,直接下载成 mp4
yingfengi
2019-03-01 08:57:12 +08:00
试试 firefox+videodownloadhelper
okface
2019-03-01 10:53:07 +08:00
@binux 老哥,问一句 pyspider 的分布式部署的问题,是否是在内网主机上搭建同样的 pyspider 环境然后 slave 监听 master 的任务队列就可以? slave 只启动 fetcher 和 processor 就行。谢谢🙏
binux
2019-03-01 10:58:27 +08:00
@okface #38 是
okface
2019-03-01 11:00:06 +08:00
@binux 那请问如何验证 slave

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/539601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX