ChangbaDevs / KTVHTTPCache

A powerful media cache framework.
MIT License
2.35k stars 435 forks source link

预下载10%,遇到了部分链接无法播放缓存的问题 #137

Closed longitachi closed 4 years ago

longitachi commented 4 years ago

作者你好,最近做视频预加载的需求,就用到了框架中所提供的这个方法

/**
 *  Create the data loader for the request.
 *
 *  @param request : The request of the expected data.
 *  @return The data loader for request.
 */
+ (KTVHCDataLoader *)cacheLoaderWithRequest:(KTVHCDataRequest *)request;

我在网络好的情况下,下载10%的数据,然后断网测试能否播放。 最后发现项目中给的几个唱吧的url和网上随便找的url均可以播放,但是我们app中的视频url就不可以。 url如下http://i4.chuimg.com/a58544f2612811eaa4c002420a001018_720w_720h.mp4

我在沙盒中把缓存的片段拿出来,在IINA播放器中播放,会显示 无法打开文件或流 的提示。请教下,这个可能是什么原因导致的?

alaiyeshi commented 4 years ago

http://i4.chuimg.com/a58544f2612811eaa4c002420a001018_720w_720h.mp4的moov box在尾上,依靠下载的10%数据无法得到解码器需要的参数,需要用ffmpeg的faststart处理一下。

longitachi commented 4 years ago

@alaiyeshi 太谢谢了👍

demoker commented 4 years ago

http://i4.chuimg.com/a58544f2612811eaa4c002420a001018_720w_720h.mp4的moov box在尾上,依靠下载的10%数据无法得到解码器需要的参数,需要用ffmpeg的faststart处理一下。

@longitachi 请问这个faststart是iOS端去处理吗 还是说后台那边对链接对应的视频进行这个处理?能否指点一下具体操作步骤,谢谢!

longitachi commented 4 years ago

@demoker 传视频到你们服务器的时候提前用FFmpeg处理好