[FMS]Http live streaming参数设定hls配置说明
请确认将这些属性添加在Application.xml文件里正确的<Properties>中。在这个文件中有好几个<Properties>。
- <Property>
- <Name>cupertinoChunkDurationTarget</Name>
- <Value>10000</Value>
- <Type>Integer</Type>
- </Property>
- <Property>
- <Name>cupertinoMaxChunkCount</Name>
- <Value>10</Value>
- <Type>Integer</Type>
- </Property>
- <Property>
- <Name>cupertinoPlaylistChunkCount</Name>
- <Value>3</Value>
- <Type>Integer</Type>
- </Property>
- <Property>
- <Name>cupertinoRepeaterChunkCount</Name>
- <Value>3</Value>
- <Type>Integer</Type>
- </Property>
一些细节
Hls封包的过程其实非常简单。音频和视频流从实时编码器进入Wowza Media Server之后,Wowza依据时间将它分割为很多小的片段(本文以下称之为切片)。设置cupertinoChunkDurationTarget参数以控制每一个切片的时长大小(毫秒)。当切片被创建后,它们被添加到到一个切片列表中。在这个列表中存储的最大的切片个数由cupertinoMaxChunkCount参数控制。 当一个iOS设备发起流媒体请求时,一个播放列表(playlist)被返回给终端设备,这个播放列表会包含几个最新的切片。在返回的播放列表(playlist)中的切片个数由cupertinoPlaylistChunkCount参数控制。
直播流中继器(live stream repeater)是一个用于在源/边缘(origin/edge)架构下进行直播流传输时由源(origin)向多个边缘系统传送实时流的系统。当边缘 服务器第一次向源(origin)请求实时流时,它将之前的切片从源(origin)拉到边缘(edge)后再向iOS终端提供hls流媒体服务。 cupertinoRepeaterChunkCount参数控制着在初始化连接后从源(origin)向边缘(edge)发送切片的数量。最好的设置是这个值等同或略大于cupertinoPlaylistChunkCount 但略小于cupertinoMaxChunkCount。
注意
每一个切片必须从关键帧快开始,因此关键帧的间隔最好是cupertinoChunkDurationTarget参数的因子(能够被整除).例如,如果cupertinoChunkDurationTarget 被设置为10秒,那么关键帧间隔最好被设置为2秒、2.5秒、5秒、或10秒。
要评估需要多少内存来存储一个直播流的切片,可以用下面的公式:
- [total-memory-mb] = ([stream-bitrate-kbps]/([1024-kb-per-mb]*[8-bits-per-byte]))
- * [cupertinoChunkDurationTarget-seconds] * [cupertinoMaxChunkCount]
例如,一个500kbps的实时流,按上面的默认设置将会消耗下面数量的内存:
你可以在HTTPStreamer/Properties中添加下面的属性参数来控制针对点播业务(VOD)的切片大小:
- <Property>
- <Name>cupertinoChunkDurationTarget</Name>
- <Value>10000</Value>
- <Type>Integer</Type>
- </Property>
热门文章推荐
- [FMS]adobe FMS配置实现(FMS/HLS/HDS)功能经验
- [HLS]HTTP Live Streaming流与TS流比较
- [FMS]adobe FMS(flash media server )服务器安装过程
- [FMS]fms5.0的hls(HTTP Live Streaming)技术实现跨平台点播与
- [FMS]FMS之HTTP Live Streaming (HLS)视频直播技术
- [hls]m3u8视频如何处理成加密?
- [海康]视频监控环境中配置组播模式
- [FMS]基于fms搭建在线hls跨平台直播环境(组图)