Git Product home page Git Product logo

ktvhttpcache's Issues

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```

什么意思?

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

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

不支持 Swift?

显示错误

Could not build Objective-C module 'KTVHTTPCache'

关于资源唯一标示问题

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

某些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;
}

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

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

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

和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取的数据不对

mergeFiles 功能没有实现

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

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

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

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!

pod生成动态库后报C99错误

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

如何设置缓冲区大小

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

不能播放

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

关于 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

airplay

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

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

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

请教一个问题

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

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

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

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

image

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

image

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

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

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

类似的警告
/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

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
}
}

autoreleasepool 疑问

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

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

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.