Posts

Post not yet marked as solved
1 Replies
1k Views
Hi , We are getting big spikes of errors on very few programs in some live channels. [-16012:CoreMediaErrorDomain] [Error Domain=CoreMediaErrorDomain Code=-16012 "(null)"] When this error occurred , AVPlayer stops & users has to restart the playback. This is the error we are getting & this happens in some live programs. We have the same set up & uses same transcoders etc in all programs. Mostly we have very low error rate in player with live programs , but with this error , error rate can increase up to 80% of the users effecting pretty much all the users on apple devices. Does anyone know what this error actually means ? What is the context & what is the reason behind that ? It seems like this may be related subtitles & this occurs only when the subtitles are enabled. ( The subtitles are not embedded in the stream it is teletext ) Try to find in apple documents & online & nothing could be find unfortunately.
Posted
by zkyki.
Last updated
.
Post not yet marked as solved
1 Replies
975 Views
Hi, I'm trying to download hls playlist video track by parsing specific bitrate / resolution. Downloads work perfectly fine. But we need to download specific video track variant from the manifest. So I parse bitrate & resolution via AVAssetDownloadTaskMinimumRequiredMediaBitrateKey & AVAssetDownloadTaskMinimumRequiredPresentationSizeKey. But AVAggregateAssetDownloadTask always downloads the specific ( parsed ) bitrate variant of the video track segments along with the lower resolution video track segments. This makes the download size to go higher than expected. Is this the expected behaviour or am I doing something wrong ? I tried the sample source from https://developer.apple.com/documentation/avfoundation/offline_playback_and_storage/using_avfoundation_to_play_and_persist_http_live_streams & it has the same behaviour. This is how my manifest file looks like. #EXT-X-VERSION:7 ## Created with Unified Streaming Platform (version=1.11.3-24483) #EXT-X-SESSION-KEY:METHOD=SAMPLE-AES,URI="skd://xxxxxxx",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1" # AUDIO groups #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-96",LANGUAGE="en",NAME="eng",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2",URI="vod-idx-audio_eng=96000.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-160",LANGUAGE="en",NAME="eng",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="2",URI="vod-idx-audio_eng=160000.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-ec-3-192",LANGUAGE="en",NAME="eng",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="6",URI="vod-idx-audio_eng_1=192000.m3u8" #EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio-aacl-320",LANGUAGE="en",NAME="eng",DEFAULT=YES,AUTOSELECT=YES,CHANNELS="6",URI="vod-idx-audio_eng_2=320000.m3u8" # SUBTITLES groups #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="textstream",LANGUAGE="da",NAME="Dansk",DEFAULT=YES,AUTOSELECT=YES,URI="vod-idx-textstream_dan=1000.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="textstream",LANGUAGE="fi",NAME="Suomi",AUTOSELECT=YES,URI="vod-idx-textstream_fin=1000.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="textstream",LANGUAGE="no",NAME="Norsk",AUTOSELECT=YES,URI="vod-idx-textstream_nor=1000.m3u8" #EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="textstream",LANGUAGE="sv",NAME="Svenska",AUTOSELECT=YES,URI="vod-idx-textstream_swe=1000.m3u8" # variants #EXT-X-STREAM-INF:BANDWIDTH=416000,CODECS="mp4a.40.2,avc1.4D4015",RESOLUTION=480x270,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-96",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=300000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=799000,CODECS="mp4a.40.2,avc1.4D401E",RESOLUTION=640x360,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-160",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=600000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=1385000,CODECS="mp4a.40.2,avc1.4D401E",RESOLUTION=768x432,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-320",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=1000000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=2021000,CODECS="mp4a.40.2,avc1.4D401F",RESOLUTION=960x540,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-320",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=1600000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=3505000,CODECS="mp4a.40.2,avc1.64001F",RESOLUTION=1280x720,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-320",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=3000000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5837000,CODECS="mp4a.40.2,avc1.640032",RESOLUTION=1920x1080,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-aacl-320",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=5200000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=513000,CODECS="ec-3,avc1.4D4015",RESOLUTION=480x270,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=300000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=831000,CODECS="ec-3,avc1.4D401E",RESOLUTION=640x360,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=600000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=1255000,CODECS="ec-3,avc1.4D401E",RESOLUTION=768x432,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=1000000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=1891000,CODECS="ec-3,avc1.4D401F",RESOLUTION=960x540,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=1600000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=3375000,CODECS="ec-3,avc1.64001F",RESOLUTION=1280x720,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=3000000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=5707000,CODECS="ec-3,avc1.640032",RESOLUTION=1920x1080,FRAME-RATE=25,VIDEO-RANGE=SDR,AUDIO="audio-ec-3-192",SUBTITLES="textstream",CLOSED-CAPTIONS=NONE vod-idx-video=5200000.m3u8 # variants #EXT-X-STREAM-INF:BANDWIDTH=98000,CODECS="mp4a.40.2",AUDIO="audio-aacl-96",SUBTITLES="textstream" vod-idx-audio_eng=96000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=163000,CODECS="mp4a.40.2",AUDIO="audio-aacl-160",SUBTITLES="textstream" vod-idx-audio_eng=160000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=325000,CODECS="mp4a.40.2",AUDIO="audio-aacl-320",SUBTITLES="textstream" vod-idx-audio_eng_2=320000.m3u8 #EXT-X-STREAM-INF:BANDWIDTH=195000,CODECS="ec-3",AUDIO="audio-ec-3-192",SUBTITLES="textstream" vod-idx-audio_eng_1=192000.m3u8 # keyframes #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=40000,CODECS="avc1.4D4015",RESOLUTION=480x270,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=300000.m3u8" #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=80000,CODECS="avc1.4D401E",RESOLUTION=640x360,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=600000.m3u8" #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=133000,CODECS="avc1.4D401E",RESOLUTION=768x432,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=1000000.m3u8" #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=212000,CODECS="avc1.4D401F",RESOLUTION=960x540,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=1600000.m3u8" #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=398000,CODECS="avc1.64001F",RESOLUTION=1280x720,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=3000000.m3u8" #EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=689000,CODECS="avc1.640032",RESOLUTION=1920x1080,VIDEO-RANGE=SDR,URI="keyframes/vod-idx-video=5200000.m3u8" And this is how I create the download task let preferredMediaSelection = asset.urlAsset.preferredMediaSelection if #available(iOS 14.0, *) {       guard let task =           assetDownloadURLSession.aggregateAssetDownloadTask(with: asset.urlAsset,                                     mediaSelections: [preferredMediaSelection],                                     assetTitle: asset.stream.name,                                     assetArtworkData: nil,                                     options:                                     [AVAssetDownloadTaskMinimumRequiredMediaBitrateKey:5200000, AVAssetDownloadTaskMinimumRequiredPresentationSizeKey: CGSize(width: 1920, height: 1080)])       else { return }       task.taskDescription = asset.stream.name       task.resume()     } Any help will be appreciated. thanks
Posted
by zkyki.
Last updated
.
Post not yet marked as solved
0 Replies
445 Views
Hi does any one know if I can use localizedString inside TVML templates or in a TVJS file ? If so how to do that ? Can not find any documentation on this. I have some strings that shows up in the template files which should use the localised versions.
Posted
by zkyki.
Last updated
.
Post not yet marked as solved
0 Replies
592 Views
Hi I'm working in a tvml 7 tvjs application.Does any one know how to add title & the contextTitle on left top of the banner in `productUberTemplate` ? I tired using title & header tags, but did not work as expected. Can not find any documentation on this either.
Posted
by zkyki.
Last updated
.