Chengfei Xiao
Chengfei Xiao
@callmewenxi 我做的也还没上线,没有经过大流量考验,等稳定了可能考虑开源 思路:所有的请求共同一个session,delegatequeue设置为nil,直接在nsurlsession 的 didreveivedata这个代理方法里塞数据给resourceloader的request,不要切到任何异步线程,不用buffer,写文件放到异步串行队列,可以设置低一点的优先级,我的思路就是这样。
视频文件的 moov 信息应该位于头部,比 Metadata 还要优先才可以做到最快速度播放,如果放在文件尾部,resourceloader会发起n多请求,我遇到过70次。。。正常情况下10次以内,理想情况下3次左右,否则就会出现卡顿,因为串行的请求太多了
@Leon-OS 如果moov在前,非常简单。要考虑历史原因,服务器上存着几十亿部moov在后的视频。。。
@callmewenxi 貌似 AVMutableComposition + AVAssetExportSession 不是好办法,请看这个链接 http://sky-weihao.github.io/2015/10/06/Video-streaming-and-caching-in-iOS/
@zhengwenming 方案是有的,但是边下边播有一个非常头疼的问题,有时候播了几秒后声音突然没了,视频可以一直播完,也就是变成了静音播放,应该是avplayer的bug,播放音频数据出错。
I have the same problem. my project use pdf files. @Tonyland have you found a tool to get the 3x files ?
in the fact , could not get all 3x file in Assets.car
I think this framework need upgrade, use NSURLSession instead.
@thibaultcha so this problem hasn't been fixed ,right ? maybe the server has some problem.