采用 m3u8 切片策略的视频网站,是在用户点击播放的时候再去切片并返回,还是说视频上传到平台就已经完成了切片? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CorgiDuu
V2EX    Java

采用 m3u8 切片策略的视频网站,是在用户点击播放的时候再去切片并返回,还是说视频上传到平台就已经完成了切片?

  •  1
     
  •   CorgiDuu 2024-03-03 09:29:49 +08:00 4065 次点击
    这是一个创建于 654 天前的主题,其中的信息可能已经有所发展或是发生改变。
    19 条回复    224-03-21 15:46:30 +08:00
    iseki
        1
    iseki  
       2024-03-03 09:46:34 +08:00 via Android   1
    一般都是切好的,这样也利于缓存
    iseki
        2
    iseki  
       2024-03-03 09:46:48 +08:00 via Android
    此外给视频切片是个很重的工作
    a282810
        3
    a282810  
       2024-03-03 09:59:59 +08:00
    视频上传到平台就开始切片
    shuiduoduo
        4
    shuiduoduo  
       2024-03-03 10:03:30 +08:00 via Android
    切片也是需要时间的
    k9982874
        5
    k9982874  
       2024-03-03 10:27:39 +08:00 via iPad
    不是应该视频上传开始自动切片最后生成 m3u8 ,整个过程自动化
    mightybruce
        6
    mightybruce  
       2024-03-03 10:30:44 +08:00
    录播视频时先切片好再播放,切片也需要花费大量计算的。
    播放的时候,如果 m3u8 是级联索引,那么会先返回相应分辨率的 m3u8 ,再通过 m3u8 找相应视频切片。
    kkk9
        7
    kkk9  
       2024-03-03 10:30:49 +08:00   6
    通用三队列

    1. 上传队列:支持断点续传,上传完毕之后进入切片队列
    2. 切片队列:切片,各种清晰度等的版本,完成之后进入缓存队列
    3. 缓存队列:分发到各个存储 Peer/OSS 等,CDN 执行预热……
    expy
        8
    expy  
       2024-03-03 10:59:12 +08:00
    转码切片肯定提前做好。
    expy
        9
    expy  
       2024-03-03 11:01:28 +08:00
    CorgiDuu
        10
    CorgiDuu  
    OP
       2024-03-03 11:31:22 +08:00
    @iseki 感谢解答,那比如说切片好的视频,后端怎么返回给前端呢?还是说后端不做处理,就认为是个文件服务器就好?
    CorgiDuu
        11
    CorgiDuu  
    OP
       2024-03-03 11:32:45 +08:00
    感谢解答,那比如说切片好的视频,后端是以什么形式返回给前端呢?还是说后端不做处理,就充当是个文件服务器就好?如果是文件服务器是不是也可以用对象存储这种保存呢?
    treblex
        12
    treblex  
       2024-03-03 12:31:17 +08:00
    对象存储的话,可以用服务商提供的服务,自动转码
    foxhunt
        13
    foxhunt  
       2024-03-03 13:03:56 +08:00
    切片任务时,会指定生成 m3u8 文件的文件名,根据文件名和 CDN 路径生成播放 URL ,扔给前端就行了
    播放器拿到 m3u8 文件后,根据列表取分片后的 ts 文件逐个播放
    iseki
        14
    iseki  
       2024-03-03 16:24:34 +08:00 via Android
    @CorgiDuu 是的,m3u8 和 ts 分片都是普通的文件,按文件分发处理就行,所以它才方便
    joynvda
        15
    joynvda  
       2024-03-03 17:49:03 +08:00
    分直播和点播。

    直播是实时切片,同时输出 m3u8 索引和视频文件片。如果需要,还有实时转码 - 输入码流变为不同格式(分辨率等)的文件片。

    (个人不关注点播这块。)点播有可能预先切好。如果需要 DRM 版权版权,估计是实时处理。
    DefoliationM
        16
    DefoliationM  
       2024-03-03 20:28:39 +08:00
    一般大厂应该都是提前转好的,但是 jellyfin 这种都是实时转码的,点击的时候才会去转码和切片。
    CorgiDuu
        17
    CorgiDuu  
    OP
       2024-03-04 07:36:13 +08:00
    @iseki 那前端如果采用 hls.js 是不是也不需要什么额外的手动处理,只要给一个 m3u8 文件名,他就会自己按照顺序播放 ts ?
    nguyenminhhuong6
        18
    nguyenminhhuong6  
       2024-03-04 10:22:01 +08:00
    m3u8 url 获取的就是切片列表,切片提前处理好的
    johnmichael09
        19
    johnmichael09  
       2024-03-21 15:46:30 +08:00
    m3u8 文件其实是一系列视频的链接,返回前端后,前端按照时间点读取一个个视频的地址,然后播放
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5217 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 68ms UTC 08:29 PVG 16:29 LAX 00:29 JFK 03:29
    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