Explore HLS variants in AVFoundation

RSS for tag

Discuss the WWDC21 session Explore HLS variants in AVFoundation.

View Session

Posts under wwdc21-10143 tag

4 Posts
Sort by:
Post not yet marked as solved
0 Replies
355 Views
Hi. We have a custom player and would like to implement trick play(show preview thumbnail of the content as user scrubs on the slider). Stream format is .m3u8 and the manifest does have "EXT-X-I-FRAME-STREAM-INF" tag mentioned in specification. But we are clueless about how to utilise it and show thumbnail above the slider. Looking forward to the help. Thank you.
Posted
by
Post not yet marked as solved
0 Replies
286 Views
Hello, We are trying to trigger a meta service URL from m3u8 playlist. I've gone through HLS RFC, but I couldn't find any tag which enables it. Is there any way by which this can be achieved?
Posted
by
Post not yet marked as solved
0 Replies
396 Views
Hello everyone! Recently our backend team integrated video streaming via HLS, before we had default HTTP streaming. With HTTP streaming this exporting code worked fine: private func cacheFile(from asset: AVURLAsset) {         guard asset.isExportable,               let fileName = asset.url.pathComponents.last,               let outputURL = self.cacheDirectory?.appendingPathComponent(fileName), !FileManager.default.fileExists(atPath: outputURL.path)         else { return }         asset.resourceLoader.setDelegate(self, queue: backgroundQueue.underlyingQueue)         let exporter = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetHighestQuality)         exporter?.outputURL = outputURL         exporter?.determineCompatibleFileTypes(completionHandler: { types in             guard let type = types.first else { return }             exporter?.outputFileType = type             exporter?.exportAsynchronously(completionHandler: {                 if let error = exporter?.error { print(error)                 }             })         })     } This code works great with HTTP streaming, but for HLS asset.isExportable is equal to false. After removing check for asset.isExportable exporter?.determineCompatibleFileTypes passes empty array inside closure. If setting outputFileType to .mp4 or .mov I'm receiving error inside exportAsynchronously completionHandler: Error Domain=AVFoundationErrorDomain Code=-11838 "Operation Stopped" UserInfo={NSLocalizedFailureReason=The operation is not supported for this media., NSLocalizedDescription=Operation Stopped, NSUnderlyingError=0x6000025abd50 {Error Domain=NSOSStatusErrorDomain Code=-16976 "(null)" Why does this happen? AVAssetExportSession cannot combine all parts of .m3u8 to .mp4? Is there any alternative way to cache streamed video via HLS?
Posted
by
Post not yet marked as solved
0 Replies
407 Views
I am sending my app to revision but they send me this message: Your app or its metadata appears to contain misleading content. Specifically, your app includes content that resembles Fortnite. The app is only to create video game tournaments so the image is only to refer to the game, but they send me that error. What is the solution or what could I do?
Posted
by