关于 mp4 和 m3u8 的流量问题

289 天前
 huisunan

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

1127 次点击
所在节点    前端开发
9 条回复
PHPer233
289 天前
mp4 是先下载整个视频,然后播放。m3u8 是将视频分割成若干个片段,从头到尾缓存一片播放一片。
lovelylain
289 天前
@PHPer233 不同平台不一样吧,安卓可以用 mp4 实现直播,所以应该是支持边下载边播放的,iOS 不行。
cssk
289 天前
@lovelylain ios 一样可以边存边播
duan602728596
289 天前
mp4 不一定,分片播放需要支持 range 请求,正确响应 206
bertonzh
289 天前
都可以分片加载的,只要服务端支持。
u20237
289 天前
好像 m3u8 更灵活,方便调试和分析

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

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

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

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

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


我很想知道 m3u8 文件的视频时长能否更小更小。我定义了 0.1 秒,但测试发现最长可能有 3 秒
Chad0000
289 天前
@PHPer233
不要乱说。mp4 需要在压制的时候将一些参数放头部,就可以边下边播。我弄过视频上传功能,必须设置一下参数才可以。
huisunan
288 天前
@duan602728596 试了一下,使用 minio 是支持 range 请求的,chrome 的 network 里显示只有一条请求,但能源源不断的加载内容
huisunan
288 天前
@u20237 m3u8 可以控制分片大小,但是从 mp4 转码需要时间

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/959974

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX