HLS-LIVE Sliding Window Issues
Trying to implement a sliding window and having some issues. On iOS devices the scrubber bar does not display however the rewind 30 second button does. If you press that a number of times you can rewind to the beginning. Any way to get the scrubber bar to work?
Have tried both AMS 4.5.7 & 5.0.7. Any help is greatly appreciated.
httpd.conf:
<Location /hls-live>
HLSHttpStreamingEnabled true
HttpStreamingLiveEventPath "../applications"
HttpStreamingContentPath "../applications"
HLSMediaFileDuration 8000
HLSSlidingWindowLength 450
HLSFmsDirPath ".."
HttpStreamingUnavailableResponseCode 503
HLSAMFToId3MappingFilePath conf/AMF_to_Id3_Mapping.xml
########################################
# Cache-control header configuration start
# Specify the max-age(in secs) to set in the Cache-Control header
# for different response types (m3u8, ts, drmmeta,...).
# A value of -1 turns off setting the cache control header.
HLSM3U8MaxAge 2
HLSTSSegmentMaxAge -1
HLSMetaMaxAge 3600
HLSMaxEventAge 300
# Cache-control header configuration end
########################################
# Uncomment the following directives to enable encryption
# for this location.
# HLSEncryptionScope server
# HLSEncryptCipherKeyFile "../creds/liveeventkey.bin"
# HLSEncryptKeyURI "https://<ServerName>/hls-key/liveeventkey.bin"
Options -Indexes FollowSymLinks
</Location>
Application.xml:
<Application>
<StreamManager>
<Live>
<!-- When enabled, the server will assume that incoming live streams have -->
<!-- timestamps that are based on an absolute clock, such as a SMPTE time -->
<!-- signal contained within the encoder's input source. -->
<!-- Default is false. -->
<AssumeAbsoluteTime>true</AssumeAbsoluteTime>
<!-- Allow take over so that encoders that go down (for some reason) and -->
<!-- and come back up can immediately republish. -->
<PublishTimeout>0</PublishTimeout>
<!-- This configuration takes care of situation when the timestamps of -->
<!-- certain messages in internally or externally published streams don't -->
<!-- honor absolute clock contract. -->
<!-- The possible values are listed below: -->
<!-- 0 disables the work around and is default if the configuration is -->
<!-- not present. -->
<!-- 1 handles the scenario for externally published streams only -->
<!-- 2 handles the scenario for internally published streams only -->
<!-- 3 handles both of above -->
<AdjustForZeroTimeStampMessages>2</AdjustForZeroTimeStampMessages>
<!-- When enabled along with AssumeAbsoluteTime, the server will -->
<!-- assume that incoming live streams will always maintain the -->
<!-- timestamps based on an absolute clock across server and stream -->
<!-- restarts. -->
<!-- Default is true. -->
<AdjustForRecordingRollover>false</AdjustForRecordingRollover>
</Live>
</StreamManager>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Application>
Event.xml:
<Event>
<EventID>test</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration>
<SegmentDuration>400000</SegmentDuration>
<DiskManagementDuration>1</DiskManagementDuration>
</Recording>
<HLS>
<MediaFileDuration>8000</MediaFileDuration>
<SlidingWindowLength>450</SlidingWindowLength>
</HLS>
</Event>
