Giter Site home page Giter Site logo

ktvhttpcache's People

Contributors

keyofvv avatar libobjc avatar lisonfan avatar poholo avatar wanhmr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ktvhttpcache's Issues

不能播放

当我使用它播放MP3时,报错
HTTP load failed (error code: -999 )
Task .<2> finished with error - code: -999

请教一个问题

我把缓存的视频片段按顺序拼接起来存入本地 为什么有些可以生成视频格式, 有些不行?
wechatimg860

关于 Readme 的一点疑问?

Readme 中提到应用场景不限于音视频在线播放,也可以用于文件下载、图片加载、普通网络请求等场景。我看 Demo 中只有提供了视频的缓存,但是没有看到关于音频(比如使用 AVAudioPlayer)、文件下载、图片加载、普通网络的缓存例子,能否提供一个例子,如何做其它的缓存,期盼解答!!!

当进行大量的下载任务 NSURLSessionDataTask会报错error - code: -1001 请求超时

env
KTVHTTPCache 1.0.2
iOS 11
Xcode 9.2
macOS Sirerra 10.12.6
player:AVPlayer

本团队的产品设计是一个横向卡片式播放视频的列表,左右滑动就会创建一个新的AVPlayer进行播放,播放一个视频的时候会将上一个AVPlayer销毁,当快速的滑动的时候,会创建大量的downloadTask,又会将downloadTask进行取消,所以这样大量快速而短促的请求、取消,导致最新视频播放的时候downloadTask超时 报-1001错误!

不确定是因为task队列较多 导致最新入队的task请求超时,还是因为快速而短促的请求、取消 ,导致服务端拒绝服务

当不使用KTVHttpCache的时候,同样的操作不会产生这个错误!

2018-01-06 14:52:21.903336+0800 zhenaiwang[6632:2677979] Task <3EACB1F0-E392-4C63-838A-8CF132A2DB6C>.<205> finished with error - code: -1001
2018-01-06 14:52:21.903965+0800 zhenaiwang[6632:2677980] KTVHCDownload           :   complete, -1001, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5
2018-01-06 14:52:21.904254+0800 zhenaiwang[6632:2677980] KTVHCDataNetworkSource  :   complete by error, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, -1001
2018-01-06 14:52:21.904541+0800 zhenaiwang[6632:2677979] KTVHCDataSourcer        :   network source failure, -1001
2018-01-06 14:52:21.904726+0800 zhenaiwang[6632:2677979] KTVHCDataSourcer        :   failure, -1001
2018-01-06 14:52:21.904919+0800 zhenaiwang[6632:2677979] KTVHCDataReader         :   call close, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5
2018-01-06 14:52:21.905129+0800 zhenaiwang[6632:2677979] KTVHCDataSourcer        :   call close
2018-01-06 14:52:21.905270+0800 zhenaiwang[6632:2677979] KTVHCDataSourceQueue    :   close all sources
2018-01-06 14:52:21.905393+0800 zhenaiwang[6632:2677979] KTVHCDataNetworkSource  :   call close begin
2018-01-06 14:52:21.905617+0800 zhenaiwang[6632:2677979] KTVHCDataNetworkSource  :   call close end
2018-01-06 14:52:21.905797+0800 zhenaiwang[6632:2677979] KTVHCDataUnit           :   working release, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, 0
2018-01-06 14:52:21.906265+0800 zhenaiwang[6632:2677979] KTVHCDataReader         :   record error : Error Domain=NSURLErrorDomain Code=-1001 "请求超时。" UserInfo={NSUnderlyingError=0x1cc241560 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, NSErrorFailingURLKey=https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=请求超时。}
2018-01-06 14:52:21.906616+0800 zhenaiwang[6632:2677979] KTVHCDataReader         :   callback for failure begin, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, -1001
2018-01-06 14:52:21.907182+0800 zhenaiwang[6632:2678071] KTVHCDataReader         :   callback for failure end, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5, -1001
2018-01-06 14:52:21.907384+0800 zhenaiwang[6632:2678071] KTVHCHTTPResponse       :   failure, -1001, https://shortvideo.zhenai.com/video/25704/102808345/13955831540704229.mp4.f10.mp4?start=0&end=5
2018-01-06 14:52:21.907939+0800 zhenaiwang[6632:2677980] KTVHCHTTPResponse       :   connection did close, 0, 0
2018-01-06 14:52:21.908244+0800 zhenaiwang[6632:2677980] <KTVHCHTTPResponse: 0x1c4244350>  :   dealloc
2018-01-06 14:52:21.908492+0800 zhenaiwang[6632:2677980] <KTVHCDataReader: 0x1c80c5e80>  :   dealloc
2018-01-06 14:52:21.908684+0800 zhenaiwang[6632:2677980] <KTVHCDataSourcer: 0x1c8076e00>  :   dealloc
2018-01-06 14:52:21.908954+0800 zhenaiwang[6632:2677980] <KTVHCDataSourceQueue: 0x1c8005720>  :   dealloc
2018-01-06 14:52:21.909158+0800 zhenaiwang[6632:2677980] <KTVHCDataNetworkSource: 0x1cc365700>  :   dealloc
2018-01-06 14:52:21.911138+0800 zhenaiwang[6632:2677980] <KTVHCDataRequest: 0x1c8244e00>  :   dealloc
2018-01-06 14:52:21.911452+0800 zhenaiwang[6632:2677980] <KTVHCHTTPConnection: 0x1c013e1e0>  :   dealloc

和AVAssetResourceLoader配合使用

能否提供一份配合AVAssetResourceLoader使用的demo。

- (void)readerDidFinishPrepare:(KTVHCDataReader *)reader {
    if ([reader didFinishRead]) {
        [reader.request.resourceRequest finishLoading];
    }
    if ([reader didFinishPrepare]) {
        AVAssetResourceLoadingContentInformationRequest *contentInformationRequest = reader.request.resourceRequest.contentInformationRequest;
        if (reader.response) {
            contentInformationRequest.contentType = reader.response.contentType;
            contentInformationRequest.contentLength = reader.response.totalContentLength;
            contentInformationRequest.byteRangeAccessSupported = YES;
        }
        AVAssetResourceLoadingRequest * loadingRequest = reader.request.resourceRequest;
        NSData * data = [reader readDataOfLength:reader.response.totalContentLength];
        [loadingRequest.dataRequest respondWithData:data];
    }
}

设置后不行,应该还是通过reader取的数据不对

什么意思?

bogon:~ wang$ pod search KTVHTTPCache
[!] Unable to find a pod with name, author, summary, or description matching KTVHTTPCache

找不到这个库? 还有 demo 运行不了啊?

ping 方法里面线程等待导致应用假死

楼主好,是这样的,我在应用里使用了本框架,非常棒,但遇到个问题:
我们的界面类似于抖音的首页,上下滑动切换视频,我发现上下切换多了之后就会在ping 方法里线程等待,导致应用暂时卡死,麻烦楼主有空看看
最后,真心感谢楼主能把这么好的开源库开源出来,十分感谢

integration via Carthage

@libobjc Your repo helps me a lot, great job!
It would be nice and convenient if KTVHTTPCache can be integrated via Carthage. I hope my PR can be accepted If you think so either.
Many thanks!

库里有一些警告,能不能修复呢

类似的警告
/KTVHTTPCache/KTVHTTPCache/Classes/KTVHCHTTPServer/KTVHCHTTPServer.m:61:45: Values of type 'NSUInteger' should not be used as format arguments; add an explicit cast to 'unsigned long' instead

autoreleasepool 疑问

dispatch_async(websocketQueue, ^{ @autoreleasepool {
		
		[asyncSocket disconnect];
	}});

为什么这里要做这种 autoreleasepool 操作?

提一些关于视频缓存的疑问

  • 就是开始播放后,开始下载缓存,会一直下载到全部缓存结束吗?
  • 可以暂停缓存下载吗?尤其是当网络发生切换时,当从wifi 切换到 移动网络,需要暂停播放,停止缓存,当网络切换到wifi, 继续播放,然后继续缓存
  • 可以自定义每次缓冲大小吗?当播放到当前缓存的时候,再缓冲下一个,想省流量。。。。

KTVHTTPCache能搭配别的视频播放器吗?比如 ijkplayer? 以及其他非 AVPlayer 播放器

