首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS中从HLS下载具体的分辨率

在iOS中从HLS下载具体的分辨率
EN

Stack Overflow用户
提问于 2019-03-14 13:08:12
回答 1查看 517关注 0票数 3

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

代码语言:javascript
复制
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];
EN

回答 1

Stack Overflow用户

发布于 2020-03-13 19:43:55

答案就在swift中。下载特定分辨率的关键是将AVAssetDownloadTaskMinimumRequiredMediaBitrateKey设置为略低于所需比特率的比特率,因为它将最小比特率考虑在内

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


            downloadTask.resume() 
 }
}

下载码率高于200000的媒体

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55155324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档