gpt4 book ai didi

ios - 在 iOS 中从 HLS 下载特​​定分辨率

转载 作者:行者123 更新时间:2023-12-01 18:55:39 26 4
gpt4 key购买 nike

我使用以下代码从 HLS 下载视频。它运行良好并且总是下载高分辨率。如何切换到我想要的特定分辨率?

NSURLSessionConfiguration *urlSessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"assetDowloadConfigIdentifier"];
AVAssetDownloadURLSession *avAssetDownloadSession = [AVAssetDownloadURLSession sessionWithConfiguration:urlSessionConfiguration assetDownloadDelegate:self delegateQueue:[NSOperationQueue mainQueue]];
NSURL *assetURL = [NSURL URLWithString:@"https://a4i6y2k6.stackpathcdn.com/vistvorigin/smil:4b0d690b7b3bc8ac5da2049f50c80794c762423e.smil/playlist.m3u8"];
AVURLAsset *hlsAsset = [AVURLAsset assetWithURL:assetURL];

if (@available(iOS 10.0, *)) {
AVAssetDownloadTask *avAssetDownloadTask = [avAssetDownloadSession assetDownloadTaskWithURLAsset:hlsAsset assetTitle:@"downloadedMedia" assetArtworkData:nil options:videoSettings];
AVKeyValueStatus status = [hlsAsset statusOfValueForKey:@"tracks" error:nil];if (AVKeyValueStatusLoaded != status) { NSArray *keys = [NSArray arrayWithObject:@"tracks"]; [hlsAsset loadValuesAsynchronouslyForKeys:keys completionHandler:^{
}];}
[avAssetDownloadTask resume];

最佳答案

这个答案很快。下载特定分辨率的关键是将 AVAssetDownloadTaskMinimumRequiredMediaBitrateKey 设置为略低于所需比特率的比特率,因为它考虑了最低比特率

if #available(iOS 10.0, *) {
if let downloadTask = hlsDownloadSession.makeAssetDownloadTask(asset: asset,
assetTitle: "samplevid",
assetArtworkData: nil,
options: [AVAssetDownloadTaskMinimumRequiredMediaBitrateKey: 200000]){


downloadTask.resume()
}
}

这将下载比特率高于 200000 的媒体

关于ios - 在 iOS 中从 HLS 下载特​​定分辨率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55155324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com