您好:
是这样的,我们的项目原先使用的是 AVPlayer+KTVHTTPCache来做缓存,后来发现以下 MP4的视频 AVPlayer不能够播放,现在有连个解决办法,一:视频源统一编码格式,二:换第三方播放器,在换第三方播放器时发现无论是 MobleVLCKit 还是 ijkplayer 这种播放器都不能正常播放缓存的视频,本人不懂这些播放器的底层原理,所有来请教一下,这种问题是怎么回事,应该如何解呢?
KTVHCDataReader : record error : Error Domain=KTVHCErrorDomainResponseUnavailable Code=-192700 "(null)" UserInfo={originalURL=http://filedown.cdn.ttmv.com/2018/5/17/56/video_9711525253636_172.mp4, responseURL=http://filedown.cdn.ttmv.com/2018/5/17/56/video_9711525253636_172.mp4, responseHeader=<CFBasicHash 0x1c0477d00 [0x1b47e2538]>{type = immutable dict, count = 14,
entries =>
0 : Content-Type = video/mp4
1 : Last-Modified = <CFString 0x1c0649810 [0x1b47e2538]>{contents = "Wed, 02 May 2018 09:33:56 GMT"}
3 : Content-Disposition = <CFString 0x1c043a7c0 [0x1b47e2538]>{contents = ": attachment;"}
4 : Oct-Response-Info = <CFString 0x1c067f6c0 [0x1b47e2538]>{contents = "1000000000000000000000000000000"}
5 : Age = 31
6 : Server = YunFanCDN
7 : X-CDN-ReqID = <CFString 0x1c06490c0 [0x1b47e2538]>{contents = "EApvdiEhWCumII3AAB"}
8 : Expires = <CFString 0x1c044db90 [0x1b47e2538]>{contents = "Fri, 01 Jun 2018 09:42:28 GMT"}
13 : Date = <CFString 0x1c045f470 [0x1b47e2538]>{contents = "Wed, 02 May 2018 09:42:59 GMT"}
15 : Content-Length = 0
17 : Connection = <CFString 0x1c0439580 [0x1b47e2538]>{contents = "keep-alive"}
20 : Etag = <CFString 0x1c044da10 [0x1b47e2538]>{contents = ""5ae98604-16f0e8""}
21 : Accept-Ranges = bytes
22 : YF-ID = <CFString 0x1c04391e0 [0x1b47e2538]>{contents = "azjsx1b008163p, kzjhz2u006178p, ehbwh1b004209p, ebjxx1b002134p"}
}
, requestHeader=<CFBasicHash 0x1c0673400 [0x1b47e2538]>{type = mutable dict, count = 4,
entries =>
0 : User-Agent = ijkplayer
1 : Range = <CFString 0x1c0434600 [0x1b47e2538]>{contents = "bytes=1503464-"}
2 : Accept = /
4 : Connection = close
}
}

IJKPlayer中使用KTVHTTPCache会有严重问题

缓存读取会有异常!读取的range并不是播放器想要的

