zoukankan      html  css  js  c++  java
  • 网络直播电视之M3U8解析篇 (下)


           在上一篇文章中讲述了网络直播电视的M3U8解析和当中的keyword段。本章我将对我遇见到的不同数据源的M3U8文件进行列举和分析。

         第一种:ts片段地址为文件名,下载地址为:http:\www.XXX.com1XX1.m3u8

    #EXTM3U
    #EXT-X-TARGETDURATION:8
    #EXT-X-MEDIA-SEQUENCE:92595
    #EXTINF:8,
    20121120T182851-04-92595.ts
    #EXTINF:8,
    20121120T182851-04-92596.ts
    #EXTINF:8,
    20121120T182851-04-92597.ts
    #EXTINF:8,
    20121120T182851-04-92598.ts
    #EXTINF:8,
    20121120T182851-04-92599.ts
    #EXTINF:8,
    20121120T182851-04-92600.ts
    #EXTINF:8,
    20121120T182851-04-92601.ts
    #EXTINF:8,
    20121120T182851-04-92602.ts
    

        那么获取到 20121120T182851-04-92595.ts 片段地址就为http:\www.XXX.com1XX20121120T182851-04-92595.ts。

    类似情况,例如以下:

    #EXTM3U #EXT-X-ALLOW-CACHE:NO #EXT-X-TARGETDURATION:3 #EXT-X-MEDIA-SEQUENCE:6198 #EXTINF:3, aac749f7425bf07f_13b4b0fd1b7_6198.ts?wsApp=HLS&wsMonitor=-1&wsHost=rtmp.cntv.lxdns.com #EXTINF:3, aac749f7425bf07f_13b4b0fe1b8_6199.ts?wsApp=HLS&wsMonitor=-1&wsHost=rtmp.cntv.lxdns.com #EXTINF:3, aac749f7425bf07f_13b4b0ffa08_6200.ts?wsApp=HLS&wsMonitor=-1&wsHost=rtmp.cntv.lxdns.com

     

        另外一种:ts片段地址为文件夹结构,下载地址为:http:\www.XXX.com1XX1.m3u8。

    #EXTM3U
    #EXT-X-ALLOW-CACHE:NO
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:9190381
    #EXTINF:10,
    /timeshift/63/20121129165010.ts
    #EXTINF:10,
    /timeshift/63/20121129165020.ts
    #EXTINF:10,
    /timeshift/63/20121129165030.ts
    

       那么获取到/timeshift/63/20121129165010.ts片段地址就为http:\www.XXX.com1XX/timeshift/63/20121129165010.ts

     

       第三种:ts片段地址为文件夹结构,可是和m3u8下载地址文件夹重叠。下载地址为:http:\www.XXX.com1 imeshift631.m3u8。

    #EXTM3U
    #EXT-X-ALLOW-CACHE:NO
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:9190381
    #EXTINF:10,
    /timeshift/63/20121129165010.ts
    #EXTINF:10,
    /timeshift/63/20121129165020.ts
    #EXTINF:10,
    /timeshift/63/20121129165030.ts
    

       将冲突的文件夹剔除,那么获取到/timeshift/63/20121129165010.ts片段地址就为http:\www.XXX.com1XX/timeshift/63/20121129165010.ts

     

       第四种:ts片段地址为完整的片段下载地址,下载地址为:http:\www.XXX.com1XX1.m3u8。

    #EXTM3U
    #EXT-X-ALLOW-CACHE:NO
    #EXT-X-TARGETDURATION:10
    #EXT-X-MEDIA-SEQUENCE:6297202
    #EXTINF:10,
    http://202.108.17.170:80/ipad/160_12784_1758/20121127185340.ts?userid=2221281760225887_160_12784_1758
    #EXTINF:10,
    http://202.108.17.170:80/ipad/160_12784_1758/20121127185350.ts?userid=2221281760225887_160_12784_1758
    #EXTINF:10,
    http://202.108.17.170:80/ipad/160_12784_1758/20121127185400.ts?userid=2221281760225887_160_12784_1758
    

       这样的情况下下载地址就不须要拼接了。

     

        直播不同的数据得到的片段下载地址也就基本维持这四种情况,当然林子大了什么鸟都有。也说不定会碰见更奇特的呢。呵呵...

     

        总结:

        1、“http”开头的一定是全下载地址,不须要进行拼接处理的。也些“二杆子源”,会将写成“HTTP”或“Http”等等。所以我们须要先转成小写在进行匹配,当然下载地址的http还需为小写。

        2、带有文件夹结构的源,相同有些或是这种“timeshift/63/2012129165020.ts”,前面不带“/”。注意哦!


     

     


     

     

  • 相关阅读:
    python json 和 pickle的补充 hashlib configparser logging
    go 流程语句 if goto for swich
    go array slice map make new操作
    go 基础
    块级元素 行内元素 空元素
    咽炎就医用药(慢性肥厚性咽炎)
    春季感冒是风寒还是风热(转的文章)
    秋季感冒 咳嗽 怎么选药
    解决IE浏览器“无法显示此网页”的问题
    常用的 css 样式 记录
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4334820.html
Copyright © 2011-2022 走看看