princenan

关于 mp4 和 m3u8 的流量问题

  •  
  •   princenan · Jul 26, 2023 · 2629 views
    This topic created in 1197 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

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


    我很想知道 m3u8 文件的视频时长能否更小更小。我定义了 0.1 秒,但测试发现最长可能有 3 秒
    ktqFDx9m2Bvfq3y4
    ktqFDx9m2Bvfq3y4
    Jul 27, 2023 via iPhone
    7
    @PHPer233
    不要乱说。mp4 需要在压制的时候将一些参数放头部,就可以边下边播。我弄过视频上传功能,必须设置一下参数才可以。
    princenan
    princenan
    OP
    Jul 27, 2023
    8
    @duan602728596 试了一下,使用 minio 是支持 range 请求的,chrome 的 network 里显示只有一条请求,但能源源不断的加载内容
    princenan
    princenan
    OP
    Jul 27, 2023
    9
    @u20237 m3u8 可以控制分片大小,但是从 mp4 转码需要时间
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2847 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 216ms · UTC 14:03 · PVG 22:03 · LAX 06:03 · JFK 09:03
    ♥ Do have faith in what you're doing.