您当前的位置: 首页 > 

令狐掌门

暂无认证

  • 0浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

什么是m3u8?

令狐掌门 发布时间:2021-05-22 14:47:51 ,浏览量:0

什么是m3u8?

​  m3u8是苹果公司推出的视频播放标准,是m3u8的一种,只是编码格式采用的是UTF-8。

  m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。

​  现在的视频网站采用的是流媒体传输协议,就是将一段视频切成无数个小段,这几个小段就是ts格式的视频文件,一段一段的网站上播放。这样做的好处是观看更加流畅,因为他会根据网络状况自动切换视频的清晰度,在网络状况不稳定的情况下,对保障流畅播放非常有帮助。如果直接加载mp4或者flv文件,当文件很大时,比如一集电影2个小时,1080p的可能有2G的大小,直接加载会很慢,如果进行切片,这样只需要加载m3u8文件,根据m3u8里的索引进行播放,这种加载会很快。

MP4文件做视频ts切片

​   例如可以把mp4文件转为很多ts片段和m3u8索引文件。

  (1)先用ffmpeg把1.mp4文件转换为1.ts文件:

ffmpeg -y -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts

  (2)再用ffmpeg把1.ts文件切片并生成index.m3u8文件,5秒一个的ts切片:

ffmpeg -i 1.ts -c copy -map 0 -f segment -segment_list index.m3u8 -segment_time 5 test-%03d.ts

  segment_time: 切片时间,上面设置的每个切片是5秒。

  test-:这个表示切片的前缀

  m3u8文件可以用用txt打开,例如我做的切片:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXTINF:6.040000,
test-000.ts
#EXTINF:6.000000,
test-001.ts
#EXTINF:6.000000,
test-002.ts
#EXTINF:6.000000,
test-003.ts
#EXTINF:6.000000,
test-004.ts
#EXTINF:5.600000,
test-005.ts
#EXTINF:3.720000,
test-006.ts
#EXTINF:3.480000,
test-007.ts
#EXTINF:3.080000,
。。。
。。。

  可以看到m3u8文件里记载了各个切片的信息。

  下面是切片的ts列表 在这里插入图片描述

  这种切片文件用vlc播放器可以播放,打开index.m3u8即可。

关注
打赏
1652240117
查看更多评论
立即登录/注册

微信扫码登录

0.0392s