zoukankan      html  css  js  c++  java
  • HLS协议

    HLS协议详解
    HLS是提供一个m3u8地址,Apple的Safari浏览器直接就能打开m3u8地址,譬如:

    http://demo.srs.com/live/livestream.m3u8
    1
    Android不能直接打开,需要使用html5的video标签,然后在浏览器中打开这个页面即可,譬如:

    <!-- livestream.html -->
    <video width="640" height="360"
    autoplay controls autobuffer
    src="http://demo.srs.com/live/livestream.m3u8"
    type="application/vnd.apple.mpegurl">
    </video>
    1
    2
    3
    4
    5
    6
    HLS协议规定
    视频的封装格式是TS。

    视频的编码格式为H264,音频编码格式为MP3、AAC或者AC-3。

    除了TS视频文件本身,还定义了用来控制播放的m3u8文件(文本文件)。

    HLS协议说明
    HLS的m3u8,是一个ts的列表,也就是告诉浏览器可以播放这些ts文件,譬如:

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-ALLOW-CACHE:YES
    #EXT-X-TARGETDURATION:13
    #EXT-X-MEDIA-SEQUENCE:430
    #EXT-X-PLAYLIST-TYPE:VOD
    #EXTINF:11.800
    news-430.ts
    #EXTINF:10.120
    news-431.ts
    #EXT-X-DISCONTINUITY
    #EXTINF:11.952
    news-430.ts
    #EXTINF:12.640
    news-431.ts
    #EXTINF:11.160
    news-432.ts
    #EXT-X-DISCONTINUITY
    #EXTINF:11.751
    news-430.ts
    #EXTINF:2.040
    news-431.ts
    #EXT-X-ENDLIST
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    EXTM3U
    每个M3U文件第一行必须是这个tag,提供标示作用

    EXT-X-VERSION
    用以标示协议版本。这里是3, 那么这里用的就是HLS协议第三个版本,此标签只能有0或1个,不写代表使用版本1

    EXT-X-TARGETDURATION
    所有切片的最大时长,有些Apple设备这个参数不正确会无法播放。

    EXT-X-MEDIA-SEQUENCE
    切片的开始序号。每一个切片都有唯一的序号,相邻之间序号+1。这个编号会继续增长,保证流的连续性。

    EXTINF
    ts 切片的实际时长。duration : 媒体持续时间

    #EXTINF <duration>,<title>
    1
    EXT-X-PLAYLIST-TYPE
    类型,vod 表示点播。

    EXT-X-ENDLIST
    文件结束符号。表示不再向播放列表文件添加媒体文件。

  • 相关阅读:
    02 树莓派的远程连接
    01 树莓派系统安装
    Python正课110 —— Django入门
    作业7 答案
    作业8
    作业7
    作业6
    文件操作
    字符编码
    基本数据类型之集合
  • 原文地址:https://www.cnblogs.com/lzq666/p/12444272.html
Copyright © 2011-2022 走看看