V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
jiarukaiG
V2EX  ›  程序员

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

  •  
  •   jiarukaiG · 2020-04-23 03:08:50 +08:00 · 5646 次点击
    这是一个创建于 1671 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://m.gxfin.com/finance/zhibo/HY202004176940.html

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

    但是这个 m3u8 文件 用 VLC 或者浏览器均无法播放(其它的都可以),请问这是为什么?
    18 条回复    2020-04-23 14:28:03 +08:00
    q409195961
        1
    q409195961  
       2020-04-23 03:21:52 +08:00


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

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

    ---

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

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

    console 打印的头--只的是哪里?
    jiarukaiG
        14
    jiarukaiG  
    OP
       2020-04-23 11:26:29 +08:00
    @gimp 不用 referer 也可以吗?求指正方法 我测试不可;
    jiarukaiG
        15
    jiarukaiG  
    OP
       2020-04-23 11:33:31 +08:00
    @gimp [不用 referer ] 是回复另外一位同学的;看错了
    crella
        16
    crella  
       2020-04-23 12:10:49 +08:00 via Android
    referer 防盗链,日常操作
    crella
        17
    crella  
       2020-04-23 12:13:56 +08:00 via Android
    @745839 浏览器开发人员工具,Network 网络标签,刷新页面获得所有请求,找到 m3u8 请求(一般筛选出 XHR 请求即可),点中 m3u8 请求那一行,窗口又半部分弹出来,慢慢找 referer
    745839
        18
    745839  
       2020-04-23 14:28:03 +08:00
    @crella 谢谢。刚才才忙。
    右半部分弹出 headers.preview,response,initiator,timing 这个窗口是吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:50 · PVG 07:50 · LAX 15:50 · JFK 18:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.