瀏覽器中打開/tools/f4mconfig/configurator/f4mconfig.html的瀏覽器中 Set-level F4M / M3U8 File Generator
除了Stream URI(流URI)和Bitrate(比特率),還有DVR Window Duration(DVR窗口持續(xù)時(shí)間)該值設(shè)置實(shí)時(shí)點(diǎn)之前的可見內(nèi)容量(以分鐘為單位)。規(guī)則:
必須為大于0的值。設(shè)置為0可能會(huì)導(dǎo)致不良的用戶體驗(yàn)。值-1表示實(shí)時(shí)點(diǎn)后面的可用錄制內(nèi)容是無限的。
在Event.xml文件中,配置DiskManagementDuration元素以指定服務(wù)器緩存的內(nèi)容量。默認(rèn)情況下,服務(wù)器緩存3個(gè)小時(shí)的內(nèi)容。使用以下公式確定與DiskManagementDuration的值有關(guān)的Window Duration的值:
HDSWindowDuration <= (DiskManagementDuration - SegmentDuration)
配置(HLS)
Level Configuration file
Server 安裝目錄/Apache2.4/conf/httpd.conf
Application 安裝目錄/applications/livepkgr/Application.xml livepkgr應(yīng)用程序是HTTP流的默認(rèn)應(yīng)用程序。可復(fù)制并重命名此應(yīng)用程序。
Event 安裝目錄/applications/livepkgr/events/_definst_/liveevent/Event.xml 文件夾是默認(rèn)的實(shí)時(shí)事件。可在一個(gè)應(yīng)用程序中創(chuàng)建多個(gè)實(shí)時(shí)事件
參數(shù)表:
Parameter Configuration file Description
HLSSlidingWindowLength httpd.conf 可搜索的TS文件數(shù)
SlidingWindowLength Application.xml Event.xml 可搜索的TS文件數(shù)
HLSMediaFileDuration httpd.conf TS文件的長度(以毫秒為單位)
MediaFileDuration Application.xml Event.xml TS文件的長度(以毫秒為單位)
播放一次時(shí)間
HLSSlidingWindowLength=SlidingWindowLength
HLSMediaFileDuration=MediaFileDuration
默認(rèn)情況下,HLSSlidingWindowLength設(shè)置為6,HLSMediaFileDuration設(shè)置為8000毫秒。因此,默認(rèn)情況下,所有HLS實(shí)時(shí)事件都可以在48秒寬的窗口中找到。
滑動(dòng)窗口相對于實(shí)時(shí)流的當(dāng)前位置。例如,如果將滑動(dòng)窗口配置為具有15分鐘的數(shù)據(jù),并且事件在時(shí)間0開始,則當(dāng)實(shí)時(shí)流為30時(shí),最后的搜索位置可能是15。
若要使整個(gè)實(shí)時(shí)事件可搜索,請將SlidingWindowLength或HLSSlidingWindowLength設(shè)置為0。但是,這樣做可能會(huì)影響性能。
將滑動(dòng)窗口配置為小于磁盤上緩存的內(nèi)容的持續(xù)時(shí)間。在Event.xml文件中,DiskManagementDuration元素指定服務(wù)器緩存的內(nèi)容量。默認(rèn)情況下,服務(wù)器緩存3個(gè)小時(shí)的內(nèi)容。HLS滑動(dòng)窗口的大小必須如下:
HLSSlidingWindow <= (DiskManagementDuration - SegmentDuration)
在事件級(jí)別配置滑動(dòng)窗口
以下Event.xml文件為單個(gè)HLS實(shí)時(shí)事件創(chuàng)建了一個(gè)1小時(shí)的滑動(dòng)窗口:
<Event>
<EventID>liveevent</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration>
<SegmentDuration>400000</SegmentDuration>
<DiskManagementDuration>3</DiskManagementDuration>
</Recording>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Event>
在應(yīng)用程序級(jí)別配置滑動(dòng)窗口
以下Application.xml文件為livepkgr應(yīng)用程序中的所有HLS實(shí)時(shí)事件創(chuàng)建了一個(gè)1小時(shí)的滑動(dòng)窗口:
<Application>
<StreamManager>
<Live>
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
</Live>
</StreamManager>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Application>
在服務(wù)器級(jí)別配置滑動(dòng)窗口
以下Apache配置將HLSSlidingWindowLength設(shè)置為450。此配置為服務(wù)器上的所有HLS實(shí)時(shí)事件創(chuàng)建1小時(shí)的滑動(dòng)窗口:
<IfModule hlshttp_module>
<Location /hls-live>
HLSHttpStreamingEnabled true
HttpStreamingLiveEventPath "../applications"
HttpStreamingContentPath "../applications"
HLSMediaFileDuration 8000
HLSSlidingWindowLength 450
HLSFmsDirPath ".."
HLSM3U8MaxAge 2
HLSTSSegmentMaxAge -1
Options -Indexes FollowSymLinks
</Location>