env
KTVHTTPCache 1.0.1
IJKPlayer 0.8.5.1
Xcode 9.2
macOS Sirerra 10.12.6
2017-12-28 17:49:36.949959+0800 IJKMediaDemo[32762:6542451] KTVHCHTTPURL            :   Ping, original url, KTVHCHTTPURLPingResponseFile
2017-12-28 17:49:36.951298+0800 IJKMediaDemo[32762:6542451] KTVHCHTTPURL            :   proxy url, http://localhost:60134/request-KTVHCHTTPURLPingResponseFile?requestType=ping&originalURL=KTVHCHTTPURLPingResponseFile
2017-12-28 17:49:36.952993+0800 IJKMediaDemo[32762:6542451] <KTVHCHTTPURL: 0x1c0231240>  :   dealloc
2017-12-28 17:49:36.987753+0800 IJKMediaDemo[32762:6542614] <KTVHCHTTPConnection: 0x1c4322800>  :   alloc
2017-12-28 17:49:36.996877+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPConnection     :   receive request, GET, /request-KTVHCHTTPURLPingResponseFile?requestType=ping&originalURL=KTVHCHTTPURLPingResponseFile
2017-12-28 17:49:36.997185+0800 IJKMediaDemo[32762:6542511] <KTVHCHTTPURL: 0x1c0233e20>  :   alloc
2017-12-28 17:49:36.997508+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPURL            :   Server URI, /request-KTVHCHTTPURLPingResponseFile?requestType=ping&originalURL=KTVHCHTTPURLPingResponseFile, original url, KTVHCHTTPURLPingResponseFile, type, 0
2017-12-28 17:49:36.997897+0800 IJKMediaDemo[32762:6542511] <KTVHCHTTPResponsePing: 0x1c0233e80>  :   alloc
2017-12-28 17:49:36.998085+0800 IJKMediaDemo[32762:6542511] <KTVHCHTTPURL: 0x1c0233e20>  :   dealloc
2017-12-28 17:49:36.998264+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPResponsePing   :   conetnt length, 4
2017-12-28 17:49:37.003944+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPResponsePing   :   read data length, 4, offset, 4 pang
2017-12-28 17:49:37.004160+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPResponsePing   :   check done, 1
2017-12-28 17:49:37.005084+0800 IJKMediaDemo[32762:6542511] KTVHCHTTPResponsePing   :   connection did close, 4, 4
2017-12-28 17:49:37.005326+0800 IJKMediaDemo[32762:6542511] <KTVHCHTTPResponsePing: 0x1c0233e80>  :   dealloc
2017-12-28 17:49:37.006691+0800 IJKMediaDemo[32762:6542451] KTVHCHTTPServer         :   ping result, 1
2017-12-28 17:49:37.006852+0800 IJKMediaDemo[32762:6542451] <KTVHCHTTPURL: 0x1c0233f80>  :   alloc
2017-12-28 17:49:37.006965+0800 IJKMediaDemo[32762:6542451] KTVHCHTTPURL            :   Content, original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.007516+0800 IJKMediaDemo[32762:6542451] KTVHCHTTPURL            :   proxy url, http://localhost:60134/request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4
2017-12-28 17:49:37.007663+0800 IJKMediaDemo[32762:6542451] <KTVHCHTTPURL: 0x1c0233f80>  :   dealloc
2017-12-28 17:49:37.388366+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPConnection: 0x1c4322940>  :   alloc
2017-12-28 17:49:37.393552+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPConnection     :   receive request, GET, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4
2017-12-28 17:49:37.393805+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPURL: 0x1c0423460>  :   alloc
2017-12-28 17:49:37.394219+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPURL            :   Server URI, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4, original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, type, 1
2017-12-28 17:49:37.399357+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPRequest: 0x1c4674100>  :   alloc
2017-12-28 17:49:37.399688+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPRequest        :   original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.401971+0800 IJKMediaDemo[32762:6542620] <KTVHCDataRequest: 0x1c425e9f0>  :   alloc
2017-12-28 17:49:37.402498+0800 IJKMediaDemo[32762:6542620] KTVHCDataRequest        :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
range, 0, -1
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.402797+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPResponse: 0x1c425c9e0>  :   alloc
2017-12-28 17:49:37.403065+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   data request
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.405938+0800 IJKMediaDemo[32762:6542620] KTVHCDataStorage        :   concurrent reader, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.407995+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   prepare result, https://1251661065.vod2.myqcloud.com/4d064ca8vodtransgzp1251661065/768ad7ac9031868223447256377/v.f20.mp4, 0
2017-12-28 17:49:37.408318+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   set total content length, 37741155
2017-12-28 17:49:37.410579+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitItem       :   set length, 3088182
2017-12-28 17:49:37.411739+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitItem       :   set length, 7394022
2017-12-28 17:49:37.411961+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   prepare result, http://1251661065.vod2.myqcloud.com/4d064ca8vodtransgzp1251661065/768ad7ac9031868223447256377/v.f20.mp4, 2
2017-12-28 17:49:37.412238+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   set total content length, 1636711
2017-12-28 17:49:37.412760+0800 IJKMediaDemo[32762:6542451] invalidateRenderBuffer
2017-12-28 17:49:37.412958+0800 IJKMediaDemo[32762:6542614] IJKSDLGLView: setupDisplay not ready
2017-12-28 17:49:37.413033+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitItem       :   set length, 124336
2017-12-28 17:49:37.413967+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitItem       :   set length, 1504589
2017-12-28 17:49:37.415211+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitItem       :   set length, 7786
2017-12-28 17:49:37.416046+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   prepare result, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 3
2017-12-28 17:49:37.419948+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitQueue      :   init unit count, 3
2017-12-28 17:49:37.420333+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnitPool       :   update request header fields
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.420573+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   update request
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.421136+0800 IJKMediaDemo[32762:6542620] <KTVHCDataReader: 0x1c40da0f0>  :   alloc
2017-12-28 17:49:37.421292+0800 IJKMediaDemo[32762:6542620] KTVHCDataUnit           :   working retain, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 1
2017-12-28 17:49:37.424682+0800 IJKMediaDemo[32762:6542620] KTVHCDataStorage        :   create reader finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.425020+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   call prepare
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.425255+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourcer: 0x1c46759c0>  :   alloc
2017-12-28 17:49:37.425419+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourceQueue: 0x1c4011280>  :   alloc
2017-12-28 17:49:37.425619+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a7320>  :   alloc
2017-12-28 17:49:37.425753+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   did setup, 0, 124336, 0, 124336
2017-12-28 17:49:37.425877+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a49e0>  :   alloc
2017-12-28 17:49:37.428426+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   did setup, 124336, 1504589, 0, 1504589
2017-12-28 17:49:37.428622+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a7500>  :   alloc
2017-12-28 17:49:37.428764+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   did setup, 1628925, 7786, 0, 7786
2017-12-28 17:49:37.429013+0800 IJKMediaDemo[32762:6542620] <KTVHCDataNetworkSource: 0x1c416ed00>  :   alloc
2017-12-28 17:49:37.429308+0800 IJKMediaDemo[32762:6542620] KTVHCDataNetworkSource  :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=0-";
    "User-Agent" = ijkplayer;
}
(
    "video/",
    "audio/",
    "application/octet-stream"
)
offset, 1636711, length, -1
2017-12-28 17:49:37.429436+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c42a7320>
2017-12-28 17:49:37.434220+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c42a49e0>
2017-12-28 17:49:37.434399+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c42a7500>
2017-12-28 17:49:37.434982+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   put source, <KTVHCDataNetworkSource: 0x1c416ed00>
2017-12-28 17:49:37.435124+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   call prepare
2017-12-28 17:49:37.435228+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   call sort and fetch sources
2017-12-28 17:49:37.435324+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourceQueue    :   sort sources
2017-12-28 17:49:37.435455+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourceQueue    :   set all sources delegate, <KTVHCDataSourcer: 0x1c46759c0>
2017-12-28 17:49:37.435602+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   current source & network source, <KTVHCDataFileSource: 0x1c42a7320>, <KTVHCDataNetworkSource: 0x1c416ed00>
2017-12-28 17:49:37.439114+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   call prepare
2017-12-28 17:49:37.440668+0800 IJKMediaDemo[32762:6542614] KTVHCDataSourcer        :   prepare finished, <KTVHCDataSourcer: 0x1c46759c0>
2017-12-28 17:49:37.441340+0800 IJKMediaDemo[32762:6542614] <KTVHCDataResponse: 0x1c044c630>  :   alloc
2017-12-28 17:49:37.441960+0800 IJKMediaDemo[32762:6542614] KTVHCDataResponse       :   did setup
video/mp4
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Length" = 1636711;
    "Content-Range" = "bytes 0-1636710/1636711";
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
1636711, 1636711
2017-12-28 17:49:37.449399+0800 IJKMediaDemo[32762:6542614] KTVHCDataReader         :   callback for prepare begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.450221+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   callback for prepare end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.450369+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   prepare finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.450463+0800 IJKMediaDemo[32762:6542620] KTVHCDataNetworkSource  :   call prepare
2017-12-28 17:49:37.454009+0800 IJKMediaDemo[32762:6542620] <KTVHCDownload: 0x1c4676d40>  :   alloc
2017-12-28 17:49:37.455254+0800 IJKMediaDemo[32762:6542620] KTVHCDownload           :   add download begin
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range = "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.459086+0800 IJKMediaDemo[32762:6542620] KTVHCDownload           :   add download end
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range = "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.467958+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPRequest: 0x1c4674100>  :   dealloc
2017-12-28 17:49:37.468796+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPURL: 0x1c0423460>  :   dealloc
2017-12-28 17:49:37.469449+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   delay response, 0
2017-12-28 17:49:37.470006+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   conetnt length, 1636711
2017-12-28 17:49:37.471129+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   header fields
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.474032+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   set offset, 0, 0
2017-12-28 17:49:37.476844+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data : 124336, 124336, 124336
2017-12-28 17:49:37.477425+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data finished
2017-12-28 17:49:37.477998+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourceQueue    :   fetch next source
2017-12-28 17:49:37.478519+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   change to next source, <KTVHCDataFileSource: 0x1c42a49e0>
2017-12-28 17:49:37.478991+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   call prepare
2017-12-28 17:49:37.480078+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   read length : 124336
2017-12-28 17:49:37.480995+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   read data length, 124336, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.486385+0800 IJKMediaDemo[32762:6542661] KTVHCDownload           :   receive response
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "01a236f7-9c7c-435a-84c6-0fae13d85213 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.486829+0800 IJKMediaDemo[32762:6542661] KTVHCDataNetworkSource  :   response error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
content type error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "01a236f7-9c7c-435a-84c6-0fae13d85213 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.487285+0800 IJKMediaDemo[32762:6542661] KTVHCDownload           :   response disposition, 0
2017-12-28 17:49:37.493363+0800 IJKMediaDemo[32762:6542662] KTVHCDownload           :   complete, -999, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.493555+0800 IJKMediaDemo[32762:6542662] KTVHCDataNetworkSource  :   complete by error, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -999
2017-12-28 17:49:37.494043+0800 IJKMediaDemo[32762:6542662] KTVHCDataSourcer        :   network source failure, -192700
2017-12-28 17:49:37.494400+0800 IJKMediaDemo[32762:6542662] KTVHCDataSourcer        :   failure, -192700
2017-12-28 17:49:37.494558+0800 IJKMediaDemo[32762:6542662] KTVHCDataReader         :   call close, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.506604+0800 IJKMediaDemo[32762:6542662] KTVHCDataSourcer        :   call close
2017-12-28 17:49:37.506750+0800 IJKMediaDemo[32762:6542662] KTVHCDataSourceQueue    :   close all sources
2017-12-28 17:49:37.506865+0800 IJKMediaDemo[32762:6542662] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.506968+0800 IJKMediaDemo[32762:6542662] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.507261+0800 IJKMediaDemo[32762:6542662] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.507390+0800 IJKMediaDemo[32762:6542662] KTVHCDataNetworkSource  :   call close begin
2017-12-28 17:49:37.507582+0800 IJKMediaDemo[32762:6542662] KTVHCDataNetworkSource  :   call close end
2017-12-28 17:49:37.507696+0800 IJKMediaDemo[32762:6542662] KTVHCDataUnit           :   working release, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 0
2017-12-28 17:49:37.508385+0800 IJKMediaDemo[32762:6542662] KTVHCDataReader         :   record error : Error Domain=KTVHCErrorDomainResponseUnavailable Code=-192700 "(null)" UserInfo={originalURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseHeader=<CFBasicHash 0x1c0664480 [0x1b538e240]>{type = immutable dict, count = 10,
entries =>
	0 : Connection = <CFString 0x1c423e0a0 [0x1b538e240]>{contents = "keep-alive"}
	1 : Content-Type = text/html
	2 : Server = <CFString 0x1c423e1e0 [0x1b538e240]>{contents = "NWS_TCloud_S1"}
	3 : Expires = <CFString 0x1c4441ef0 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:59:37 GMT"}
	6 : Date = <CFString 0x1c4441c50 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:49:37 GMT"}
	7 : X-Daa-Tunnel = <CFString 0x1c423dd80 [0x1b538e240]>{contents = "hop_count=1"}
	9 : X-Cache-Lookup = <CFString 0x1c425fd40 [0x1b538e240]>{contents = "Hit From Inner Cluster"}
	10 : Content-Length = 0
	11 : Cache-Control = <CFString 0x1c423e080 [0x1b538e240]>{contents = "max-age=600"}
	12 : X-NWS-LOG-UUID = <CFString 0x1c42a56a0 [0x1b538e240]>{contents = "01a236f7-9c7c-435a-84c6-0fae13d85213 40980fcd4b83968fc821402a59dd611c"}
}
, requestHeader=<CFBasicHash 0x1c0664400 [0x1b538e240]>{type = mutable dict, count = 4,
entries =>
	0 : User-Agent = ijkplayer
	1 : Range = <CFString 0x1c423b2a0 [0x1b538e240]>{contents = "bytes=1636711-"}
	2 : Accept = */*
	4 : Connection = close
}
}
Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
ISO: File Type Major Brand: isom
Hit DNS cache hostname = localhost
2017-12-28 17:49:37.511942+0800 IJKMediaDemo[32762:6542662] KTVHCDataReader         :   callback for failure begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.512399+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   callback for failure end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.513010+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   failure, -192700, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.495515+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   offset, 124336
2017-12-28 17:49:37.513332+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   read data length, 0, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.514036+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   connection did close, 1636711, 124336
2017-12-28 17:49:37.514326+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPResponse: 0x1c425c9e0>  :   dealloc
2017-12-28 17:49:37.517033+0800 IJKMediaDemo[32762:6542620] <KTVHCDataReader: 0x1c40da0f0>  :   dealloc
2017-12-28 17:49:37.517318+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourcer: 0x1c46759c0>  :   dealloc
2017-12-28 17:49:37.517464+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourceQueue: 0x1c4011280>  :   dealloc
2017-12-28 17:49:37.517573+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a7320>  :   dealloc
2017-12-28 17:49:37.517674+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a7500>  :   dealloc
2017-12-28 17:49:37.517843+0800 IJKMediaDemo[32762:6542620] <KTVHCDataNetworkSource: 0x1c416ed00>  :   dealloc
2017-12-28 17:49:37.517987+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a49e0>  :   dealloc
Hit dns cache but connect fail hostname = localhost, ip = 
2017-12-28 17:49:37.518113+0800 IJKMediaDemo[32762:6542620] <KTVHCDataResponse: 0x1c044c630>  :   dealloc
2017-12-28 17:49:37.519124+0800 IJKMediaDemo[32762:6542620] <KTVHCDataRequest: 0x1c425e9f0>  :   dealloc
2017-12-28 17:49:37.519457+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPConnection: 0x1c4322940>  :   dealloc
ISO: File Type Major Brand: isom
Add dns cache hostname = localhost, ip = ::1
the user-agent option is deprecated, please use user_agent option
request: GET /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4 HTTP/1.1

User-Agent: ijkplayer

Accept: */*

Range: bytes=1628925-

Connection: close

Host: localhost:60134

Icy-MetaData: 1




2017-12-28 17:49:37.535119+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPConnection: 0x1c4322940>  :   alloc
2017-12-28 17:49:37.538984+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPConnection     :   receive request, GET, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4
2017-12-28 17:49:37.539159+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPURL: 0x1c4420860>  :   alloc
2017-12-28 17:49:37.539362+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPURL            :   Server URI, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4, original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, type, 1
2017-12-28 17:49:37.539487+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPRequest: 0x1c46763c0>  :   alloc
2017-12-28 17:49:37.539592+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPRequest        :   original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.542676+0800 IJKMediaDemo[32762:6542572] <KTVHCDataRequest: 0x1c44401b0>  :   alloc
2017-12-28 17:49:37.542908+0800 IJKMediaDemo[32762:6542572] KTVHCDataRequest        :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
range, 1628925, -1
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.543264+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPResponse: 0x1c4440210>  :   alloc
2017-12-28 17:49:37.543416+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   data request
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.543514+0800 IJKMediaDemo[32762:6542572] KTVHCDataStorage        :   concurrent reader, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.547123+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnitPool       :   update request header fields
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.547335+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnit           :   update request
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.547458+0800 IJKMediaDemo[32762:6542572] <KTVHCDataReader: 0x1c40da0f0>  :   alloc
2017-12-28 17:49:37.547560+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnit           :   working retain, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 1
2017-12-28 17:49:37.550472+0800 IJKMediaDemo[32762:6542572] KTVHCDataStorage        :   create reader finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.553896+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   call prepare
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.554115+0800 IJKMediaDemo[32762:6542572] <KTVHCDataSourcer: 0x1c4675700>  :   alloc
2017-12-28 17:49:37.554253+0800 IJKMediaDemo[32762:6542572] <KTVHCDataSourceQueue: 0x1c4010b00>  :   alloc
2017-12-28 17:49:37.554393+0800 IJKMediaDemo[32762:6542572] <KTVHCDataFileSource: 0x1c42a4560>  :   alloc
2017-12-28 17:49:37.554507+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   did setup, 1628925, 7786, 0, 7786
2017-12-28 17:49:37.554628+0800 IJKMediaDemo[32762:6542572] <KTVHCDataNetworkSource: 0x1c416fc00>  :   alloc
2017-12-28 17:49:37.557339+0800 IJKMediaDemo[32762:6542572] KTVHCDataNetworkSource  :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=1628925-";
    "User-Agent" = ijkplayer;
}
(
    "video/",
    "audio/",
    "application/octet-stream"
)
offset, 1636711, length, -1
2017-12-28 17:49:37.557478+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c42a4560>
2017-12-28 17:49:37.557849+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataNetworkSource: 0x1c416fc00>
2017-12-28 17:49:37.557963+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   call prepare
2017-12-28 17:49:37.558057+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   call sort and fetch sources
2017-12-28 17:49:37.558149+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourceQueue    :   sort sources
2017-12-28 17:49:37.560876+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourceQueue    :   set all sources delegate, <KTVHCDataSourcer: 0x1c4675700>
2017-12-28 17:49:37.561076+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   current source & network source, <KTVHCDataFileSource: 0x1c42a4560>, <KTVHCDataNetworkSource: 0x1c416fc00>
2017-12-28 17:49:37.561178+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   call prepare
2017-12-28 17:49:37.561657+0800 IJKMediaDemo[32762:6542572] KTVHCDataNetworkSource  :   call prepare
2017-12-28 17:49:37.561976+0800 IJKMediaDemo[32762:6542572] KTVHCDownload           :   add download begin
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range = "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.567206+0800 IJKMediaDemo[32762:6542572] KTVHCDownload           :   add download end
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range = "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.568840+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPRequest: 0x1c46763c0>  :   dealloc
2017-12-28 17:49:37.569489+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPURL: 0x1c4420860>  :   dealloc
2017-12-28 17:49:37.571059+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   delay response, 1
2017-12-28 17:49:37.571658+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   prepare finished, <KTVHCDataSourcer: 0x1c4675700>
2017-12-28 17:49:37.572309+0800 IJKMediaDemo[32762:6542620] <KTVHCDataResponse: 0x1c044a920>  :   alloc
2017-12-28 17:49:37.572826+0800 IJKMediaDemo[32762:6542620] KTVHCDataResponse       :   did setup
video/mp4
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Length" = 7786;
    "Content-Range" = "bytes 1628925-1636710/1636711";
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
7786, 1636711
2017-12-28 17:49:37.573593+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   callback for prepare begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.573994+0800 IJKMediaDemo[32762:6542614] KTVHCDataReader         :   callback for prepare end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.574465+0800 IJKMediaDemo[32762:6542614] KTVHCHTTPResponse       :   prepare finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.574808+0800 IJKMediaDemo[32762:6542614] KTVHCHTTPResponse       :   prepare finished call, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.575163+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   delay response, 0
2017-12-28 17:49:37.575510+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   conetnt length, 1636711
2017-12-28 17:49:37.576209+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   header fields
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.579535+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   set offset, 1628925, 0
2017-12-28 17:49:37.586039+0800 IJKMediaDemo[32762:6542662] KTVHCDownload           :   receive response
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "8b27b972-1511-4e22-a6f4-2614c36a14f9 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.586588+0800 IJKMediaDemo[32762:6542662] KTVHCDataNetworkSource  :   response error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
content type error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "8b27b972-1511-4e22-a6f4-2614c36a14f9 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.586945+0800 IJKMediaDemo[32762:6542662] KTVHCDownload           :   response disposition, 0
2017-12-28 17:49:37.587772+0800 IJKMediaDemo[32762:6542662] KTVHCDownload           :   complete, -999, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.587966+0800 IJKMediaDemo[32762:6542662] KTVHCDataNetworkSource  :   complete by error, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -999
2017-12-28 17:49:37.588699+0800 IJKMediaDemo[32762:6542614] KTVHCDataSourcer        :   network source failure, -192700
2017-12-28 17:49:37.588900+0800 IJKMediaDemo[32762:6542614] KTVHCDataSourcer        :   failure, -192700
2017-12-28 17:49:37.589111+0800 IJKMediaDemo[32762:6542614] KTVHCDataReader         :   call close, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.589136+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data : 7786, 7786, 7786
2017-12-28 17:49:37.593930+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data finished
2017-12-28 17:49:37.594113+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourceQueue    :   fetch next source
2017-12-28 17:49:37.594354+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   change to next source, <KTVHCDataNetworkSource: 0x1c416fc00>
2017-12-28 17:49:37.594462+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   read length : 7786
2017-12-28 17:49:37.594592+0800 IJKMediaDemo[32762:6542614] KTVHCDataSourcer        :   call close
2017-12-28 17:49:37.594691+0800 IJKMediaDemo[32762:6542614] KTVHCDataSourceQueue    :   close all sources
2017-12-28 17:49:37.594793+0800 IJKMediaDemo[32762:6542614] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.597500+0800 IJKMediaDemo[32762:6542614] KTVHCDataNetworkSource  :   call close begin
2017-12-28 17:49:37.597691+0800 IJKMediaDemo[32762:6542614] KTVHCDataNetworkSource  :   call close end
2017-12-28 17:49:37.597983+0800 IJKMediaDemo[32762:6542614] KTVHCDataUnit           :   working release, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 0
2017-12-28 17:49:37.598457+0800 IJKMediaDemo[32762:6542614] KTVHCDataReader         :   record error : Error Domain=KTVHCErrorDomainResponseUnavailable Code=-192700 "(null)" UserInfo={originalURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseHeader=<CFBasicHash 0x1c0665840 [0x1b538e240]>{type = immutable dict, count = 10,
entries =>
	0 : Connection = <CFString 0x1c423f620 [0x1b538e240]>{contents = "keep-alive"}
	1 : Content-Type = text/html
	2 : Server = <CFString 0x1c423d240 [0x1b538e240]>{contents = "NWS_TCloud_S1"}
	3 : Expires = <CFString 0x1c44411a0 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:59:37 GMT"}
	6 : Date = <CFString 0x1c44410b0 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:49:37 GMT"}
	7 : X-Daa-Tunnel = <CFString 0x1c4420360 [0x1b538e240]>{contents = "hop_count=1"}
	9 : X-Cache-Lookup = <CFString 0x1c4441290 [0x1b538e240]>{contents = "Hit From Inner Cluster"}
	10 : Content-Length = 0
	11 : Cache-Control = <CFString 0x1c4420340 [0x1b538e240]>{contents = "max-age=600"}
	12 : X-NWS-LOG-UUID = <CFString 0x1c42a5700 [0x1b538e240]>{contents = "8b27b972-1511-4e22-a6f4-2614c36a14f9 40980fcd4b83968fc821402a59dd611c"}
}
, requestHeader=<CFBasicHash 0x1c0665c40 [0x1b538e240]>{type = mutable dict, count = 4,
entries =>
	0 : User-Agent = ijkplayer
	1 : Range = <CFString 0x1c423fd20 [0x1b538e240]>{contents = "bytes=1636711-"}
	2 : Accept = */*
	4 : Connection = close
}
}
2017-12-28 17:49:37.594973+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPRes2017-12-28 17:49:37.605822+0800 IJKMediaDemo[32762:6542614] KTVHCDataReader         :   callback for failure begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.606145+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   callback for failure end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.606257+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   failure, -192700, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
ponse       :   read data length, 7786, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.607013+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   connection did close, 7786, 7786
2017-12-28 17:49:37.607232+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPResponse: 0x1c4440210>  :   dealloc
2017-12-28 17:49:37.607341+0800 IJKMediaDemo[32762:6542620] <KTVHCDataReader: 0x1c40da0f0>  :   dealloc
2017-12-28 17:49:37.607803+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourcer: 0x1c4675700>  :   dealloc
2017-12-28 17:49:37.608710+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourceQueue: 0x1c4010b00>  :   dealloc
2017-12-28 17:49:37.608914+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c42a4560>  :   dealloc
2017-12-28 17:49:37.609276+0800 IJKMediaDemo[32762:6542620] <KTVHCDataNetworkSource: 0x1c416fc00>  :   dealloc
2017-12-28 17:49:37.609426+0800 IJKMediaDemo[32762:6542620] <KTVHCDataResponse: 0x1c044a920>  :   dealloc
2017-12-28 17:49:37.609663+0800 IJKMediaDemo[32762:6542620] <KTVHCDataRequest: 0x1c44401b0>  :   dealloc
2017-12-28 17:49:37.610068+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPConnection: 0x1c4322940>  :   dealloc
Unknown dref type 0x206c7275 size 12
Processing st: 0, edit list 0 - media time: 0, duration: 8907000
Unknown dref type 0x206c7275 size 12
Processing st: 1, edit list 0 - media time: 4458, duration: 853728
drop a frame at curr_cts: 0 @ 0
drop a frame at curr_cts: 2229 @ 1
Reconfiguring buffers to size 608536
Option safe not found.
Before avformat_find_stream_info() pos: 1636711 bytes read:40554 seeks:1 nb_streams:2
2017-12-28 17:49:37.614000+0800 IJKMediaDemo[32762:6542451] FFP_MSG_OPEN_INPUT:
nal_unit_type: 7, nal_ref_idc: 1
nal_unit_type: 8, nal_ref_idc: 1
Hit DNS cache hostname = localhost
Hit dns cache but connect fail hostname = localhost, ip = 
stream 1, offset 0x30: partial file
Could not find codec parameters for stream 0 (Video: h264, 1 reference frame (avc1 / 0x31637661), none(left), 364x480, 1/2000000, 1398 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' and 'probesize' options
After avformat_find_stream_info() pos: 1636711 bytes read:40554 seeks:1 frames:0
max_frame_duration: 10.000
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'http://localhost:60134/request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4':
  Metadata:
    minor_version   : 512
    major_brand     : isom
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2017-12-03T13:49:49.000000Z
    encoder         : Lavf57.56.100
  Duration: 00:00:08.94, bitrate: 1464 kb/s
    Stream #0:0(und), 0, 1/1000000: Video: h264, 1 reference frame (avc1 / 0x31637661), none(left), 364x480, 0/1, 1398 kb/s, 24.93 fps, 30 tbr, 1000k tbn, 2000k tbc (default)
    Metadata:
      creation_time   : 2017-12-03T13:49:49.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und), 0, 1/96000: Audio: aac (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 64 kb/s (default)
    Metadata:
      creation_time   : 2017-12-03T13:49:49.000000Z
      handler_name    : SoundHandler
aout_open_audio()
2017-12-28 17:49:37.623808+0800 IJKMediaDemo[32762:6542451] FFP_MSG_FIND_STREAM_INFO:
AudioCodec: avcodec, aac
aout_pause_audio(0)
detected 2 logical cores
nal_unit_type: 7, nal_ref_idc: 1
nal_unit_type: 8, nal_ref_idc: 1
VideoCodec: avcodec, h264
fps: 24.925398 (normal)
fps: 30.000300 (too high)
ffp_toggle_buffering_l: start
aout_pause_audio(1)
2017-12-28 17:49:37.734866+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_DECODER_OPEN: false
2017-12-28 17:49:37.735247+0800 IJKMediaDemo[32762:6542451] FFP_MSG_COMPONENT_OPEN:
2017-12-28 17:49:37.735566+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_SIZE_CHANGED: 364, 480
2017-12-28 17:49:37.735872+0800 IJKMediaDemo[32762:6542451] FFP_MSG_SAR_CHANGED: 0, 1
ijkmp_get_msg: FFP_MSG_PREPARED
2017-12-28 17:49:37.736074+0800 IJKMediaDemo[32762:6542451] FFP_MSG_PREPARED:
ijkmp_get_meta_l
ijkmp_get_meta_l()=void
2017-12-28 17:49:37.736275+0800 IJKMediaDemo[32762:6542451] fps in meta 24.925398
ijkmp_set_playback_rate(1.000000)
Playback rate: 1.000000
ijkmp_set_playback_rate()=void
ijkmp_set_playback_volume(1.000000)
ijkmp_set_playback_volume()=void
2017-12-28 17:49:37.736456+0800 IJKMediaDemo[32762:6542451] mediaIsPreparedToPlayDidChange
2017-12-28 17:49:37.736531+0800 IJKMediaDemo[32762:6542451] loadStateDidChange: IJKMPMovieLoadStatePlaythroughOK: 3
Add dns cache hostname = localhost, ip = ::1
the user-agent option is deprecated, please use user_agent option
request: GET /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4 HTTP/1.1

User-Agent: ijkplayer

Accept: */*

Range: bytes=48-

Connection: close

Host: localhost:60134

Icy-MetaData: 1




2017-12-28 17:49:37.739206+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPConnection: 0x1c0322300>  :   alloc
2017-12-28 17:49:37.740861+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPConnection     :   receive request, GET, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4
2017-12-28 17:49:37.741016+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPURL: 0x1c0426be0>  :   alloc
2017-12-28 17:49:37.741238+0802017-12-28 17:49:37.742160+0800 IJKMediaDemo[32762:6542451] IJKMPMoviePlayBackStateDidChange 1: playing
0 IJKMediaDemo[32762:6542572] KTVHCHTTPURL            :   Server URI, /request-11097245292635654.mp4?requestType=content&originalURL=http%3A%2F%2Fshortvideo.zhenai.com%2Fvideo%2F22877%2F91500327%2F11097245292635654.mp4, original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, type, 1
2017-12-28 17:49:37.744685+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPRequest: 0x1c0665680>  :   alloc
2017-12-28 17:49:37.744807+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPRequest        :   original url, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.744971+0800 IJKMediaDemo[32762:6542572] <KTVHCDataRequest: 0x1c044a920>  :   alloc
2017-12-28 17:49:37.745209+0800 IJKMediaDemo[32762:6542572] KTVHCDataRequest        :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
range, 48, -1
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.750123+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPResponse: 0x1c044bc40>  :   alloc
2017-12-28 17:49:37.750363+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   data request
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.750535+0800 IJKMediaDemo[32762:6542572] KTVHCDataStorage        :   concurrent reader, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.750743+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnitPool       :   update request header fields
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.750930+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnit           :   update request
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.754570+0800 IJKMediaDemo[32762:6542572] <KTVHCDataReader: 0x1c00dcee0>  :   alloc
2017-12-28 17:49:37.754805+0800 IJKMediaDemo[32762:6542572] KTVHCDataUnit           :   working retain, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 1
2017-12-28 17:49:37.754963+0800 IJKMediaDemo[32762:6542572] KTVHCDataStorage        :   create reader finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.755146+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   call prepare
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.755531+0800 IJKMediaDemo[32762:6542572] <KTVHCDataSourcer: 0x1c06649c0>  :   alloc
2017-12-28 17:49:37.758233+0800 IJKMediaDemo[32762:6542572] <KTVHCDataSourceQueue: 0x1c0012ae0>  :   alloc
2017-12-28 17:49:37.758393+0800 IJKMediaDemo[32762:6542572] <KTVHCDataFileSource: 0x1c02a3d80>  :   alloc
2017-12-28 17:49:37.758504+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   did setup, 0, 124336, 48, 124288
2017-12-28 17:49:37.758611+0800 IJKMediaDemo[32762:6542572] <KTVHCDataFileSource: 0x1c02a4fe0>  :   alloc
2017-12-28 17:49:37.758712+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   did setup, 124336, 1504589, 0, 1504589
2017-12-28 17:49:37.758819+0800 IJKMediaDemo[32762:6542572] <KTVHCDataFileSource: 0x1c02a53a0>  :   alloc
2017-12-28 17:49:37.758920+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   did setup, 1628925, 7786, 0, 7786
2017-12-28 17:49:37.759039+0800 IJKMediaDemo[32762:6542572] <KTVHCDataNetworkSource: 0x1c016cb40>  :   alloc
2017-12-28 17:49:37.759228+0800 IJKMediaDemo[32762:6542572] KTVHCDataNetworkSource  :   did setup
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Host = "localhost:60134";
    "Icy-MetaData" = 1;
    Range = "bytes=48-";
    "User-Agent" = ijkplayer;
}
(
    "video/",
    "audio/",
    "application/octet-stream"
)
offset, 1636711, length, -1
2017-12-28 17:49:37.762028+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c02a3d80>
2017-12-28 17:49:37.762160+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c02a4fe0>
2017-12-28 17:49:37.762273+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataFileSource: 0x1c02a53a0>
2017-12-28 17:49:37.762382+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   put source, <KTVHCDataNetworkSource: 0x1c016cb40>
2017-12-28 17:49:37.762486+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   call prepare
2017-12-28 17:49:37.766826+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   call sort and fetch sources
2017-12-28 17:49:37.766946+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourceQueue    :   sort sources
2017-12-28 17:49:37.767121+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourceQueue    :   set all sources delegate, <KTVHCDataSourcer: 0x1c06649c0>
2017-12-28 17:49:37.767266+0800 IJKMediaDemo[32762:6542572] KTVHCDataSourcer        :   current source & network source, <KTVHCDataFileSource: 0x1c02a3d80>, <KTVHCDataNetworkSource: 0x1c016cb40>
2017-12-28 17:49:37.767367+0800 IJKMediaDemo[32762:6542572] KTVHCDataFileSource     :   call prepare
2017-12-28 17:49:37.768067+0800 IJKMediaDemo[32762:6542572] KTVHCDataNetworkSource  :   call prepare
2017-12-28 17:49:37.769322+0800 IJKMediaDemo[32762:6542572] KTVHCDownload           :   add download begin
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range 2017-12-28 17:49:37.769574+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   prepare finished, <KTVHCDataSourcer: 0x1c06649c0>
2017-12-28 17:49:37.769767+0800 IJKMediaDemo[32762:6542620] <KTVHCDataResponse: 0x1c044d500>  :   alloc
2017-12-28 17:49:37.770052+0800 IJKMediaDemo[32762:6542620] KTVHCDataResponse       :   did setup
video/mp4
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Length" = 1636663;
    "Content-Range" = "bytes 48-1636710/1636711";
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
1636663, 1636711
= "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.771374+0800 IJKMediaDemo[32762:6542572] KTVHCDownload           :   add download end
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    Accept = "*/*";
    Connection = close;
    Range = "bytes=1636711-";
    "User-Agent" = ijkplayer;
}
2017-12-28 17:49:37.771737+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPRequest: 0x1c0665680>  :   dealloc
2017-12-28 17:49:37.772379+0800 IJKMediaDemo[32762:6542572] <KTVHCHTTPURL: 0x1c0426be0>  :   dealloc
2017-12-28 17:49:37.774744+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   delay response, 1
2017-12-28 17:49:37.779899+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   callback for prepare begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.780600+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   callback for prepare end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.780804+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   prepare finished, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.780984+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   prepare finished call, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.783847+0800 IJKMediaDemo[32762:6542451] FFP_MSG_BUFFERING_START:
2017-12-28 17:49:37.784034+0800 IJKMediaDemo[32762:6542451] loadStateDidChange: IJKMPMovieLoadStateStalled: 4
2017-12-28 17:49:37.784403+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   delay response, 0
2017-12-28 17:49:37.784692+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   conetnt length, 1636711
2017-12-28 17:49:37.785833+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   header fields
{
    "Accept-Ranges" = bytes;
    "Cache-Control" = "max-age=600";
    Connection = close;
    "Content-Type" = "video/mp4";
    Date = "Thu, 28 Dec 2017 09:46:27 GMT";
    Expires = "Thu, 28 Dec 2017 09:56:27 GMT";
    "Last-Modified" = "Sun, 03 Dec 2017 21:49:53 GMT";
    Server = "NWS_TCloud_SOC2";
    "X-Cache-Lookup" = "Hit From Disktank3, Hit From Inner Cluster, Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=3";
    "X-NWS-LOG-UUID" = "5203bb01-e7ef-4903-ad8d-1008ffcef1a9 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.786174+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   set offset, 48, 0
2017-12-28 17:49:37.786628+0800 IJKMediaDemo[32762:6542511] KTVHCDownload           :   receive response
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "2b858b3a-21da-4a3d-b08c-77e636aafb2a 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.787211+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data : 124288, 124288, 124288
2017-12-28 17:49:37.787415+0800 IJKMediaDemo[32762:6542511] KTVHCDataNetworkSource  :   response error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
content type error
http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
{
    "Cache-Control" = "max-age=600";
    Connection = "keep-alive";
    "Content-Length" = 0;
    "Content-Type" = "text/html";
    Date = "Thu, 28 Dec 2017 09:49:37 GMT";
    Expires = "Thu, 28 Dec 2017 09:59:37 GMT";
    Server = "NWS_TCloud_S1";
    "X-Cache-Lookup" = "Hit From Inner Cluster";
    "X-Daa-Tunnel" = "hop_count=1";
    "X-NWS-LOG-UUID" = "2b858b3a-21da-4a3d-b08c-77e636aafb2a 40980fcd4b83968fc821402a59dd611c";
}
2017-12-28 17:49:37.788054+0800 IJKMediaDemo[32762:6542511] KTVHCDownload           :   response disposition, 0
2017-12-28 17:49:37.790860+0800 IJKMediaDemo[32762:6542614] KTVHCDownload           :   complete, -999, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.791013+0800 IJKMediaDemo[32762:6542614] KTVHCDataNetworkSource  :   complete by error, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -999
2017-12-28 17:49:37.791772+0800 IJKMediaDemo[32762:6542663] KTVHCDataSourcer        :   network source failure, -192700
2017-12-28 17:49:37.791917+0800 IJKMediaDemo[32762:6542663] KTVHCDataSourcer        :   failure, -192700
2017-12-28 17:49:37.792049+0800 IJKMediaDemo[32762:6542663] KTVHCDataReader         :   call close, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.787443+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   read data finished
2017-12-28 17:49:37.794781+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourceQueue    :   fetch next source
2017-12-28 17:49:37.794954+0800 IJKMediaDemo[32762:6542620] KTVHCDataSourcer        :   change to next source, <KTVHCDataFileSource: 0x1c02a4fe0>
2017-12-28 17:49:37.795056+0800 IJKMediaDemo[32762:6542620] KTVHCDataFileSource     :   call prepare
2017-12-28 17:49:37.795489+0800 IJKMediaDemo[32762:6542620] KTVHCDataReader         :   read length : 124288
2017-12-28 17:49:37.795834+0800 IJKMediaDemo[32762:6542663] KTVHCDataSourcer        :   call close
2017-12-28 17:49:37.795945+0800 IJKMediaDemo[32762:6542663] KTVHCDataSourceQueue    :   close all sources
2017-12-28 17:49:37.796044+0800 IJKMediaDemo[32762:6542663] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.796138+0800 IJKMediaDemo[32762:6542663] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.796445+0800 IJKMediaDemo[32762:6542663] KTVHCDataFileSource     :   call close
2017-12-28 17:49:37.800572+0800 IJKMediaDemo[32762:6542663] KTVHCDataNetworkSource  :   call close begin
2017-12-28 17:49:37.800764+0800 IJKMediaDemo[32762:6542663] KTVHCDataNetworkSource  :   call close end
2017-12-28 17:49:37.800876+0800 IJKMediaDemo[32762:6542663] KTVHCDataUnit           :   working release, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, 0
2017-12-28 17:49:37.801379+0800 IJKMediaDemo[32762:6542663] KTVHCDataReader         :   record error : Error Domain=KTVHCErrorDomainResponseUnavailable Code=-192700 "(null)" UserInfo={originalURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseURL=http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, responseHeader=<CFBasicHash 0x1c0665380 [0x1b538e240]>{type = immutable dict, count = 10,
entries =>
	0 : Connection = <CFString 0x1c0427f80 [0x1b538e240]>{contents = "keep-alive"}
	1 : Content-Type = text/html
	2 : Server = <CFString 0x1c02315c0 [0x1b538e240]>{contents = "NWS_TCloud_S1"}
	3 : Expires = <CFString 0x1c044d710 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:59:37 GMT"}
	6 : Date = <CFString 0x1c044d620 [0x1b538e240]>{contents = "Thu, 28 Dec 2017 09:49:37 GMT"}
	7 : X-Daa-Tunnel = <CFString 0x1c4420300 [0x1b538e240]>{contents = "hop_count=1"}
	9 : X-Cache-Lookup = <CFString 0x1c4441ec0 [0x1b538e240]>{contents = "Hit From Inner Cluster"}
	10 : Content-Length = 0
	11 : Cache-Control = <CFString 0x1c0427920 [0x1b538e240]>{contents = "max-age=600"}
	12 : X-NWS-LOG-UUID = <CFString 0x1c42a73e0 [0x1b538e240]>{contents = "2b858b3a-21da-4a3d-b08c-77e636aafb2a 40980fcd4b83968fc821402a59dd611c"}
}
, requestHeader=<CFBasicHash 0x1c0664c40 [0x1b538e240]>{type = mutable dict, count = 4,
entries =>
	0 : User-Agent = ijkplayer
	1 : Range = <CFString 0x1c0427760 [0x1b538e240]>{contents = "bytes=1636711-"}
	2 : Accept = */*
	4 : Connection = close
}
}
2017-12-28 17:49:37.796577+08002017-12-28 17:49:37.810567+0800 IJKMediaDemo[32762:6542663] KTVHCDataReader         :   callback for failure begin, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.810921+0800 IJKMediaDemo[32762:6542572] KTVHCDataReader         :   callback for failure end, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4, -192700
2017-12-28 17:49:37.811049+0800 IJKMediaDemo[32762:6542572] KTVHCHTTPResponse       :   failure, -192700, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   read data length, 124288, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.812044+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   offset, 124288
2017-12-28 17:49:37.812168+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   read data length, 0, http://shortvideo.zhenai.com/video/22877/91500327/11097245292635654.mp4
2017-12-28 17:49:37.812314+0800 IJKMediaDemo[32762:6542620] KTVHCHTTPResponse       :   connection did close, 1636663, 124288
2017-12-28 17:49:37.812928+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPResponse: 0x1c044bc40>  :   dealloc
2017-12-28 17:49:37.813051+0800 IJKMediaDemo[32762:6542620] <KTVHCDataReader: 0x1c00dcee0>  :   dealloc
2017-12-28 17:49:37.813161+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourcer: 0x1c06649c0>  :   dealloc
2017-12-28 17:49:37.813271+0800 IJKMediaDemo[32762:6542620] <KTVHCDataSourceQueue: 0x1c0012ae0>  :   dealloc
2017-12-28 17:49:37.813377+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c02a3d80>  :   dealloc
2017-12-28 17:49:37.813488+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c02a53a0>  :   dealloc
2017-12-28 17:49:37.813596+0800 IJKMediaDemo[32762:6542620] <KTVHCDataNetworkSource: 0x1c016cb40>  :   dealloc
2017-12-28 17:49:37.813734+0800 IJKMediaDemo[32762:6542620] <KTVHCDataFileSource: 0x1c02a4fe0>  :   dealloc
2017-12-28 17:49:37.813851+0800 IJKMediaDemo[32762:6542620] <KTVHCDataResponse: 0x1c044d500>  :   dealloc
2017-12-28 17:49:37.817216+0800 IJKMediaDemo[32762:6542620] <KTVHCDataRequest: 0x1c044a920>  :   dealloc
2017-12-28 17:49:37.817429+0800 IJKMediaDemo[32762:6542620] <KTVHCHTTPConnection: 0x1c0322300>  :   dealloc
demuxer injecting skip 4458 / discard 0
skip 4458 / discard 0 samples due to side data
skip whole frame, skip left: 1386
skip whole frame, skip left: 362
skip 362/1024 samples
nal_unit_type: 6, nal_ref_idc: 0
nal_unit_type: 5, nal_ref_idc: 1
user data:"�\335\314\314\335�"
Reinit context to 368x480, pix_fmt: yuv420p
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
SDL_VoutFFmpeg_CreateOverlay(w=364, h=480, fmt=I420(0x30323449, dp=0x1c047ce80)
Video: first frame decoded
2017-12-28 17:49:37.829323+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_SIZE_CHANGED: 364, 480
2017-12-28 17:49:37.829486+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_DECODED_START:
nal_unit_type: 1, nal_ref_idc: 1
SDL_VoutFFmpeg_CreateOverlay(w=364, h=480, fmt=I420(0x30323449, dp=0x1c047ce80)
2017-12-28 17:49:37.829920+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_SIZE_CHANGED: 364, 480
SDL_VoutFFmpeg_CreateOverlay(w=364, h=480, fmt=I420(0x30323449, dp=0x1c047ce80)
nal_unit_type: 1, nal_ref_idc: 1
2017-12-28 17:49:37.834402+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_SIZE_CHANGED: 364, 480
nal_unit_type: 5, nal_ref_idc: 1
Stream ends prematurely at 124336, should be 1636711
Will reconnect at 124336 error=Input/output error.
Hit DNS cache hostname = localhost
Hit dns cache but connect fail hostname = localhost, ip = 
Failed to reconnect at 124336.
stream 0, offset 0x1e64c: partial file
ffp_toggle_buffering_l: end
aout_pause_audio(0)
aout_close_audio()
aout_set_volume()
av_read_frame error: unknown
[GLES2] Version = OpenGL ES 2.0 Apple A8 GPU - 111.40
[GLES2] Vendor = Apple Inc.
[GLES2] Renderer = Apple A8 GPU
[GLES2] Extensions = GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_depth24 GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_vertex_array_object GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_draw_instanced GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_occlusion_query_boolean GL_EXT_pvrtc_sRGB GL_EXT_read_format_bgra GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_shadow_samplers GL_EXT_sRGB GL_EXT_texture_filter_anisotropic GL_EXT_texture_rg GL_EXT_texture_storage GL_APPLE_clip_distance GL_APPLE_color_buffer_packed_float GL_APPLE_copy_texture_levels GL_APPLE_framebuffer_multisample GL_APPLE_rgb_422 GL_APPLE_sync GL_APPLE_texture_format_BGRA8888 GL_APPLE_texture_max_level GL_APPLE_texture_packed_float GL_IMG_read_format GL_IMG_texture_compression_pvrtc 
create render yuv420p
use render yuv420p
2017-12-28 17:49:37.869860+0800 IJKMediaDemo[32762:6542451] FFP_MSG_BUFFERING_END:
2017-12-28 17:49:38.059670+0800 IJKMediaDemo[32762:6542451] loadStateDidChange: IJKMPMovieLoadStatePlaythroughOK: 3
Using fltp internally between filters
2017-12-28 17:49:38.059782+0800 IJKMediaDemo[32762:6542451] IJKMPMoviePlayBackStateDidChange 1: playing
avcodec/Audio: first frame decoded
2017-12-28 17:49:38.060457+0800 IJKMediaDemo[32762:6542654] IJKSDLGLView: renderbufferStorage fromDrawable
2017-12-28 17:49:38.075165+0800 IJKMediaDemo[32762:6542451] FFP_MSG_AUDIO_DECODED_START:
2017-12-28 17:49:38.085464+0800 IJKMediaDemo[32762:6542451] FFP_MSG_AUDIO_RENDERING_START:
IJK_GLES2_Renderer_TexCoords_cropRight
stream 1, offset 0x1f5e7: partial file
av_read_frame error: unknown
2017-12-28 17:49:38.092445+0800 IJKMediaDemo[32762:6542451] FFP_MSG_VIDEO_RENDERING_START:
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
stream 1, offset 0x1f6aa: partial file
av_read_frame error: unknown
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 5, nal_ref_idc: 1
stream 1, offset 0x1f75f: partial file
av_read_frame error: unknown
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
stream 0, offset 0x1f81c: partial file
av_read_frame error: unknown
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 5, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
stream 0, offset 0x2445b: partial file
av_read_frame error: unknown
nal_unit_type: 1, nal_ref_idc: 1
nal_unit_type: 1, nal_ref_idc: 1
stream 1, offset 0x251d2: partial file
av_read_frame error: unknown
stream 1, offset 0x25299: partial file
av_read_frame error: unknown
stream 1, offset 0x25348: partial file
av_read_frame error: unknown
stream 1, offset 0x253ff: partial file
av_read_frame error: unknown
stream 1, offset 0x254b5: partial file
av_read_frame error: unknown
stream 1, offset 0x25567: partial file
av_read_frame error: unknown
stream 0, offset 0x2561f: partial file
av_read_frame error: unknown
stream 1, offset 0x258ce: partial file
av_read_frame error: unknown
Input buffer exhausted before END element found
stream 1, offset 0x25987: partial file
av_read_frame error: unknown
stream 1, offset 0x25a42: partial file
av_read_frame error: unknown
aout_pause_audio(1)
ffp_toggle_buffering: error: -5
stream 1, offset 0x25af8: partial file
av_read_frame error: unknown
2017-12-28 17:49:39.881274+0800 IJKMediaDemo[32762:6542451] FFP_MSG_ERROR: 0
2017-12-28 17:49:39.882096+0800 IJKMediaDemo[32762:6542451] IJKMPMoviePlayBackStateDidChange 1: playing
2017-12-28 17:49:39.882321+0800 IJKMediaDemo[32762:6542451] playbackStateDidChange: IJKMPMovieFinishReasonPlaybackError: 1
ffp_toggle_buffering: eof
2017-12-28 17:50:07.011076+0800 IJKMediaDemo[32762:6542661] <KTVHCHTTPConnection: 0x1c4322800>  :   dealloc```

pod生成动态库后报C99错误

podfile文件使用use_frameworks! pod下来后报错framework not found CocoaHTTPServer、/CocoaHTTPServer.build/Objects-normal/arm64/DAVConnection.o以及出现的C99错误,请问知道什么原因吗?

某些URL无法被播放

2017-12-16 22:38:58.698574+0800 HppleDemo[1112:122933] [] <<<< AVOutputDeviceDiscoverySession (FigRouteDiscoverer) >>>> -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl outputDeviceDiscoverySessionDidChangeDiscoveryMode:]: Setting device discovery mode to DiscoveryMode_None (client: HppleDemo)
2017-12-16 22:38:58.767711+0800 HppleDemo[1112:122933] CredStore - performQuery - Error copying matching creds. Error=-25300, query={
class = inet;
"m_Limit" = "m_LimitAll";
"r_Attributes" = 1;
sync = syna;
}

mergeFiles 功能没有实现

- (BOOL)mergeFiles
{
    if (self.working || self.unitItems.count <= 1) {
        return NO;
    }
    
    return NO;
}

无论如何都返回NO,所以是故意没有实现的吗?

另外这个功能是什么意思?用分片合成一个完成的文件?

如何设置缓冲区大小

如何设置缓冲区大小,比如指定缓冲区大小为50k,当下载的数据大于50k时暂停下载,当下载的数据等于45k继续下载

请问每次分片的依据是什么?

播放较小的mp3时发现会分为2片(02 / 2剩下的), 播放较大的mp4资源时 发现有可能会分成3片(02 / 2值A / 值A~剩下的).
想问下这个"值A"是怎么来的?

当url包含中文时,url转换异常

已经编码过的URL,当包含中文时, 会出现生成的url包含未编码的中文

导致编码会出现编码后再编码的情况

image

如果先解码再编码会出现空(null)

image

HLS的无法播放http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8

http://playertest.longtailvideo.com/adaptive/bipbop/gear4/prog_index.m3u8

2017-12-18 16:44:55.842529+0800 KTVHTTPCache[14376:5952090] [framework] CUICatalog: Invalid asset name supplied: '(null)'
2017-12-18 16:44:55.842555+0800 KTVHTTPCache[14376:5952090] [framework] CUICatalog: Invalid asset name supplied: '(null)'
2017-12-18 16:44:55.972158+0800 KTVHTTPCache[14376:5952090] [] <<<< AVOutputDeviceDiscoverySession (FigRouteDiscoverer) >>>> -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl outputDeviceDiscoverySessionDidChangeDiscoveryMode:]: Setting device discovery mode to DiscoveryMode_Presence (client: KTVHTTPCache)
2017-12-18 16:44:56.125524+0800 KTVHTTPCache[14376:5952360] Task <7B988B60-DD10-4722-AD4F-39805F91520B>.<2> finished with error - code: -999

airplay

avplayer接入KTVHTTPCache之后 还能支持airplay吗?

不支持 Swift?

显示错误

Could not build Objective-C module 'KTVHTTPCache'

关于资源唯一标示问题

现在资源存储辨别均是通过url来认定,但其实在日常的请求需求中,许多请求是需要鉴权的,对于这种需求是否对资源可以提供一种其他的判定方式 ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.