KTVHTTPCache icon indicating copy to clipboard operation
KTVHTTPCache copied to clipboard

m3u8文件到m3u8文件到ts文件缓存有问题

Open ClayGuitar opened this issue 11 months ago • 2 comments

使用情况 视频m3u8格式下,访问第一个m3u8链接得到新的m3u8文件然后再播放对应ts文件 如服务器返回https://www.xxxxx.com/xxxxxx.m3u8后访问得到新的文件如下

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3000000,CODECS="mp4a.40.2,avc1.640032",RESOLUTION=1080x1920
video/144c80b2c5934acc9dd5c273b0849505-65b2e042f69eef1a803d747d6e12f34b-video-hd.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=900000,CODECS="mp4a.40.2,avc1.64001f",RESOLUTION=540x960
video/144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld.m3u8

然后再根据对应网速自动选择播放低清高清视频得到如下ts文件

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00001.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00002.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00003.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00004.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00005.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00006.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00007.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00008.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00009.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00010.ts
#EXTINF:3.000000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00011.ts
#EXTINF:2.360000,
144c80b2c5934acc9dd5c273b0849505-110a0540099f199acda85d6b5a5e6f1d-video-ld-00012.ts
#EXT-X-ENDLIST

如配合AVPlayer使用 调用proxyURLWithOriginalURL 该方法,访问服务器最开始返回m3u8缓存没有问题,但第二个m3u8以及后续ts文件缓存的url 在执行KTVHCHTTPConnection类中67行的代码URLString = URLString.stringByDeletingLastPathComponent;https://前缀会变为https:/前缀,少了一个反斜杠/,导致自己通过completeFilePathWithURL或KTVHCDataLoader这个类提前下载的文件缓存没有用到。

ClayGuitar avatar Mar 23 '24 18:03 ClayGuitar