⼀⽂详解m3u8视频格式与分析视频秒开优化
公司要求对视频秒开率 进⾏优化(⼀秒内成功加载的播放数/播放总数)。
因此本意是想对⽐⼀下m3u8与m p4视频格式,并了解m3u8格式优缺点,以确定⼀个优化⼤概⽅向。
但对m3u8做简单了解后,觉得有必要对m3u8⽂件格式做⼀个记录。
m3u8视频 是⼀种什么样的视频格式?
m3u8视频 举例
对m3u8的定义
m3u8 与 MP4 对⽐
提⾼视频秒开率的⼀个⽅案
⼀、m3u8视频是⼀种什么样的视频格式?
m3u8不是⼀种视频格式,⽽是⼀种纯⽂本⽂件。
m3u8视频⽂件格式中存放了视频的基本信息和分段视频的索引地址(将⼀整个视频分成了时长不同的很多⼩段)。当播放m3u8视频时,就是按顺序下载播放索引列表的视频,从⽽完成⼀部完整视频的播放。
以上⼏句话是我对m3u8视频格式是什么东西的⼀个总结,可能有⽤词不当的地⽅。但想了很长时间,觉得这样说已经是我能表达的最容易理解的说法了。
但只是这样说,可能还是有些抽象,因此下边我会举个例⼦。
⼆、m3u8视频举例
下边我们将这个m3u8⽂本⽂件下载到本地,打开:
// M3U8⽂件必须包含的标签,并且必须在⽂件的第⼀⾏
#E X T M3U
// M3U8⽂件的版本,常见的是3
#E X T-X-V E R S ION:3
/
/ 第⼀个T S分⽚的序列号
#E X T-X-ME D IA-S E QU E N C E:0
// 是否允许c a c h e
#E X T-X-A L L OW-C A C H E:Y E S
// 每个每个媒体段(ts)的最⼤的时长
#E X T-X-T A R GE T D U R A T ION:39
// 每个媒体段(ts)的持续时间
#E X T IN F:1.084422,
/v i d e o l i b1/1903/15/9b4w x rd1g/S D/9b4w x rd1g-mo b i l e-0.ts
// 每个媒体段(ts)的持续时间
#E X T IN F:2.002000,
/
v i d e o l i b1/1903/15/9b4w x rd1g/S D/9b4w x rd1g-mo b i l e-1.ts
// 每个媒体段(ts)的持续时间
#E X T IN F:2.919578,
/v i d e o l i b1/1903/15/9b4w x rd1g/S D/9b4w x rd1g-mo b i l e-2.ts
// ... 中间部分省略
/v i d e o l i b1/1903/15/9b4w x rd1g/S D/9b4w x rd1g-mo b i l e-130.ts
// 每个媒体段(ts)的持续时间
#E X T IN F:11.386378,
/v i d e o l i b1/1903/15/9b4w x rd1g/S D/9b4w x rd1g-mo b i l e-131.ts
// 表⽰P l a y L i s t的末尾了
#E X T-X-E N D L IS T
注释说明是我后加的,为了是让⼤家了解m3u8⽂本格式各标签的⼤概含义
可以看到这个公开课的完整视频,被分成了很多⼩段的t s结尾的视频⽂件
到这⾥其实就看的很清楚了,m3u8视频就是通过按顺序下载播放⼀段段时长不同的t s视频,来完成整部视频播放
的。
再把前边我总结的,m3u8视频到底是什么重新读⼀遍:
m3u8不是⼀种视频格式,⽽是⼀种纯⽂本⽂件。m3u8视频⽂件格式中存放了视频的基本信息 和 分段视频的索引地址(将⼀整个视频分成了时长不同的很多⼩段)。当播放m3u8视频时,就是按顺序下载播放索引列表的视频,从⽽完成⼀部完整视频的播放。
三、对m3u8的定义
了解m3u8时,也参考了,但其给出的答案并不太让我满意。下边是我在上查到的内容。当然内容我进⾏了简单的组合...
M3U8:m3u8 是⼀种纯⽂本⽂件,采⽤U T F-8编码,是⼀种U n i c o d e版本的m3u⽂件。
**M3U : **m3u 是⼀种播放多媒体列表的⽂件格式,可以指定⼀个或多个多媒体⽂件的位置,它的设计初衷是为了播放⾳频⽂件。⽐如MP3,但是越来越多的软件现在⽤来播放视频⽂件列表。
M3U⽂件是记录了⼀个索引纯⽂本⽂件,打开它时播放软件并不是播放它,⽽是根据它的索引到对应的⾳视频⽂件的⽹络地址进⾏在线播放。
H L S :m3u 和m3u8 ⽂件都是苹果公司使⽤的H L S(H T T P L i v e S t r e a m i n g)格式的基础,这种格式可以在i P h o n e和Macbo o k等设备播放。
H L S 点播是常见的分段 H TTP 点播,就是将视频流分成不同的⽚段,客户端不断的去下载该⽚段,由于⽚段之间的分段间隔时间⾮常短,所以看起来是⼀条完整的播放流
四、m3u8与M P4对⽐
了解了m3u8的⽂件格式和播放原理,下边就可以对m3u8 与m p4 做⼀个简单对⽐了。
m p4 对H TML5和f l as h播放器亲和度都挺好。但是⽂件头太⼤,结构复杂,长视频的⼤⽂件头影响加载速度的视频体验,所以短视频更常见
m3u8 采⽤苹果的H L S协议,⽬前 i o s与an dr o i d设备均已⽀持。由于其⼯作原因是将整个视频流分成⼀个个⼩的基于H ttp的⽂件进⾏下载播放,因此⽀持视频直播。
五、提⾼视频秒开率的⼀个⽅案
A、视频重转码为m3u8
将播放格式由m p4更换为m3u8
B、m3u8转码规则:
仅仅重转码,还是远远不够的。
必须对m3u8⽂件切⽚⼤⼩执⾏⼀定的限制规则,对m3u8⽂件切⽚⼤⼩可做如下规定:
m3u8⽂件的 第⼀个ts⽚段长度为1~3秒
unicode文件格式m3u8⽂件的 第⼆个ts⽚段长度为3~5秒
m3u8⽂件的 第三个ts⽚段长度为10秒左右
m3u8⽂件的 第四个ts⽚段以上长度为30秒左右
m3u8⽂件 最长ts⽚段不超过35秒
根据此规则重转码后,其视频播放秒开率相较m p4播放格式,相信会有⼀个质的提升。
参考
==========T H E E N D==========

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。