咨询一个视频抓取的 m3u8 无法播放

2020-04-23 03:08:50 +08:00
 jiarukaiG
http://m.gxfin.com/finance/zhibo/HY202004176940.html

分析查看页面视频的文件是: https://cnfin.gxfin.com/record/Cnfin/HY202004176940/HY202004176940.m3u8

但是这个 m3u8 文件 用 VLC 或者浏览器均无法播放(其它的都可以),请问这是为什么?
5445 次点击
所在节点    程序员
18 条回复
q409195961
2020-04-23 03:21:52 +08:00


chihiro2014
2020-04-23 04:03:59 +08:00
m3u8 其实算是一个索引文件,不能播放很正常,你需要对应的 ts 流文件
crab
2020-04-23 04:32:00 +08:00
测试了下,是有检测 referer 。
ffmpeg -headers "referer: https://cnfin.gxfin.com" -i https://cnfin.gxfin.com/rxxx.m3u8 -c copy z:\demo.mp4
Mohanq
2020-04-23 08:09:23 +08:00
可能网站使用 Cookies 辨别身份,同一浏览器后台必须打开网页,前台才不禁止解析 m3u8 媒体文件;不过支持 m3u8 的下载器可以直接下载,下载后合并观看也可以
xuanzz
2020-04-23 08:17:28 +08:00
楼上说的 refer 应该是正解。
如果需要下载,建议使用 youtube-dl 带 cookie 下载,之前写了一篇如何下载视频的教程,感兴趣可以看看。https://sspai.com/post/59658
745839
2020-04-23 08:30:53 +08:00
@crab 大佬,可算找打你了。
求问:referer: https://cnfin.gxfin.com
这个信息是怎样得到的。求指点!
gimp
2020-04-23 08:42:28 +08:00
你贴的 m3u8 前边的网址就是 cnfin.gxfin.com 啊,你应该搜索一下 referer 在 HTTP 中是什么意思。
shelterz
2020-04-23 09:02:11 +08:00
借楼问一下大佬,MP4 格式的 Video 放在垃圾 U 盘里时间长了后损坏了(播放时花屏)还可以修复吗?
745839
2020-04-23 10:07:05 +08:00
@gimp 你好。我不是楼主,我贴的这个信息,是 @crab 回复的内容里面的。我在谷歌浏览去,,F12 里面没有找到 referer: https://cnfin.gxfin.com 这个信息,可能是姿势不对,所以我问一下。
referer 是协议头,有时候下载 m3u8 需要协议头,我不知道怎样获取协议头。有时候 F12 里面看到的 m3u8 地址,和协议头不一样。
745839
2020-04-23 10:44:04 +08:00
gimp
2020-04-23 11:00:18 +08:00
@745839

试了一下,楼主的地址,有 referer 且根域名是 gxfin.com 就可以。比如 abc.gxfin.com 也可以。

---

你发的 m3u8,不用 referer 也能下载。

不用纠结具体的参数,对照着浏览器 console 打印的头,复制测试就行,能不能访问,跟网站校验规则有关,跟 referer 填什么关系不大。
jiarukaiG
2020-04-23 11:25:00 +08:00
@crab 感谢。您的方法是对的;学习了
745839
2020-04-23 11:25:36 +08:00
@gimp 我发的那个 m3u8 是个例子。也是小鹅通的,有的时候失败,需要 Referer: https://pc-shop.xiaoe-tech.com/就可以成功下载。

console 打印的头--只的是哪里?
jiarukaiG
2020-04-23 11:26:29 +08:00
@gimp 不用 referer 也可以吗?求指正方法 我测试不可;
jiarukaiG
2020-04-23 11:33:31 +08:00
@gimp [不用 referer ] 是回复另外一位同学的;看错了
crella
2020-04-23 12:10:49 +08:00
referer 防盗链,日常操作
crella
2020-04-23 12:13:56 +08:00
@745839 浏览器开发人员工具,Network 网络标签,刷新页面获得所有请求,找到 m3u8 请求(一般筛选出 XHR 请求即可),点中 m3u8 请求那一行,窗口又半部分弹出来,慢慢找 referer
745839
2020-04-23 14:28:03 +08:00
@crella 谢谢。刚才才忙。
右半部分弹出 headers.preview,response,initiator,timing 这个窗口是吗?

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

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

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

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

© 2021 V2EX