changbadevs / ktvhttpcache Goto Github PK
View Code? Open in Web Editor NEWA powerful media cache framework.
License: MIT License
A powerful media cache framework.
License: MIT License
如遇无法播放的 URL,可贴在此处。
缓存读取会有异常!读取的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```
KTVHCHTTPServer在Carthage编译的framework里面.h没暴露出来,还有一些相关的.h也没有暴露出来
"例如近期发现在最新的 iOS 11 系统中,原本工作正常的代码,因为一个细小的行为变化,引发了一个 Bug",请问下是什么bug,如何解决的?
bogon:~ wang$ pod search KTVHTTPCache
[!] Unable to find a pod with name, author, summary, or description matching KTVHTTPCache
找不到这个库? 还有 demo 运行不了啊?
显示错误
Could not build Objective-C module 'KTVHTTPCache'
CocoaHTTPServer 已经很久没动过了。
感觉使用GCDWebServer会比较好一点。
https://github.com/swisspol/GCDWebServer
现在资源存储辨别均是通过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;
}
(BOOL)mergeFiles
{
if (self.working || self.unitItems.count <= 1) {
return NO;
}return NO;
}
这个功能没实现呢是吧?
如题
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 方法里线程等待,导致应用暂时卡死,麻烦楼主有空看看
最后,真心感谢楼主能把这么好的开源库开源出来,十分感谢
rt
能否提供一份配合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取的数据不对
- (BOOL)mergeFiles
{
if (self.working || self.unitItems.count <= 1) {
return NO;
}
return NO;
}
无论如何都返回NO,所以是故意没有实现的吗?
另外这个功能是什么意思?用分片合成一个完成的文件?
@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!
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 中提到应用场景不限于音视频在线播放,也可以用于文件下载、图片加载、普通网络请求等场景。我看 Demo 中只有提供了视频的缓存,但是没有看到关于音频(比如使用 AVAudioPlayer)、文件下载、图片加载、普通网络的缓存例子,能否提供一个例子,如何做其它的缓存,期盼解答!!!
期待添加一个日志等级,想了解下 asyncsocket 这边是怎么判定网络连接状态的?
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
avplayer接入KTVHTTPCache之后 还能支持airplay吗?
就是缓存的 progress。另外请问下如果播放器初始化后直接 seek 到某处,开始处一直到 seek 处会被缓存吗?
播放较小的mp3时发现会分为2片(02 / 2剩下的), 播放较大的mp4资源时 发现有可能会分成3片(02 / 2值A / 值A~剩下的).
想问下这个"值A"是怎么来的?
播放的url能支持设置cookie吗?
项目中想监控一些关于视频下载相关的信息,请问在哪获取下载速率
I mean via httpServer
类似的警告
/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
您好:
是这样的,我们的项目原先使用的是 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
}
}
dispatch_async(websocketQueue, ^{ @autoreleasepool {
[asyncSocket disconnect];
}});
为什么这里要做这种 autoreleasepool 操作?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.