美文网首页
如何为视频链接添加请求头AVURLAsset

如何为视频链接添加请求头AVURLAsset

作者: 灬小0哥 | 来源:发表于2019-07-11 09:19 被阅读0次

    AVURLAsset

    播放视频只需一个url就能进行这样太不安全了,别人可以轻易的抓包盗链,为此我们需要为视频链接做一个请求头的认证,这个功能可以借助AVURLAsset完成。

    AVPlayerItem除了可以用URL初始化,还可以用AVAsset初始化,而AVAsset不能直接使用,我们看下AVURLAsset的一个初始化方法:

    /*!
    @param URL
    An instance of NSURL that references a media resource.
    @param options
    An instance of NSDictionary that contains keys for specifying options for the initialization of the AVURLAsset. See AVURLAssetPreferPreciseDurationAndTimingKey and AVURLAssetReferenceRestrictionsKey above.
    */

    • (instancetype)URLAssetWithURL:(NSURL *)URL options:(nullable NSDictionary<NSString *, id> *)options;

    AVURLAssetPreferPreciseDurationAndTimingKey.这个key对应的value是一个布尔值, 用来表明资源是否需要为时长的精确展示,以及随机时间内容的读取进行提前准备。

    除了这个苹果官方介绍的功能外,他还可以设置请求头,这个算是隐藏功能了,因为苹果并没有明说这个功能,我是费了很大劲找到的。

    NSMutableDictionary * headers = [NSMutableDictionary dictionary];
    [headers setObject:@"yourHeader"forKey:@"User-Agent"];
    self.urlAsset = [AVURLAsset URLAssetWithURL:self.videoURL options:@{@"AVURLAssetHTTPHeaderFieldsKey" : headers}];
    // 初始化playerItem
    self.playerItem = [AVPlayerItem playerItemWithAsset:self.urlAsset];

    补充:后来得知这个参数是非公开的API,但是经多人测试项目上线不受影响。

    作者:reallychao
    链接:https://www.jianshu.com/p/4a6420a9ee18
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

          本文标题:如何为视频链接添加请求头AVURLAsset

          本文链接:https://www.haomeiwen.com/subject/asalkctx.html