如何按原始格式下载 HLS (m3u8) 视频? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
nikoo

如何按原始格式下载 HLS (m3u8) 视频?

  •  
  •   nikoo Feb 8, 2017 7063 views
    This topic created in 3364 days ago, the information mentioned may be changed or developed.
    一个普通的 m3u8 URL 例如: http://wscdn.alhls.xiaoka.tv/201713/b4b/079/F69oXuFHQ7Wn0YFW/index.m3u8

    如何按原始格式下载其中包含的每个 ts 分片,并且该 m3u8 文件也一同保存在本地
    即不需要将多个 ts 分片合并为一个

    如何实现这个需求?谢谢各位!
    16 replies    2018-02-19 08:08:34 +08:00
    wjm2038
        1
    wjm2038  
       Feb 8, 2017 via Android   1
    ffmpeg
    nikoo
        2
    nikoo  
    OP
       Feb 8, 2017
    @wjm2038 谢谢,我发帖之前搜索了很久,使用 ffmpeg 似乎只能将 m3u8 作为输入源然后输出一个合并后的 ts 文件,无法不合并按原始的分片储存每个 ts
    onlyice
        3
    onlyice  
       Feb 8, 2017 via Android
    自己写一个…
    onlyice
        4
    onlyice  
       Feb 8, 2017 via Android
    试试 livestream Python 库
    qyz0123321
        5
    qyz0123321  
       Feb 8, 2017 via Android
    把这个 ts 直接解析下载存储可好?
    Valyrian
        6
    Valyrian  
       Feb 8, 2017 via iPhone
    第一次见到不要合并视频的= =
    saxon
        7
    saxon  
       Feb 8, 2017 via iPhone
    楼主华为?
    LINAICAI
        8
    LINAICAI  
       Feb 8, 2017 via iPhone
    不合并太麻烦了,但不是么办法,使用本地内置 web 服务来播放下载好的 ts 切片
    LINAICAI
        9
    LINAICAI  
       Feb 8, 2017 via iPhone
    对了,索引文件其实可以使用一个开源库解析的,自己用队列一个个下载好各个 ts 段,当然索引也要保存起来,内建 web 服务指定 root 目录即可模拟播放网络视频,需要注意的是下载完所有片段一定还要修改索引文件里面每个片段的地址,修改成本地的
    DlYgod
        10
    DlYgod  
       Feb 8, 2017
    写个 shell 脚本下载啊 wget
    yishanxin
        11
    yishanxin  
       Feb 8, 2017   2
    1. curl -O http://wscdn.alhls.xiaoka.tv/201713/b4b/079/F69oXuFHQ7Wn0YFW/index.m3u8
    2. for i in `cat index.m3u8| grep ts `;do url=' http://wscdn.alhls.xiaoka.tv/201713/b4b/079/F69oXuFHQ7Wn0YFW/'$i;curl -o $i $url;done

    两部搞定 , 自己写个脚本封装下 处理动态拼接 实际下载的链接
    mooczz
        12
    mooczz  
       Feb 8, 2017
    在 iOS 里实现过,分段下载, m3u8 文件存储在本地
    diguoemo
        13
    diguoemo  
       Feb 8, 2017 via Android
    用 youtube-dl 可以很简单的下载
    emric
        14
    emric  
       Feb 8, 2017
    用正则把 m3u8 的内容分解出来,再下载。
    em70
        15
    em70  
       Feb 8, 2017 via Android
    m3u8 不能指向本地 ts 文件,可以起一个本地 server , ts 文件放 server 上, m3u8 里的所有链接改为本地 127.0.0.1 的 http 地址,这个 m3u8 就能离线播了
    cyp777777
        16
    cyp777777  
       Feb 19, 2018 via Android
    过去 11 天了,楼主还要不。下载每个 ts 后解码就行了,写了个小工具默认合并,如果还需要的话我把取消合并也加上
    .wwads-cn { border-radius: 3px !important; } .wwads-text { color: var(--link-color) !important; }
    About     Help     Advertise     Blog     API     FAQ     Solana     921 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 129ms UTC 22:34 PVG 06:34 LAX 15:34 JFK 18:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86