HLS encryption VOD randomly stop playing on IOS
We have 4 AMS servers load balanced (DNS) with identical application on each. RTMPe is playing fine from flash desktops, however, HLSe on IOS devices randomly stops playing part way through the content. I do not see any relevant errors in AMS/Apache. The front end player shows the following errors when the content stops playing:
"CoreMediaErrorDomain" "No response for media file in 0.49632s"
"CoreMediaErrorDomain" "Segment exceeds specified bandwidth for variant"
Similar issues discussed here: http://openradar.io/15060374 (thought not AMS specific).
This could be a player issue. It seems to randomly have issues grabbing an HLS segment. Has anyone else had any similar issues?
(the following IP's, certs, URL's have been replaced for privacy).
httpd.conf
<Location /hls-vod>
HLSHttpStreamingEnabled true
HLSMediaFileDuration 8000
HttpStreamingContentPath "/mnt/store0/"
HLSFmsDirPath ".."
HLSJITConfAllowed true
########################################
# 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 86400
HLSTSSegmentMaxAge 86400
HLSMetaMaxAge 3600
# Cache-control header configuration end
########################################
# Uncomment the following directives to enable encryption
# for this location.
HLSEncryptionScope server
HLSEncryptCipherKeyFile "../creds/vodkey.bin"
HLSEncryptKeyURI "https://myurl/hls-key/vodkey.bin"
Options -Indexes FollowSymLinks
</Location>
httpd-hls-secure.conf
<VirtualHost myip:443>
ServerName myserver
DocumentRoot "../webroot"
SSLEngine on
SSLCertificateFile "/opt/certs/mycert.crt"
#Uncomment the following if the file specified above does not
#have the private key
SSLCertificateKeyFile "/opt/certs/mykey.key"
#Client Authentication configuration
#SSLVerifyClient require
#SSLVerifyDepth 9
SSLCACertificateFile "/opt/certs/myintermediate.crt"
SSLOptions +StdEnvVars +FakeBasicAuth -ExportCertData +StrictRequire
<Location /hls-key>
HLSEncryptHostCipherKey true
HLSFmsDirPath ".."
HLSEncryptKeyRepository "../creds"
SSLRequireSSL
# SSLRequire %{SSL_CLIENT_S_DN_CN} eq "iPhoneOS Device Certificate"
</Location>
</VirtualHost>
