关于 mp4 和 m3u8 的流量问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huisunan
V2EX    前端开发

关于 mp4 和 m3u8 的流量问题

  •  
  •   huisunan 2023-07-26 17:57:55 +08:00 1800 次点击
    这是一个创建于 889 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端播放 mp4 是整个视频下载下来在播放吗? 使用 m3u8 进行切片会节省一点流量吗? 求大佬指点一下

    9 条回复    2023-07-27 09:54:52 +08:00
    PHPer233
        1
    PHPer233  
       2023-07-26 18:04:21 +08:00
    mp4 是先下载整个视频,然后播放。m3u8 是将视频分割成若干个片段,从头到尾缓存一片播放一片。
    lovelylain
        2
    lovelylain  
       2023-07-26 18:14:27 +08:00 via Android
    @PHPer233 不同平台不一样吧,安卓可以用 mp4 实现直播,所以应该是支持边下载边播放的,iOS 不行。
    cssk
        3
    cssk  
       2023-07-26 18:15:54 +08:00 via iPhone
    @lovelylain ios 一样可以边存边播
    duan602728596
        4
    duan602728596  
       2023-07-26 21:16:55 +08:00
    mp4 不一定,分片播放需要支持 range 请求,正确响应 206
    bertonzh
        5
    bertonzh  
       2023-07-27 00:38:55 +08:00
    都可以分片加载的,只要服务端支持。
    u20237
        6
    u20237  
       2023-07-27 01:38:30 +08:00
    好像 m3u8 更灵活,方便调试和分析

    部分 mp4 格式可能需要把头文件读完才会播放。

    服务器也需要考虑客户端带宽 如果下载速度低于播放速度 可能会很卡。

    ..前端好像没有那么多的办法来预加载视频文件

    目前没法分辨哪个更好,更省流量。但大部分直播平台使用 m3u8

    m3u8 非常容限制客户端的下载速度,并发数,和 mp4 比较这是一个好处。


    我很想知道 m3u8 文件的视频时长能否更小更小。我定义了 0.1 秒,但测试发现最长可能有 3 秒
    ktqFDx9m2Bvfq3y4
        7
    ktqFDx9m2Bvfq3y4  
       2023-07-27 04:00:54 +08:00 via iPhone
    @PHPer233
    不要乱说。mp4 需要在压制的时候将一些参数放头部,就可以边下边播。我弄过视频上传功能,必须设置一下参数才可以。
    huisunan
        8
    huisunan  
    OP
       2023-07-27 09:54:02 +08:00
    @duan602728596 试了一下,使用 minio 是支持 range 请求的,chrome 的 network 里显示只有一条请求,但能源源不断的加载内容
    huisunan
        9
    huisunan  
    OP
       2023-07-27 09:54:52 +08:00
    @u20237 m3u8 可以控制分片大小,但是从 mp4 转码需要时间
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2229 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 04:19 PVG 12:19 LAX 20:19 JFK 23:19
    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